diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-17 10:16:40 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-17 10:16:40 +0200 |
| commit | 70bbc970c75221c902c515efd124c47fd702e3b7 (patch) | |
| tree | d35f6b1ffbb506b65430af7fc1eca2c432879a22 /desktop/README.md | |
| parent | e5399f3e8d8572f1db7c4391a7c571d4845500f1 (diff) | |
| download | quickshell-70bbc970c75221c902c515efd124c47fd702e3b7.tar.gz quickshell-70bbc970c75221c902c515efd124c47fd702e3b7.zip | |
appearance moves into the settings window
The appearance shell existed because a wallpaper picker needed more room
than the 600px drawer, so it ran as its own process with a full-screen
overlay. The settings window now gives it that room, and its five tabs
become five settings pages in the desktop process: Wallpaper, Theme,
Icons & cursor, Sunset and Idle. appearance/ is gone, and with it a
process, a keepalive window and a layer blur rule.
The files move to desktop/modules/appearance/ unchanged in what they do.
Each tab gets a small *Module.qml; the window's refresh-on-open calls the
singletons' refresh(), which the panel's show() used to. The two tabs that
were inline Components in AppearancePanel become ThemeTab and
WallpaperTab, owning the notices the panel printed. Sunset, Idle and
Icons drop their own Flickable so the page scrolls them and search can
reveal a row; the wallpaper list virtualises its rows and scrolls itself,
so it takes the page's new viewHeight instead.
Search finds a colour scheme and an icon or cursor theme by name.
The appearance IPC target moves to desktop/shell.qml with the same verbs,
so udt-steps and any keybind change only the path. Git now follows the
appearance pages and autostart in the sidebar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/README.md')
| -rw-r--r-- | desktop/README.md | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/desktop/README.md b/desktop/README.md index 089f86f..1295746 100644 --- a/desktop/README.md +++ b/desktop/README.md @@ -61,7 +61,7 @@ and flashes it, so a page needs no highlight code of its own. modules/kdeconnect/ devices, battery, pairing, ping, clipboard, share, mount modules/mail/ unread per account, threads, the watcher dot modules/vm/ libvirt state, live stats, snapshots - modules/appearance/ a tile that opens the separate appearance shell + modules/appearance/ wallpaper, theme, icons, sunset, idle: settings pages modules/ai/ local AI engines, start/stop for the apps using them modules/perf/ CPU, temperatures, GPU, network, disks, ~/.cache modules/user/ the greeting row and the user's details page @@ -70,8 +70,7 @@ and flashes it, so a page needs no highlight code of its own. modules/autostart/ Hyprland's autostart.lua, in the settings window Sound, mail, vm, network, bluetooth, kdeconnect and ai each carry their own README. -Appearance is a tile onto the separate appearance shell, whose README covers the -picker it opens. +So does appearance, for its five settings pages. ## Writing a module @@ -98,11 +97,11 @@ which: it reads those properties and does the obvious thing. A page is wrapped in `Page.qml` for the header and back arrow, and a tile with no page is fire-and-forget, so its click calls `activate()` and closes the drawer. -`modules/appearance/AppearanceModule.qml` is the smallest complete example: a -name, an icon, a label, and an `activate()` that launches the separate -appearance shell. It has no page, and it owns only a `Process` that fires the -picker on click, no always-active service. Sound, mail, vm, network, bluetooth -and kdeconnect each add a service and a page on top of that same shape. +The settings gear in `shell.qml` is the smallest complete example: a name, an +icon, and an `activate()` that opens the settings window, with no page and no +service. Sound, mail, vm, network, bluetooth and kdeconnect each add a service +and a page on top of that same shape; `modules/appearance/ThemeModule.qml` is +a small settings page. Module files live under `desktop/modules/<name>/` and reference root types (`Module`, `Page`, `Button`, `Theme`), so each needs `import "../.."`. A plain @@ -149,7 +148,8 @@ below it sits where it will sit once notifications arrive. The bottom is a fourth row scrolls inside that box rather than pushing into the notification space, and a thin accent bar in the margin shows only when a row is hidden. The order is Sound, Network, Bluetooth, KDE Connect, Mail, Status, -Performance, Clipboard, VMs, AI, Appearance, the everyday ones first. +Performance, Clipboard, VMs, AI, then the settings gear, the everyday ones +first. A page can close the whole drawer by emitting `dismiss` from its `Page`, as the clipboard does after a copy; `back` returns to the grid. |
