9e310d2f58
- 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.
49 lines
2.6 KiB
Plaintext
49 lines
2.6 KiB
Plaintext
# https://wiki.hypr.land/Hypr-Ecosystem/hypridle/
|
|
general {
|
|
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
|
|
before_sleep_cmd = loginctl lock-session # lock before suspend.
|
|
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
|
|
}
|
|
|
|
listener {
|
|
timeout = 150 # 2.5min.
|
|
on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
|
on-resume = brightnessctl -r # monitor backlight restore.
|
|
}
|
|
|
|
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
|
|
listener {
|
|
timeout = 150 # 2.5min.
|
|
on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
|
|
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
|
|
}
|
|
|
|
listener {
|
|
timeout = 300 # 5min
|
|
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
|
|
}
|
|
|