Build the Panama Hyprland desktop
This commit is contained in:
Executable
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
repo_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
|
||||
fail() {
|
||||
printf 'activity-state contract: %s\n' "$1" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
activity() {
|
||||
qs ipc call activity status | jq -r ".${1}"
|
||||
}
|
||||
|
||||
event() {
|
||||
qs ipc call status-events status | jq -r ".${1}"
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
qs ipc call activity clear >/dev/null 2>&1 || true
|
||||
qs ipc call status-events reset >/dev/null 2>&1 || true
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
qs ipc show | rg -q '^target activity$' || fail 'activity IPC target is missing'
|
||||
rg -q 'StatusEvents.publish' "$repo_dir/config/dot/quickshell/services/Capture.qml" || fail 'capture does not publish recording transitions'
|
||||
rg -q 'status-events screenshot' "$repo_dir/config/dot/quickshell/services/Capture.qml" || fail 'successful screenshot path does not publish an event'
|
||||
rg -q 'StatusEvents.publish' "$repo_dir/config/dot/quickshell/services/NightLight.qml" || fail 'Night Light does not publish transitions'
|
||||
|
||||
qs ipc call status-events reset >/dev/null
|
||||
qs ipc call activity fixture microphone-on >/dev/null
|
||||
[[ "$(activity microphoneActive)" == "true" ]] || fail 'microphone state did not become persistent'
|
||||
[[ "$(event activeKey)" == "privacy-microphone" ]] || fail 'microphone transition did not publish Signal Glass event'
|
||||
|
||||
qs ipc call status-events dismiss >/dev/null
|
||||
[[ "$(activity microphoneActive)" == "true" ]] || fail 'capsule dismissal cleared persistent privacy state'
|
||||
|
||||
qs ipc call activity fixture all-off >/dev/null
|
||||
[[ "$(activity microphoneActive)" == "false" ]] || fail 'microphone state did not clear'
|
||||
[[ "$(event activeKey)" == "privacy-microphone" ]] || fail 'microphone release did not publish a transition'
|
||||
[[ "$(event title)" == "Microphone released" ]] || fail 'microphone release copy is incorrect'
|
||||
|
||||
trap - EXIT
|
||||
cleanup
|
||||
printf 'activity-state contract: PASS\n'
|
||||
Reference in New Issue
Block a user