mirror of
https://github.com/BoredDevNL/BoredOS.git
synced 2026-05-15 10:48:38 +00:00
* Add cursor rendering section to window manager documentation * Add cursor scale system commands to syscalls.md * Add settings documentation for BoredOS * Document cross-compiler build instructions for Linux * Create README.md for BoredOS architecture documentation * Update Architecture Overview link in README * Reorganize Color Settings section in settings.md
100 lines
3.1 KiB
Markdown
100 lines
3.1 KiB
Markdown
# Settings
|
||
|
||
Settings is a system configuration application providing a graphical interface to manage BoredOS preferences across multiple categories.
|
||
|
||
## Main Menu
|
||
|
||
The Settings application presents seven configuration categories, each with its own icon and panel:
|
||
|
||
- **Wallpaper** — Manage desktop background images and patterns
|
||
- **Network** — Configure network interfaces and connectivity
|
||
- **Desktop** — Control desktop layout and icon alignment
|
||
- **Mouse** — Adjust mouse speed and cursor appearance
|
||
- **Fonts** — Browse and select system fonts
|
||
- **Display** — Configure screen resolution
|
||
- **Keyboard** — Select keyboard layout
|
||
|
||
## Wallpaper
|
||
|
||
### Image Selection
|
||
|
||
- Browse wallpapers stored in `/Library/images/Wallpapers/`
|
||
- Supported formats: JPEG (`.jpg`)
|
||
- Thumbnails (80×50 pixels) are generated for preview
|
||
- Selected wallpaper is applied immediately to the desktop background
|
||
|
||
### Patterns
|
||
|
||
The Wallpaper panel provides built-in pattern options:
|
||
|
||
- **Lumberjack Pattern** — Checkered pattern with red, dark grey, and black colors
|
||
- **Blue Diamond Pattern** — Geometric diamond design
|
||
|
||
Patterns are rendered procedurally (128×128 pixels) and can be applied as alternatives to image wallpapers.
|
||
|
||
### Color Settings
|
||
|
||
Six color presets are available for quick selection, with RGB textbox inputs for custom color values.
|
||
|
||
|
||
## Network
|
||
|
||
### Configuration
|
||
|
||
- Set static IP address via textbox input
|
||
- Configure DNS server address
|
||
- Network status is displayed after initialization
|
||
- Settings are applied through the `NET_INIT`, `NET_SET_IP`, and `NET_SET_DNS` controls
|
||
|
||
## Desktop
|
||
|
||
### Layout Control
|
||
|
||
- **Snap to Grid** — Enable/disable automatic icon alignment to grid positions
|
||
- **Auto Align** — Automatically reorganize icons when enabled
|
||
- **Columns** — Adjust maximum number of columns for icon layout (configurable with +/- buttons)
|
||
- **Rows per Column** — Set maximum rows within each column
|
||
|
||
Desktop grid settings are stored as `desktop_max_rows_per_col` and `desktop_max_cols`.
|
||
|
||
## Mouse
|
||
|
||
### Cursor Control
|
||
|
||
- **Mouse Speed** — Adjust pointer movement sensitivity
|
||
- **Cursor Scale** — Increase or decrease cursor size using +/− buttons
|
||
- Settings communicates with the kernel WM using `SYSTEM_GET_CURSOR_SCALE` and `SYSTEM_SET_CURSOR_SCALE` syscalls
|
||
- Cursor changes are applied instantly and visibly in real-time
|
||
|
||
## Fonts
|
||
|
||
### System Fonts
|
||
|
||
- Browse available fonts from `/Library/Fonts/`
|
||
- Font list is dynamically loaded with scrollbar for navigation
|
||
- Each font displays an icon and name
|
||
- Fonts are listed with entry structures containing path and name information
|
||
|
||
## Display
|
||
|
||
### Resolution Selection
|
||
|
||
- Choose from dynamic resolution options based on physical screen size:
|
||
- 50% of screen resolution
|
||
- 75% of screen resolution
|
||
- Full screen resolution (100%)
|
||
- Custom resolution entry via textbox (width and height)
|
||
- Apply button commits the selected resolution change
|
||
|
||
|
||
## Keyboard
|
||
|
||
### Layout Selection
|
||
|
||
- Available keyboard layouts can be selected from a dropdown
|
||
- Layout state is maintained as `keyboard_layout`
|
||
- Selection applies to system-wide keyboard input
|
||
|
||
---
|
||
|
||
[Return to Documentation Index](../README.md)
|