# This file was auto-generated by Stasis on first run
# Feel free to customize it to your needs
# Master config reference: `/usr/share/doc/stasis/stasis.rune`

@author "Dustin Pilgrim"
@description "Lightweight feature packed idle manager for Wayland"

default:
  # Optional: listen for loginctl lock/unlock-session signals (default false)
  # NOTE: this only updates internal state when lock/unlock signals are received;
  # it does not actually run your locker command.
  #enable_loginctl true

  # Optional: listen for session D-Bus inhibit traffic (default true).
  # This gate is not browser-only: browsers, Steam, and other desktop apps can
  # request inhibit through standard D-Bus/portal paths.
  # Browser/media-tab inhibit lives here, not under monitor_media.
  # Disable this only if you explicitly do not want D-Bus inhibit requests
  # to pause idle progression.
  #enable_dbus_inhibit false

  # Optional: run before suspending (e.g., ensure lock is up)
  #pre_suspend_command "swaylock"

  # Non-browser media/audio inhibit only. Browser/media-tab inhibit is handled
  # by enable_dbus_inhibit above.
  monitor_media true
  ignore_remote_media true # ignore remote players (spotify/kdeconnect/etc.)

  # Optional: ignore these media sources for media inhibit (case-insensitive)
  #media_blacklist ["spotify"]

  # Debounce window in seconds before starting the plan (default 0)
  #debounce_seconds 4

  # Notify when resuming from IPC pause (e.g., `stasis pause 1h`)
  #notify_on_unpause true

  # Global gate: notifications before steps only happen if this is true
  #notify_before_action true

  # App/process inhibit patterns (strings or regex literals)
  inhibit_apps [
    "vlc"
    "mpv"
    r"steam_app_.*"
  ]

  lock_screen:
    timeout 600 # 5 minute(s)
    command "hyprlock"

    # Optional per-step notification:
    #notification "Locking in 10s"
    #notify_seconds_before 10
  end

  dpms:
    timeout 60 # 1 minute(s) after lock
    command "niri msg action power-off-monitors"
    resume_command "niri msg action power-on-monitors"
  end

  suspend:
    timeout 1800 # 30 minute(s) after dpms
    command "systemctl suspend"
  end
end
