aboutsummaryrefslogtreecommitdiffstats
path: root/appearance/Udt.qml
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/Udt.qml
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/Udt.qml')
-rw-r--r--appearance/Udt.qml14
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`);
}
}
}