961733e127
hypridle pairs with hyprlock, honors idle inhibitors (video/calls no longer blank or lock the screen), and is config-file driven. Same staging as before: blank monitors @5m, lock @10m, suspend-then-hibernate @30m. Locks via 'loginctl lock-session' so the before-sleep lock is deduplicated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
31 lines
898 B
Plaintext
31 lines
898 B
Plaintext
general {
|
|
# Dedup: never stack a second hyprlock on top of an existing one
|
|
lock_cmd = pidof hyprlock || hyprlock
|
|
# Lock before the machine sleeps, restore monitors on wake
|
|
before_sleep_cmd = loginctl lock-session
|
|
after_sleep_cmd = niri msg action power-on-monitors
|
|
# Honor idle inhibitors (video, meetings, presentations) instead of
|
|
# blanking/locking through them — this is the swayidle behavior we lost.
|
|
ignore_dbus_inhibit = false
|
|
ignore_systemd_inhibit = false
|
|
}
|
|
|
|
# 5 min: blank the monitors
|
|
listener {
|
|
timeout = 300
|
|
on-timeout = niri msg action power-off-monitors
|
|
on-resume = niri msg action power-on-monitors
|
|
}
|
|
|
|
# 10 min: lock (drives lock_cmd via logind)
|
|
listener {
|
|
timeout = 600
|
|
on-timeout = loginctl lock-session
|
|
}
|
|
|
|
# 30 min: suspend-then-hibernate
|
|
listener {
|
|
timeout = 1800
|
|
on-timeout = systemctl suspend-then-hibernate
|
|
}
|