Create a gist now

Instantly share code, notes, and snippets.

@csivanich /lock.sh
Last active Oct 24, 2017

What would you like to do?
i3 Blurred Lock Screen
#!/bin/bash
# i3lock blurred screen inspired by /u/patopop007 and the blog post
# http://plankenau.com/blog/post-10/gaussianlock
# Timings are on an Intel i7-2630QM @ 2.00GHz
# Dependencies:
# imagemagick
# i3lock
# scrot (optional but default)
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

this worked for me! 👍

z3t0 commented Mar 22, 2016

how are the time measurements done?

@z3t0 probably a stopwatch or something...

I like it but it takes a bit of time to blur ...bit insecure

You can use imagemagick's import command to screencap as well, reducing the number of required packages.

Chabam commented Mar 10, 2017

A quick suggestion to improve the time to render the blurred image, you could reduce the size of the screen cap before applying the blur:
convert $IMAGE -resize 50%
convert $IMAGE -blur $BLURTYPE $IMAGE
Then put back to 200% to get back to orginal size
convert $IMAGE -resize 200%

Thanks !!!
Inspired from this project, here a little boost i3lock++

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment