general { before_sleep_cmd = loginctl lock-session ignore_dbus_inhibit = false ignore_systemd_inhibit = false } # Warn about going idle (5 mins) listener { timeout = 300 # use hyprland notifications, in case regular notifs are paused or whatever on-timeout = hyprctl notify 0 10000 "rgb(ff0000)" "fontsize:20 System going idle in 10 seconds..." on-resume = hyprctl dismissnotify 1 } # Dim the screen listener { timeout = 300 # Set the brightness to minimum (not exactly to 0 though for OLED screens) on-timeout = brightnessctl -s set 10 on-resume = brightnessctl -r } # Turn off keyboard backlight listener { timeout = 300 # Attempt to find the keyboard backlight device, only proceeding if it exists on-timeout = sh -c 'device=$(brightnessctl -l -m | grep -i kbd | cut -d"," -f1 | head -n 1) && [ -n "$device" ] && brightnessctl -s -d "$device" set 0' on-resume = sh -c 'device=$(brightnessctl -l -m | grep -i kbd | cut -d"," -f1 | head -n 1) && [ -n "$device" ] && brightnessctl -r -d "$device"' } # Lock the session listener { timeout = 310 on-timeout = loginctl lock-session } # Turn off the screen after another 50s listener { timeout = 400 on-timeout = hyprctl dispatch dpms off on-resume = hyprctl dispatch dpms on } # Enter suspend/sleep state (10 mins) # On low battery, or after HibernateDelaySec (/etc/systemd/sleep.conf), the system # will enter full hibernation listener { timeout = 600, on-timeout = systemctl suspend-then-hibernate } # vi: ft=hyprlang