hyprland: prepend PATH, gate idle inhibitors, allow lock restore

- Prepend ~/.local/bin to PATH so user scripts (hyprlock wrapper,
  weather.sh) resolve before system binaries.
- Gate dpms-off and suspend on lock screen running (condition_cmd)
  so idle inhibitors from apps work while unlocked but screen still
  blanks and machine suspends after lock.
- Enable allow_session_lock_restore so a crashed lock client can be
  replaced.
- Temporarily enable debug logging to diagnose re-lock issues.
This commit is contained in:
2026-08-18 08:02:16 -06:00
parent 21dbb16e8b
commit 9e310d2f58
3 changed files with 22 additions and 0 deletions
+12
View File
@@ -23,14 +23,26 @@ listener {
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
# The dpms-off and suspend listeners ignore idle inhibitors (Steam, browsers,
# etc. hold them) so the screen still blanks and the machine still suspends
# after the screen is locked -- otherwise a held inhibitor would keep the
# locked screen on forever. `condition_cmd` gates them on the lock screen
# actually running, so inhibitors keep working as intended while unlocked
# (e.g. a video keeps the screen awake).
listener {
timeout = 330 # 5.5min
ignore_inhibit = true # fire even while apps hold idle inhibitors
condition_cmd = pidof hyprlock > /dev/null # ...but only once the session is locked
condition_retry = 30 # if not locked yet, re-check every 30s while idle
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected after timeout has fired.
}
listener {
timeout = 1800 # 30min
ignore_inhibit = true # fire even while apps hold idle inhibitors
condition_cmd = pidof hyprlock > /dev/null # ...but only while the session is locked
condition_retry = 60 # if not locked yet, re-check every 60s while idle
on-timeout = systemctl suspend # suspend pc
}