# 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 |
| `themes/cde.thm` | `bin/config/themes/cde.thm` | CDE color theme |
| `themes/geos.thm` | `bin/config/themes/geos.thm` | GEOS Ensemble 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.

### [mouse] Section

| Key | Default | Values | Description |
|-----|---------|--------|-------------|
| `wheel` | normal | normal, reversed | Scroll wheel direction |
| `doubleclick` | 500 | 200-900 | Double-click speed (ms) |
| `acceleration` | medium | off, low, medium, high | Mouse acceleration |

### [shell] Section

| Key | Default | Description |
|-----|---------|-------------|
| `desktop` | apps/progman/progman.app | Path to the desktop app loaded at startup |

### [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 |


## 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 |
| `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.
