Files
omarchycn/bin/omarchy-hyprland-monitor-watch
T
David Heinemeier Hansson 8f6e815c78 Recover internal monitor before sleep
Run internal monitor toggle recovery before the sleep lock path and retry recovery after Hyprland monitor removal events. This gives dock/lid-close races time to settle before suspend or external-display reconnects leave the session without a safe internal display fallback.
2026-06-21 15:42:24 +02:00

28 lines
641 B
Bash
Executable File

#!/bin/bash
# omarchy:summary=Watch Hyprland monitor events and recover monitor toggles when a monitor is removed
SOCKET="$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
recover_internal_monitor_toggles() {
omarchy-hyprland-monitor-internal recover
omarchy-hyprland-monitor-internal-mirror recover
}
recover_after_monitor_removal() {
recover_internal_monitor_toggles
(
sleep 1
recover_internal_monitor_toggles
) &
}
socat -U - "UNIX-CONNECT:$SOCKET" | while read -r event; do
case "$event" in
monitorremoved\>\>*|monitorremovedv2\>\>*)
recover_after_monitor_removal
;;
esac
done