31 lines
1.4 KiB
Plaintext
31 lines
1.4 KiB
Plaintext
# Idle and lock configuration
|
|
#
|
|
# This will lock your screen after 300 seconds of inactivity, then turn off
|
|
# your displays after another 60 seconds, and turn your screens back on when
|
|
# resumed. It will also lock your screen before your computer goes to sleep.
|
|
# The timeouts can be customized via `$lock_timeout` and `$screen_timeout`
|
|
# variables. For a predictable behavior, keep the `$screen_timeout` value
|
|
# lesser than the `$lock_timeout`.
|
|
#
|
|
# You can also lock the screen manually by running `loginctl lock-session` or
|
|
# add a binding for the command. Example:
|
|
# bindsym $mod+Shift+Escape exec loginctl lock-session
|
|
#
|
|
# Note that all swaylock customizations are handled via /etc/swaylock/config and
|
|
# can be overridden via $XDG_CONFIG_HOME/swaylock/config (~/.config/swaylock/config).
|
|
#
|
|
# Requires: swayidle
|
|
# Requires: swaylock
|
|
# Requires: /usr/bin/pkill, /usr/bin/pgrep
|
|
|
|
exec LT="$lock_timeout" ST="$screen_timeout" LT=${LT:-900} ST=${ST:-900} && \
|
|
swayidle -w \
|
|
timeout $LT 'swaylock -f' \
|
|
timeout $((LT + ST)) 'swaymsg "output * power off"' \
|
|
resume 'swaymsg "output * power on"' \
|
|
timeout $ST 'pgrep -xu "$USER" swaylock >/dev/null && swaymsg "output * power off"' \
|
|
resume 'pgrep -xu "$USER" swaylock >/dev/null && swaymsg "output * power on"' \
|
|
before-sleep 'swaylock -f' \
|
|
lock 'swaylock -f' \
|
|
unlock 'pkill -xu "$USER" -SIGUSR1 swaylock'
|