diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-29 11:56:15 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-29 11:56:15 +0200 |
| commit | 2d7b18d52ee7e7f1aac132180b7eb3b951735668 (patch) | |
| tree | 735e3a35be639b987800c9ab5e6646504ae3b0cf /appearance/README.md | |
| parent | 9b83656e3e3d164fc75bbf679cf32357375660c4 (diff) | |
| download | quickshell-2d7b18d52ee7e7f1aac132180b7eb3b951735668.tar.gz quickshell-2d7b18d52ee7e7f1aac132180b7eb3b951735668.zip | |
feat(appearance): steps window, icon regen, cursor out of hypr-theme
StepsWindow shows unified-desktop-theme's pending manual steps, one tab per
consumer, centred on DP-3 on the top layer with on-demand focus so it can
stay open while commands are pasted elsewhere. udt-steps writes the files
and calls the new `steps` IPC verb; indented lines become command blocks
with a copy button. The Theme tab pipes install.sh's output into it.
The icon switch now also reruns udt-accent (SDDM power icons) and
waybar-theme-udt's install.sh (taskbar theme, module icons), chained after
the gsettings write both read. Cursor changes write ~/.config/udt/cursor.lua
instead of editing hypr-theme's tracked environment.lua.
The theme notice and the Udt.qml comment claimed install.sh reloads
nothing; it reloads Hyprland, waybar, kitty and conky now.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'appearance/README.md')
| -rw-r--r-- | appearance/README.md | 46 |
1 files changed, 36 insertions, 10 deletions
diff --git a/appearance/README.md b/appearance/README.md index 85fe5d7..a152a03 100644 --- a/appearance/README.md +++ b/appearance/README.md @@ -26,7 +26,7 @@ be running for the keybind to work: Write that path out in full in the real config: `exec_cmd` has no shell to expand `~`. `ipc call appearance theme` opens the Theme tab. -IPC verbs: `wallpaper`, `theme`, `sunset`, `idle`, `icons`. +IPC verbs: `wallpaper`, `theme`, `sunset`, `idle`, `icons`, `steps`. ## Sunset @@ -52,12 +52,19 @@ Xcursor binary via `xcur2png`, so a card shows the cases that tell themes apart. Hovering a card changes the real cursor and reverts it on leave. Applying writes `gsettings` (which GTK3 and GTK4 both read), the Qt configs -(`qt6ct`/`qt5ct`), and, for cursors, `environment.lua`. The GTK theme names do +(`qt6ct`/`qt5ct`), and, for cursors, `~/.config/udt/cursor.lua`, which +hypr-theme's `environment.lua` `dofile()`s at login. A local file rather than +an edit to `environment.lua`, which is tracked and was left dirty by every +cursor switch. The GTK theme names do not come from `gsettings` alone here, so the drawer also rewrites `gtk-3.0/settings.ini` and `gtk-4.0/settings.ini` to match. Apps and a relogin -are needed to see the rest. The theme name is still hardcoded in -`unified-desktop-theme`, `waybar-theme-udt` and rofi, which is tracked as a -follow-up in those repos. +are needed to see the rest. + +An icon switch also regenerates the two consumers that resolve icons by name +when they are generated rather than when they run: `udt-accent` rewrites the +SDDM power icons, and waybar-theme-udt's `install.sh` rewrites the taskbar +theme and the module icons, then waybar is sent `SIGUSR2`. Both are chained +after the `gsettings` write in one shell, since both read it. ## Wallpapers @@ -100,11 +107,30 @@ opens: this shell is autostarted and runs all session, so a scan done only at startup would go stale the first time anything was added. Applying writes the `scheme =` line in `~/.config/udt/roles.conf` and runs -`install.sh`, which regenerates every themed config. **It reloads nothing**, -because `install.sh` reloads nothing: the panel reports what is still showing -the old scheme instead of pretending the switch is complete. `hyprctl reload`, -waybar, kitty and conky each need a nudge, and Qt and GTK apps only reread a -theme when they restart. +`install.sh`, which regenerates every themed config and reloads Hyprland, +waybar, kitty and conky. Its whole output becomes the `install` tab of the +steps window below. The notice names what is left: Qt and GTK apps only reread +a theme when they restart, and neovim needs `:colorscheme udt`. + +## Steps + +A separate window, `StepsWindow.qml`, for the manual steps +unified-desktop-theme cannot run itself: the root copies into `/boot` and +`/usr/share/sddm`, the finish on the homepage host, and the last `install.sh` +log. Its `udt-steps` writes one file per consumer under `~/.cache/udt/steps/` +and calls the `steps` verb, which reloads the tabs and opens the window if any +remain; an empty file set closes it. Nothing is watched: the poke is the +signal. The same verb reopens it after Close. + +Centred on DP-3, on the `top` layer with on-demand keyboard focus, so it can +stay open while commands are pasted into a terminal elsewhere. A line indented +two spaces is a command block with a Copy button (`wl-copy`), and the text is +selectable too. Done deletes the tab's file; the producer also clears it once +its consumer is up to date. + +The window's height comes from its content, so the scroll area is capped +against the screen and never against the window: binding it to the window's +own height collapsed the window to its margins. ## Two QML traps met here |
