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 = 60                                 # 1 min.
    on-timeout = light -O && light -S 1          # set monitor backlight to minimum, avoid 0 on OLED monitor.
    on-resume = light -I                         # monitor backlight restore.
}

listener {
    timeout = 90                                  # 1.5 min
    on-timeout = loginctl lock-session            # lock screen when timeout has passed
}

listener {
    timeout = 120                                 # 2 min
    on-timeout = hyprctl dispatch dpms off        # screen off when timeout has passed
    on-resume = hyprctl dispatch dpms on          # screen on when activity is detected after timeout has fired.
}

listener {
    timeout = 180                                 # 3 min
    on-timeout = systemctl suspend                # suspend pc
}