diff options
| -rw-r--r-- | AGENTS.md | 10 | ||||
| -rwxr-xr-x | install.sh | 23 |
2 files changed, 25 insertions, 8 deletions
@@ -172,10 +172,12 @@ 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 +`install.sh`'s SDDM block (only the steps still missing), and `install.sh` +itself, which reruns itself as a child and hands its whole output to an +`install` tab on every run, whoever called it: the usual caller is the +appearance panel, not a terminal. So its output is written for that tab, a +summary rather than a file list. 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 @@ -7,6 +7,19 @@ set -euo pipefail repo="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" target="$HOME/.config/rofi/udt" +# Everything this prints also becomes the install tab of quickshell's steps +# window, from whichever caller: the usual one is the appearance panel, not a +# terminal, so the hints are assumed wanted on screen. The script reruns +# itself as a child so the output can be both shown live and kept whole. +if [ -z "${UDT_INSTALL_CHILD:-}" ]; then + log="$(mktemp)" + trap 'rm -f "$log"' EXIT + rc=0 + UDT_INSTALL_CHILD=1 "$repo/install.sh" "$@" 2>&1 | tee "$log" || rc=$? + "$repo/bin/udt-steps" install < "$log" + exit "$rc" +fi + mkdir -p "$target" "$HOME/bin" "$HOME/.cache/udt" # Merge an ini template into a live file key by key: every key the template @@ -59,7 +72,10 @@ if [ ! -f "$selector" ]; then install -Dm644 "$repo/palette/roles.conf.default" "$selector" echo "seeded $selector" fi -"$repo/bin/udt-palette" +# Only the summary line: the list of every generated file, 86 of them, buried +# the hints in the steps window. sed, not head: head would close the pipe +# early, and pipefail would read the SIGPIPE as a failed generation. +"$repo/bin/udt-palette" | sed -n 1p # Theme files are symlinked individually; accent.rasi is NOT, it points at the # generated file in the wal cache instead. @@ -356,7 +372,6 @@ fi echo "$repo/bin/udt-grub" +echo [ -n "$reloaded" ] && echo "reloaded:$reloaded" - -echo "installed:" -ls -l "$target" "$HOME/bin/udt-accent" +echo "Qt and GTK apps only reread a theme when they restart; neovim needs :colorscheme udt." |
