# DVX Configuration Files Runtime configuration, theme files, wallpaper images, and module dependency files. These are copied into `bin/config/` (INI, themes, wallpapers) or `bin/libs/` and `bin/widgets/` (dep files) during the build. Text files are converted to DOS line endings (CR+LF) via sed. ## Files | Source File | Build Output | Description | |-------------|-------------|-------------| | `dvx.ini` | `bin/config/dvx.ini` | System configuration | | `ASSOC.INI` | `bin/config/ASSOC.INI` | File associations: which program opens each document type (shellAssoc.h; edited on the Control Panel's File Types page) | | `themes/cde.thm` | `bin/config/themes/cde.thm` | CDE color theme | | `themes/geos.thm` | `bin/config/themes/geos.thm` | GEOS Ensemble theme | | `themes/hotdog.thm` | `bin/config/themes/hotdog.thm` | Hot Dog Stand theme | | `themes/win31.thm` | `bin/config/themes/win31.thm` | Windows 3.1 theme | | `wpaper/blueglow.jpg` | `bin/config/wpaper/blueglow.jpg` | Wallpaper image | | `wpaper/swoop.jpg` | `bin/config/wpaper/swoop.jpg` | Wallpaper image | | `wpaper/triangle.jpg` | `bin/config/wpaper/triangle.jpg` | Wallpaper image | | `libdvx.dep` | `bin/libs/libdvx.dep` | libdvx dependency file | | `texthelp.dep` | `bin/libs/texthelp.dep` | texthelp dependency file | | `listhelp.dep` | `bin/libs/listhelp.dep` | listhelp dependency file | | `dvxshell.dep` | `bin/libs/dvxshell.dep` | dvxshell dependency file | | `textinpt.dep` | `bin/widgets/textinpt.dep` | TextInput widget dep file | | `combobox.dep` | `bin/widgets/combobox.dep` | ComboBox widget dep file | | `spinner.dep` | `bin/widgets/spinner.dep` | Spinner widget dep file | | `terminal.dep` | `bin/widgets/terminal.dep` | AnsiTerm widget dep file | | `dropdown.dep` | `bin/widgets/dropdown.dep` | Dropdown widget dep file | | `listbox.dep` | `bin/widgets/listbox.dep` | ListBox widget dep file | | `listview.dep` | `bin/widgets/listview.dep` | ListView widget dep file | | `treeview.dep` | `bin/widgets/treeview.dep` | TreeView widget dep file | | `basrt.dep` | `bin/libs/basrt.dep` | BASIC runtime dep file | | `serial.dep` | `bin/libs/serial.dep` | Serial communications dep file | ## dvx.ini Format Standard INI format with `[section]` headers and `key = value` pairs. Comments start with `;`. The shell loads this at startup via `prefsLoad("CONFIG/DVX.INI")`. ### [video] Section | Key | Default | Description | |-----|---------|-------------| | `width` | 640 | Requested horizontal resolution | | `height` | 480 | Requested vertical resolution | | `bpp` | 16 | Preferred color depth (8, 15, 16, 24, 32) | The system picks the closest available VESA mode. If that mode cannot be set, or a Shift key is held while DVX starts (or `DVX /SAFE`), the shell starts in safe video mode (640x480, 16 bpp or the closest the card has) and asks whether to write that mode here. ### [mouse] Section | Key | Default | Values | Description | |-----|---------|--------|-------------| | `wheel` | normal | normal, reversed | Scroll wheel direction | | `wheelspeed` | 3 | 1-10 | Lines scrolled per wheel notch | | `doubleclick` | 500 | 200-900 | Double-click speed (ms) | | `acceleration` | medium | off, low, medium, high | Mouse acceleration | | `speed` | 8 | 2-32 | Mickeys per 8 pixels of pointer travel (lower = faster pointer) | ### [shell] Section | Key | Default | Description | |-----|---------|-------------| | `desktop` | apps/kpunch/progman/progman.app | Path to the desktop app loaded at startup | | `welcome` | (none) | Program started after the desktop; the shipped file names the Welcome window, which deletes the key when the user ticks "Don't show this again" | ### [colors] Section All 20 system colors as `R,G,B` triplets (0-255). Missing keys use compiled-in defaults. | Key | Description | |-----|-------------| | `desktop` | Desktop background | | `windowFace` | Window frame and widget face | | `windowHighlight` | Bevel highlight (top/left) | | `windowShadow` | Bevel shadow (bottom/right) | | `activeTitleBg` | Focused window title bar background | | `activeTitleFg` | Focused window title bar text | | `inactiveTitleBg` | Unfocused window title bar background | | `inactiveTitleFg` | Unfocused window title bar text | | `contentBg` | Content area background | | `contentFg` | Content area text | | `menuBg` | Menu background | | `menuFg` | Menu text | | `menuHighlightBg` | Menu selection background | | `menuHighlightFg` | Menu selection text | | `buttonFace` | Button face color | | `scrollbarBg` | Scrollbar background | | `scrollbarFg` | Scrollbar foreground | | `scrollbarTrough` | Scrollbar track color | | `cursorColor` | Mouse cursor foreground | | `cursorOutline` | Mouse cursor outline | ### [desktop] Section | Key | Default | Values | Description | |-----|---------|--------|-------------| | `wallpaper` | (none) | file path | Path to wallpaper image | | `mode` | stretch | stretch, tile, center | Wallpaper display mode | ### [network] Section Read by the networking library (dvxnet) when the stack starts; the Control Panel's Network page edits it. | Key | Default | Values | Description | |-----|---------|--------|-------------| | `dhcp` | true | true, false | Get the address from a DHCP server | | `address` | (none) | dotted IPv4 | Static address (dhcp = false) | | `netmask` | (none) | dotted IPv4 | Static subnet mask (dhcp = false) | | `gateway` | (none) | dotted IPv4 | Static default gateway (optional) | | `dns1`, `dns2` | (none) | dotted IPv4 | Name servers; they win over the DHCP server's | | `hostname` | DVX | text | Name sent to the DHCP server and returned by gethostname() | | `vector` | auto | auto, 0x60-0x80 | Packet driver interrupt | ### [printer] Section Read by the printing library (print.lib) for every print; the Control Panel's Printer page edits the port and model, File > Page Setup (and the Printer page's Page Setup button) the rest. A page setup that cannot work (margins leaving no room, values out of range) is ignored as a whole in favour of the defaults. | Key | Default | Values | Description | |-----|---------|--------|-------------| | `port` | LPT1 | LPT1, LPT2, LPT3, FILE | Where printed output goes | | `file` | PRINTER.PRN | file path | The file used with port = FILE | | `model` | text | text, epson9, epson24, laserjet | Printer model; all but text print pictures | | `linesPerPage` | 0 | 0, 10-200 | Lines per page; 0 = the model's usual length (66, laser 60) | | `columns` | 80 | 20-255 | Characters across the page | | `marginTop`, `marginBottom` | 3 | lines | Top and bottom margins (header / footer in their middle line) | | `marginLeft`, `marginRight` | 5 | characters | Left and right margins | | `tabWidth` | 8 | 1-16 | Tab stops for printed text | | `wrap` | true | true, false | Wrap long lines at a word, or cut them off | | `header`, `footer` | &f, Page &p | text | &f file name, &p page, &n pages, &d date, &t time, &l &c &r left / centre / right, && an ampersand | ## Theme Files (.thm) Theme files use the same INI format as dvx.ini but contain only a `[colors]` section with the 20 color keys. The Control Panel can load and save themes via `dvxLoadTheme()` / `dvxSaveTheme()`. Bundled themes: | File | Description | |------|-------------| | `cde.thm` | CDE (Common Desktop Environment) -- warm tan/blue palette | | `geos.thm` | GEOS Ensemble -- cyan/grey palette | | `hotdog.thm` | Hot Dog Stand -- the infamous yellow/red/black palette | | `win31.thm` | Windows 3.1 -- grey/navy palette | ## Dependency Files (.dep) Plain text files listing module base names that must be loaded before this module. One name per line. Empty lines and `#` comments are ignored. Names are case-insensitive. ### Library Dependencies | Dep File | Module | Dependencies | |----------|--------|--------------| | `libdvx.dep` | libdvx.lib | libtasks | | `texthelp.dep` | texthelp.lib | libtasks, libdvx | | `listhelp.dep` | listhelp.lib | libtasks, libdvx | | `dvxshell.dep` | dvxshell.lib | libtasks, libdvx, texthelp, listhelp | | `basrt.dep` | basrt.lib | libtasks, libdvx | | `serial.dep` | serial.lib | libtasks, libdvx | ### Widget Dependencies | Dep File | Widget | Dependencies | |----------|--------|--------------| | `textinpt.dep` | textinpt.wgt | texthelp | | `combobox.dep` | combobox.wgt | texthelp, listhelp | | `spinner.dep` | spinner.wgt | texthelp | | `terminal.dep` | terminal.wgt | texthelp | | `dropdown.dep` | dropdown.wgt | listhelp | | `listbox.dep` | listbox.wgt | listhelp | | `listview.dep` | listview.wgt | listhelp | | `treeview.dep` | treeview.wgt | listhelp | ## Wallpaper Images | File | Description | |------|-------------| | `wpaper/blueglow.jpg` | Blue gradient glow | | `wpaper/swoop.jpg` | Curved swoosh pattern | | `wpaper/triangle.jpg` | Geometric triangle pattern | Wallpapers support BMP, PNG, JPEG, and GIF formats. They are pre-rendered to screen dimensions in native pixel format at load time.