diff options
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`); } } } |
