Build the Panama Hyprland desktop

This commit is contained in:
Gabriel Brown
2026-08-17 10:32:55 -04:00
parent 67033f2a31
commit 5248883e4b
190 changed files with 18554 additions and 34 deletions
+41
View File
@@ -0,0 +1,41 @@
#!/usr/bin/env bash
set -euo pipefail
fail() {
printf 'focus-session expiry: %s\n' "$1" >&2
exit 1
}
cleanup() {
qs ipc call focus end >/dev/null 2>&1 || true
}
trap cleanup EXIT
qs ipc call focus end >/dev/null 2>&1 || true
qs ipc call focus start >/dev/null
state_file=$(find "${XDG_STATE_HOME:-$HOME/.local/state}/quickshell/by-shell" -name focus-session.json -print -quit)
[[ -n "$state_file" ]] || fail 'persistent state file was not created'
expired=$(mktemp "${state_file}.expired.XXXXXX")
jq '.paused = false | .deadlineMs = 1' "$state_file" >"$expired"
chmod --reference="$state_file" "$expired"
mv "$expired" "$state_file"
qs kill >/dev/null
qs --daemonize >/dev/null
status=""
for _ in $(seq 1 60); do
status=$(qs ipc call focus status 2>/dev/null || true)
if jq -e '.active == false' <<<"$status" >/dev/null 2>&1; then
break
fi
sleep 0.2
done
jq -e '.active == false and .caffeine == false and .doNotDisturb == false' <<<"$status" >/dev/null || fail 'expired session was not completed and released'
trap - EXIT
printf 'focus-session expiry: PASS\n'