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/Udt.qml | |
| 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/Udt.qml')
| -rw-r--r-- | appearance/Udt.qml | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/appearance/Udt.qml b/appearance/Udt.qml index 81e6427..d4747aa 100644 --- a/appearance/Udt.qml +++ b/appearance/Udt.qml @@ -127,27 +127,27 @@ Singleton { } } - // Switching writes the scheme line and regenerates every config. Nothing - // is reloaded here: install.sh reloads nothing itself, and which apps to - // signal is the panel's message to the user rather than its job. + // Switching writes the scheme line and regenerates every config; + // install.sh also reloads what is running. Its whole output becomes the + // `install` tab of the steps window, through udt-steps, so the root steps + // it prints can be copied from there. function apply(scheme) { if (applying || scheme === current) return; applying = true; applyProc.scheme = scheme; - applyProc.command = ["sh", "-c", + applyProc.command = ["bash", "-o", "pipefail", "-c", `sed -i 's|^scheme *=.*|scheme = ${scheme}|' ${JSON.stringify(root.selector)} && ` + - `${JSON.stringify(root.repo)}/install.sh`]; + `${JSON.stringify(root.repo)}/install.sh 2>&1 | ${JSON.stringify(root.repo)}/bin/udt-steps install`]; applyProc.running = true; } Process { id: applyProc property string scheme: "" - stderr: StdioCollector { id: applyErr } onExited: code => { root.applying = false; root.applied(applyProc.scheme, code === 0, - code === 0 ? "" : (applyErr.text.trim() || `install.sh exited ${code}`)); + code === 0 ? "" : `install.sh exited ${code}, its output is in the steps window`); } } } |
