First of all, I just want to say, this is the coolest screen lock I have ever seen in my life. Thanks so much for sharing this idea ;-)
That said, I'm not super comfortable with leaving screenshots lying around in /tmp. Who knows what kind of sensitive info might be on my screen at any given time that the screen lock decides to activate. For security reasons, you should probably use this instead:
#!/bin/sh -e
# Take a screenshot
scrot /tmp/screen_locked.png
# Pixellate it 10x
mogrify -scale 10% -scale 1000% /tmp/screen_locked.png
# Lock screen displaying this image.
i3lock -i /tmp/screen_locked.png
# Turn the screen off after a delay.
sleep 60; pgrep i3lock && xset dpms force off
mogrify modifies the files in place, and is part of ImageMagick, so if you have convert installed, then you already have mogrify.
Also note my use of pgrep and xset for turning the display off after a minute. xset turns the display off, but the pgrep bit makes sure that i3lock is still running before turning the screen off -- this way if you unlock the screen within the first minute, your screen doesn't blink off while you're trying to do something.
Save that to a script, and then a couple lines in .i3/config
and you're golden:
bindsym $mod+l exec "~/.local/bin/fuzzy_lock.sh"
exec xautolock -time 15 -locker '~/.local/bin/fuzzy_lock.sh' &
(I like Win+L for locking and I've disabled the jkl; motion keys personally)
Hope this helps!