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 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 +# 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 +} + +#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