aboutsummaryrefslogtreecommitdiffstats
path: root/appearance/README.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-29 11:56:15 +0200
committerDanilo M. <danix@danix.xyz>2026-09-29 11:56:15 +0200
commit2d7b18d52ee7e7f1aac132180b7eb3b951735668 (patch)
tree735e3a35be639b987800c9ab5e6646504ae3b0cf /appearance/README.md
parent9b83656e3e3d164fc75bbf679cf32357375660c4 (diff)
downloadquickshell-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.md46
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