54 lines
1.2 KiB
Bash
Executable file
54 lines
1.2 KiB
Bash
Executable file
#!/bin/sh
|
|
lock() {
|
|
IMAGE=/tmp/i3lock.png
|
|
SCREENSHOT="scrot $IMAGE" # 0.46s
|
|
|
|
# Alternate screenshot method with imagemagick. NOTE: it is much slower
|
|
# SCREENSHOT="import -window root $IMAGE" # 1.35s
|
|
|
|
# Here are some imagemagick blur types
|
|
# Uncomment one to use, if you have multiple, the last one will be used
|
|
|
|
# All options are here: http://www.imagemagick.org/Usage/blur/#blur_args
|
|
BLURTYPE="0x5" # 7.52s
|
|
#BLURTYPE="0x2" # 4.39s
|
|
#BLURTYPE="5x2" # 3.80s
|
|
#BLURTYPE="2x8" # 2.90s
|
|
#BLURTYPE="2x3" # 2.92s
|
|
|
|
# Get the screenshot, add the blur and lock the screen with it
|
|
$SCREENSHOT
|
|
convert $IMAGE -blur $BLURTYPE $IMAGE
|
|
i3lock -i $IMAGE
|
|
rm $IMAGE
|
|
}
|
|
|
|
case "$1" in
|
|
lock)
|
|
lock
|
|
;;
|
|
logout)
|
|
i3-msg exit
|
|
;;
|
|
suspend)
|
|
lock && systemctl suspend
|
|
;;
|
|
switch)
|
|
dm-tool switch-to-greeter
|
|
;;
|
|
hibernate)
|
|
lock && systemctl hibernate
|
|
;;
|
|
reboot)
|
|
systemctl reboot
|
|
;;
|
|
shutdown)
|
|
systemctl poweroff
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}"
|
|
exit 2
|
|
esac
|
|
|
|
exit 0
|
|
|