You've probably already found Swaylock, but the configuration is a bit confusing. Here's my setup.
All of these codes are meant to be put in ~/.config/sway/config, unless stated otherwise
- Turn screen off in 9min30sec
- Lock screen in 10min (so 30sec after screen off)
- Lock screen when going to sleep
set $lock swaylock -c 550000 exec swayidle -w \ timeout 600 $lock \ timeout 570 'swaymsg "output * dpms off"' \ resume 'swaymsg "output * dpms on"' \ before-sleep $lock
Win + lto lock the screen immediately
- in 10 sec also switch the screen off
set $lockman exec bash ~/.config/sway/lockman.sh bindsym $mod+l exec $lockman
And the file
#!/bin/sh # Times the screen off and puts it to background swayidle \ timeout 10 'swaymsg "output * dpms off"' \ resume 'swaymsg "output * dpms on"' & # Locks the screen immediately swaylock -c 550000 # Kills last background task so idle timer doesn't keep running kill %%
Fancy lock screen
swaylock and instead install
swaylock-effects. In case you're in Arch that's
yay -S swaylock-effects-git. The command will stay the same. And here's my command to use all the effects:
swaylock --clock --indicator --screenshots --effect-scale 0.4 --effect-vignette 0.2:0.5 --effect-blur 4x2 --datestr "%a %e.%m.%Y" --timestr "%k:%M"