From 2d7b18d52ee7e7f1aac132180b7eb3b951735668 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 29 Sep 2026 11:56:15 +0200 Subject: 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 --- appearance/Udt.qml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'appearance/Udt.qml') 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`); } } } -- cgit v1.2.3