fix: handle multiple Hyprland sockets in recovery/wake scripts

Both scripts used ls | head -1 to find the socket, which picks the wrong
(dead) session when old socket dirs linger. Now iterates over all sockets
and picks the one that actually responds.
This commit is contained in:
Jeena 2026-08-19 14:24:37 +09:00
parent 4e8a6fad37
commit 7d2a0100e9
2 changed files with 20 additions and 8 deletions

View file

@ -3,10 +3,16 @@
# Cycles DPMS only if the display was actually turned off (avoids flicker
# when the user returns before step 3 fires).
SIGNATURE=$(ls "$XDG_RUNTIME_DIR/hypr/" 2>/dev/null | head -1)
export HYPRLAND_INSTANCE_SIGNATURE=$SIGNATURE
export XDG_RUNTIME_DIR=/run/user/$(id -u)
# Find the active Hyprland socket (not old/stale ones)
for SIG in "$XDG_RUNTIME_DIR/hypr"/*/; do
[ -d "$SIG" ] || continue
SIGNAME=$(basename "$SIG")
export HYPRLAND_INSTANCE_SIGNATURE=$SIGNAME
hyprctl monitors >/dev/null 2>&1 && break
done
DPMS=$(hyprctl monitors 2>/dev/null | grep dpmsStatus | awk '{print $2}')
if [ "$DPMS" = "0" ]; then