Build the Panama Hyprland desktop
This commit is contained in:
Executable
+40
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
fail() {
|
||||
printf 'focus-session restart: %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
|
||||
qs ipc call focus pause >/dev/null
|
||||
before=$(qs ipc call focus status)
|
||||
|
||||
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 == true and .paused == true' <<<"$status" >/dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 0.2
|
||||
done
|
||||
|
||||
jq -e '.active == true' <<<"$status" >/dev/null || fail 'active session was not restored'
|
||||
jq -e '.paused == true' <<<"$status" >/dev/null || fail 'paused state was not restored'
|
||||
[[ "$(jq -r .remaining <<<"$status")" == "$(jq -r .remaining <<<"$before")" ]] || fail 'paused remainder changed across restart'
|
||||
jq -e '.doNotDisturb == true' <<<"$status" >/dev/null || fail 'Do Not Disturb was not reclaimed'
|
||||
jq -e '.caffeine == true' <<<"$status" >/dev/null || fail 'Caffeine was not reclaimed'
|
||||
|
||||
cleanup
|
||||
trap - EXIT
|
||||
printf 'focus-session restart: PASS\n'
|
||||
Reference in New Issue
Block a user