Built-in settings dialog opened from a panel gear button

- New spawn_settings action + '≡ Inställningar' button in the default
  panel (≡ instead of ⚙ which has ambiguous character width): opens a
  singleton settings window
- Rows: theme (cycles built-in + themes/*.toml), panel (cycles
  panels/*.toml), shadow and scrollbar toggles — keyboard (arrows/
  Enter/Esc) and mouse (click selects, click again activates)
- Shows where config.toml, themes/ and panels/ live
- Changes apply immediately and persist to config.toml via toml_edit;
  the hot-reload watcher picks up the file writes for panels
- README and --help updated with switcher/snap/copy-mode/theme docs
- Integration suite: 30/30 (gear click, dialog opens, shadow toggle
  persisted to config.toml)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-15 19:48:04 +02:00
parent b1424da4fb
commit c9a4a8fc21
7 changed files with 334 additions and 2 deletions

View File

@@ -6,11 +6,15 @@ En terminal-baserad fönsterhanterare med flytande fönster, full mussuport och
- Flytande terminaler med fri positionering och storleksändring
- Full mussuport: vänster/höger/mitten-klick, scroll, drag, ANSI-muse-protokoll vidarebefordras till appar
- Scrollback-historik med scrollbar + copy-mode med sökning (`alt+c`)
- Fönsterväxlare i MRU-ordning (`alt+tab`/`alt+w`)
- Snap till halvskärm (`alt+left`/`alt+right` eller dra mot kanten) och maximera (`alt+up`/dubbelklick på titelraden)
- Teman i egna TOML-filer (`themes/`) + inbyggd inställningsdialog (kugghjulet `≡` i panelen)
- Hot-reload: config.toml, panel- och temafiler laddas om live när de ändras
- Panel (topp/botten) med klickbara knappar och dynamiska status-widgets
- Dropdown-menyer med undermenyer
- Körbar kommandodialog (`ctrl+space`)
- Dynamisk omrendering vid terminalstorlek-ändringar
- SSH-kompatibel (fungerar via vanliga ANSI escape-koder)
- SSH-kompatibel: daemon + display-klienter med full mus-forwarding
- Kompilerar till fristående binärer för Linux och Windows
## Teknikstack
@@ -85,6 +89,13 @@ Toppnivå-nycklar i `config.toml`:
| `show_scrollbar` | `true` | Scrollbar på terminalfönstrens högerkant |
| `background_image` | | Bakgrundsbild via Kitty graphics |
| `terminal_bg_color` | genomskinlig | Terminalfönstrens bakgrundsfärg |
| `theme` | inbyggt | Temafil, t.ex. `"themes/dark.toml"` — se `themes/` för exempel |
| `shadow` | `true` | Skugga under/till höger om fönster |
Alla dessa (plus panel- och temafiler) **hot-reloadas** — spara filen så
uppdateras TUI-WM inom en sekund, utan omstart. Kugghjulet `≡` i panelen
öppnar den inbyggda inställningsdialogen som ändrar tema/panel/skugga/
scrollbar och sparar till config.toml.
Konfigurationen delas upp i två nivåer: