dotfiles/home/.config/hypr/hypridle.conf

55 lines
1.5 KiB
Plaintext

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