Skip to content

Instantly share code, notes, and snippets.

@csivanich
Last active March 18, 2024 11:45
Show Gist options
  • Save csivanich/10914698 to your computer and use it in GitHub Desktop.
Save csivanich/10914698 to your computer and use it in GitHub Desktop.
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
@K9BFF
Copy link

K9BFF commented Mar 22, 2016

@z3t0 probably a stopwatch or something...

@bechampion
Copy link

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

@greenbagels
Copy link

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

@Chabam
Copy link

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%

Copy link

ghost commented Sep 11, 2017

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

@darddan
Copy link

darddan commented Feb 22, 2018

I know it's been some time since you published this gist. I used this method until today, but because I use an older computer it would take me 2-5 seconds to take the screenshot, add the effect and then run the i3lock. i3lock-blur flickers and doesnt work in my computer.
I've forked scrot and added a blur option and an option to add an icon here: darddan/scrot
Running scrot -B 5 -i icon.png output.png generates a blurred screenshot with an icon over it in about 300 milliseconds.

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