Dieses Skript erstellt zuerst mit scrot
einen Screenshot, der dann mit imagemagick
verwischt und ausgegraut wird um den Desktopinhalt zu verschleiern. Anschließend wird ein Logo auf den Screenshot gerendert und i3lock
gestartet. Funktioniert auch prima mit mehreren Monitoren, wobei eventuell die LOCATION
angepasst werden muss.
#!/bin/bash
# i3lock blurred screen inspired by /u/patopop007 and the blog post
# http://plankenau.com/blog/post-10/gaussianlock
LOGO=/path/to/logo.png
LOCATION=southeast
TMPIMAGE=/tmp/i3lock.png
SCREENSHOT="scrot --silent $TMPIMAGE"
BLURTYPE="0x5" # http://www.imagemagick.org/Usage/blur/#blur_args
# disable imagemagick opencl support, because it freezes the system on some drivers
export MAGICK_OCL_DEVICE=OFF
# Get the screenshot, add the blur and lock the screen with it
sleep .1
$SCREENSHOT
convert $TMPIMAGE -blur $BLURTYPE $TMPIMAGE
convert $TMPIMAGE -set option:modulate:colorspace hsb -modulate 20 $TMPIMAGE
composite -gravity $LOCATION $LOGO $TMPIMAGE $TMPIMAGE
i3lock -i $TMPIMAGE
rm $TMPIMAGE