#!   ░▒▒▒░░░▓▓          ___________ #! ░░▒▒▒░░░░░▓▓        //___________/ #! ░░▒▒▒░░░░░▓▓     _   _ _    _ _____ #! ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/ #! ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___ #!  ░▒▒░░▓▓   ▓▓   \__  |____/ |____/ #!    ░▒▓▓   ▓▓  //____/ # $LOCKSCREEN = hyprlock # preferred LOCKSCREEN e.g swaylock # Absolute path required: the Lua chain starts hypridle as a systemd user unit # (hyde-Hyprland-idle.service), and on the SDDM/fish session path the session PATH # never reaches the user manager (start_up.lua's unconditional `uwsm finalize` runs # but errors outside a uwsm session, so the import never happens) — a bare # `lockscreen.sh` is "command not found" there — Super+L, the 240s idle lock and # before_sleep all silently no-op. The script self-bootstraps its own env # (hyde-shell init), so the full path alone is sufficient. $LOCKSCREEN = ~/.local/lib/hyde/lockscreen.sh general { lock_cmd = $LOCKSCREEN unlock_cmd = #notify-send "unlock!" # same as above, but unlock before_sleep_cmd = $LOCKSCREEN # command ran before sleep after_sleep_cmd = # notify-send "Awake!" # command ran after sleep ignore_dbus_inhibit = 0 } # Dims the display listener { timeout = 120 on-timeout = { brightnessctl -s && brightnessctl s 1% ;} on-resume = brightnessctl -r } # Lock it first before dpms off so that screen won't show for a moment after wake up. listener { timeout = 240 on-timeout = $LOCKSCREEN } # DPMS off # Lua-chain form: in Lua mode `hyprctl dispatch` evaluates its argument as Lua, so the hyprlang # `dpms off` is a syntax error and this listener silently never ran. The table form is the one # hypridle's own sample uses (/usr/share/hypr/hypridle.conf); a bare bool/string argument acts # like a toggle — `hl.dsp.dpms("on")` turned the display OFF. main (hyprlang) keeps `dpms off/on`. listener { timeout = 2300 on-timeout = hyprctl dispatch 'hl.dsp.dpms({action = "off"})' #do not turn off display while media is playing on-resume = hyprctl dispatch 'hl.dsp.dpms({action = "on"})' } # Suspend # listener { # timeout = 500 # on-timeout = systemctl suspend # } # hyprlang noerror true # Source anything from this path if you want to add your own listener # source command actually do not exist yet source = ~/.config/hypridle/* # hyprlang noerror false