You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
Bash
42 lines
1.2 KiB
Bash
#!/bin/sh
|
|
|
|
###
|
|
# way_lock
|
|
# Lock Wayland session
|
|
#
|
|
# Run-Depends
|
|
# x11/swayidle
|
|
# x11/swaylock
|
|
# {any /bin/sh capable of background execution}
|
|
#
|
|
# Note: swayidle implements KDE's idle protocol[1], so the compositor
|
|
# acting as a window manager must support it. Swayidle will not
|
|
# work as intended otherwise.
|
|
# [1] https://github.com/swaywm/sway/blob/57d6f6f19e3088dcb8e202acade8c39a80075b4a/protocols/idle.xml
|
|
###
|
|
|
|
# Number of seconds before screen turns off
|
|
timeout=10
|
|
|
|
# Turn screen off after $timeout seconds of inactivity.
|
|
# Turn it on again when there is activity.
|
|
#
|
|
# swayidle acts like a daemon, meaning it continues execution even after
|
|
# the script is terminated, so we need to execute it in the background
|
|
# to be able to terminate it later (unless you like your screen turning
|
|
# off every 10 seconds for some reason?)
|
|
swayidle \
|
|
timeout $timeout 'swaymsg output \* dpms off' \
|
|
resume 'swaymsg output \* dpms on' \
|
|
&
|
|
|
|
playerctl play-pause
|
|
|
|
# Lock the screen and wait for it to be unlocked.
|
|
swaylock -f -e -c 1d2021 --inside-color 000000b3 -s fill -i ~/.cache/lockscreen
|
|
|
|
# Screen unlocked: terminate swayidle and clean up PID
|
|
kill -TERM $!
|
|
wait
|
|
|