aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/status/test-statusctl.sh
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-17 14:39:06 +0200
committerDanilo M. <danix@danix.xyz>2026-09-17 14:39:06 +0200
commite81c248c6243719f62b426dd68b0a74dc5b912d8 (patch)
treeb72f25252d054e14b9e1c450018c389859e1779b /desktop/modules/status/test-statusctl.sh
parentd7a8b0e7eeac3575b05d1ae5bea4473177de30a1 (diff)
downloadquickshell-e81c248c6243719f62b426dd68b0a74dc5b912d8.tar.gz
quickshell-e81c248c6243719f62b426dd68b0a74dc5b912d8.zip
fix(status): read a missing state file as off, not down
statusctl watch reported class "down" for a missing state file and waybar's presentation rule drew a warning for it. That fires on every fresh session, before anything has written a file, which is the normal off state the registry's own invariant describes. The state was meant to flag a dead registry, but a crashed shell leaves a stale present file, not a missing one, so it never caught that case. get already read a missing file as 0; watch now matches it and the down state is gone.
Diffstat (limited to 'desktop/modules/status/test-statusctl.sh')
-rwxr-xr-xdesktop/modules/status/test-statusctl.sh6
1 files changed, 4 insertions, 2 deletions
diff --git a/desktop/modules/status/test-statusctl.sh b/desktop/modules/status/test-statusctl.sh
index 3b8f7ba..82e2de1 100755
--- a/desktop/modules/status/test-statusctl.sh
+++ b/desktop/modules/status/test-statusctl.sh
@@ -73,7 +73,9 @@ kill "$watcher" 2>/dev/null
wait "$watcher" 2>/dev/null
check "watch reports activated" "1" "$(grep -c '"class": *"activated"' "$out")"
-# A missing file is reported as down, distinct from a mode that is off.
+# A missing file is the off state, so the absent-file watch reports off rather
+# than a distinct warning: a fresh session has no file until something writes
+# one, and that is the normal state.
rm -f "$tmp/status.presentation"
out2="$tmp/watch2.out"
"$ctl" presentation watch > "$out2" 2>/dev/null &
@@ -81,7 +83,7 @@ watcher2=$!
sleep 0.5
kill "$watcher2" 2>/dev/null
wait "$watcher2" 2>/dev/null
-check "watch reports down when absent" "1" "$(grep -c '"class": *"down"' "$out2")"
+check "watch reports deactivated when absent" "1" "$(grep -c '"class": *"deactivated"' "$out2")"
printf '\n%d passed, %d failed\n' "$pass" "$fail"
[[ "$fail" -eq 0 ]]