aboutsummaryrefslogtreecommitdiffstats
path: root/AGENTS.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-29 11:56:14 +0200
committerDanilo M. <danix@danix.xyz>2026-09-29 11:56:14 +0200
commit3bcadc0fd35cb1e077a77c847bbc044ca2fabce3 (patch)
tree9cc8bb74806eb266b0244c40858dfa0b9e9026e2 /AGENTS.md
parentff7dcf3ef2338a0aef1856a33da06d1a92c2434c (diff)
downloadunified-desktop-theme-3bcadc0fd35cb1e077a77c847bbc044ca2fabce3.tar.gz
unified-desktop-theme-3bcadc0fd35cb1e077a77c847bbc044ca2fabce3.zip
feat(steps): hand pending root steps to a quickshell window
Notification balloons carried the GRUB and homepage root commands, but a balloon cannot stay open while its commands are pasted into a root shell. bin/udt-steps NAME writes a consumer's pending steps to ~/.cache/udt/steps/NAME and pokes quickshell's appearance shell, which shows one tab per file on DP-3. Empty stdin clears the tab, so producers report on every run and a consumer that caught up drops out by itself. udt-grub and udt-homepage now route through it. install.sh's SDDM block checks what is installed and reports only the steps still missing, rather than printing the full install on every run. udt-homepage remembers the last staged pair, since udt-accent now also runs on icon switches, which change neither file and would re-raise the finish steps for nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md22
1 files changed, 19 insertions, 3 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 6218fb6..07ca2b3 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -28,7 +28,7 @@ one symlink. A real `~/.config/hypr` directory is left alone with a warning.
not a link, because GRUB reads `/boot` before `/home` is mounted, so it goes
stale on a scheme or wallpaper change. `install.sh` runs `udt-grub` in the
foreground and `udt-accent` starts it detached, and when an installed theme
-differs from the new build the root command arrives as a notification.
+differs from the new build the root command lands in the steps window.
Its panel title is `PRETTY_HOSTNAME` from `/etc/machine-info`, which
`bin/udt-machine-name` writes (root, run by the user; there is no
hostnamectl without systemd). It rewrites that one key and keeps the rest.
@@ -143,8 +143,10 @@ as `background.<ext>` with its own extension, and the finish command rewrites
change and a scheme switch without holding either up; a five second timeout
and silence when the host is down keep it harmless off that network. It stages
only: `/opt/homepage` is root-owned, and the final copy plus a `systemctl
-restart homepage` is a manual step, whose command arrives as a desktop
-notification. homepage's `settings.yaml` must keep `color: gray`, the
+restart homepage` is a manual step, whose commands land in the steps window.
+An identical stylesheet and wallpaper pair is not staged twice
+(`~/.cache/udt/homepage.staged`), so a run that changed neither, an icon
+switch for one, raises no tab. homepage's `settings.yaml` must keep `color: gray`, the
theme class the generated CSS targets. The last is
imported by `udt-accent`, which is why its accent table follows the scheme.
@@ -162,6 +164,20 @@ because both failures shipped: a role set can drift silently, and a palette
that resolves can still emit a theme rofi refuses to parse, which stops every
launcher on the desktop.
+## The steps window
+
+What this repo cannot do itself, it hands over: `bin/udt-steps NAME` takes a
+consumer's pending steps on stdin, writes them to `~/.cache/udt/steps/NAME`
+and pokes quickshell's appearance shell (`ipc call appearance steps`), which
+shows one tab per file in a window centred on DP-3. Empty stdin clears the
+tab, so each producer reports on every run and a consumer that caught up
+disappears by itself. The producers are `udt-grub`, `udt-homepage`,
+`install.sh`'s SDDM block (only the steps still missing), and the appearance
+panel's Theme tab, which pipes all of `install.sh`'s output into an `install`
+tab. A line indented two spaces is a command with a copy button; the rest is
+prose. It replaced notification balloons, which could not be kept open while
+pasting into a root shell.
+
## The accent
One colour moves: `@accent`. `bin/udt-accent` reads the current wallpaper,