summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.config/i3/lock.sh25
1 files changed, 19 insertions, 6 deletions
diff --git a/.config/i3/lock.sh b/.config/i3/lock.sh
index c50e0c2..20beaf4 100755
--- a/.config/i3/lock.sh
+++ b/.config/i3/lock.sh
@@ -1,13 +1,26 @@
#!/bin/bash
+#!/bin/bash
# Approximate timeout rate in milliseconds (checked every 5 seconds).
timeout="10000"
-# Take a screenshot:
-scrot /tmp/screen.png
+# Take a screenshot of every screen available:
+xdpyinfo -ext XINERAMA | sed '/^ head #/!d;s///' |
+{
+ while IFS=' :x@,' read i w h x y; do
+ INDEX=$i
+ import -window root -crop ${w}x$h+$x+$y /tmp/head_$i.png
+ done
+
+# Add the lock to the swirled and blurred images:
+ for i in `seq 0 ${INDEX}`;
+ do
+ convert /tmp/head_${i}.png -paint 1 -swirl 360 ~/.config/i3/lock.png -gravity center -composite -matte /tmp/head_${i}.png;
+ done
+}
-# Add the lock to the swirled and blurred image:
-[[ -f ~/.config/i3/lock.png ]] && convert /tmp/screen.png -paint 1 -swirl 360 ~/.config/i3/lock.png -gravity center -composite -matte /tmp/screen.png
+#Combine all screen images into one big image
+convert +append /tmp/head_*.png /tmp/screen.png
# Pause music (mocp and mpd):
mocp -P
@@ -18,6 +31,6 @@ i3lock -e -f -c 000000 -i /tmp/screen.png
# If still locked after $timeout milliseconds, turn off screen.
while [[ $(pgrep -x i3lock) ]]; do
- [[ $timeout -lt $(xssstate -i) ]] && xset dpms force off
- sleep 5
+ [[ $timeout -lt $(xssstate -i) ]] && xset dpms force off
+ sleep 5
done