general {
   lock_cmd = pidof hyprlock || hyprlock #--no-fade-in  # dbus/sysd lock command (loginctl lock-session)
 # unlock_cmd = notify-send "unlock!" -t 6000           # same as above, but unlock
 # before_sleep_cmd =                                   # command ran before sleep
 # after_sleep_cmd =                                    # command ran after sleep
   ignore_dbus_inhibit = false                          # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam)
   ignore_systemd_inhibit = false                       # whether to ignore systemd-inhibit --what=idle inhibitors
}

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.
}

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 = 293
   on-timeout = notify-send "screen sleep" -t 7000 -p > /tmp/screensleepnotify_id
   on-resume = notify-send -r $(cat /tmp/screensleepnotify_id) "screen wake" -t 1000
}

listener {
   timeout = 300                            # 5min
   on-timeout = pidof hyprlock || hyprlock  # lock screen when timeout has passed
}

# listener {
#    timeout = 720                                                                 # 5.5min
#    on-timeout = hyprctl dispatch dpms off || niri msg action power-off-monitors  # screen off when timeout has passed
#    on-resume = hyprctl dispatch dpms on || niri msg action power-on-monitors     # screen on when activity is detected after timeout has fired.
# }

# listener {
#    timeout = 900
#    on-timeout = zzz
# }