summaryrefslogtreecommitdiffstats
path: root/.scripts
diff options
context:
space:
mode:
authorLuke Smith <luke@lukesmith.xyz>2018-07-29 13:43:43 -0400
committerLuke Smith <luke@lukesmith.xyz>2018-07-29 13:43:43 -0400
commite757a9cf94cfb346044fcfc3b1f359ac0a86fa9a (patch)
tree42c30ce277d42346cea7b3ce169b7733d50400a1 /.scripts
parentbe07b304b3bcb8db2d898a41132a094146d90eab (diff)
downloadeibhear-e757a9cf94cfb346044fcfc3b1f359ac0a86fa9a.tar.gz
eibhear-e757a9cf94cfb346044fcfc3b1f359ac0a86fa9a.tar.zst
eibhear-e757a9cf94cfb346044fcfc3b1f359ac0a86fa9a.zip
lock script moved to ~/.scripts, now pauses mpv
Diffstat (limited to '.scripts')
-rw-r--r--.scripts/lock.pngbin0 -> 7897 bytes
-rwxr-xr-x.scripts/lockscreen37
-rwxr-xr-x.scripts/pauseallmpv4
3 files changed, 41 insertions, 0 deletions
diff --git a/.scripts/lock.png b/.scripts/lock.png
new file mode 100644
index 0000000..b09875d
--- /dev/null
+++ b/.scripts/lock.png
Binary files differ
diff --git a/.scripts/lockscreen b/.scripts/lockscreen
new file mode 100755
index 0000000..eba33d3
--- /dev/null
+++ b/.scripts/lockscreen
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# Approximate timeout rate in milliseconds (checked every 5 seconds).
+timeout="10000"
+
+# Take a screenshot of every screen available:
+scrot -m -z /tmp/lock.png
+xdpyinfo -ext XINERAMA | sed '/^ head #/!d;s///' |
+{
+ cmd="convert /tmp/lock.png"
+ cmdend=""
+ while IFS=' :x@,' read i w h x y; do
+ cmd+=" -region ${w}x$h+$x+$y -paint 1 -swirl 360"
+ xc=$((x+(w/2)-79))
+ yc=$((y+(h/2)-79))
+ cmdend+=" ~/.scripts/lock.png -geometry +${xc}+${yc} -composite -matte"
+ done
+ cmd+="${cmdend} /tmp/screen.png"
+
+ eval $cmd
+} &
+
+prompt "Are you sure you want to lock the computer?" "" || exit
+
+# Pause music (mocp and mpd):
+mocp -P
+mpc pause
+pauseallmpv
+
+# Lock it up!
+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
+done
diff --git a/.scripts/pauseallmpv b/.scripts/pauseallmpv
new file mode 100755
index 0000000..b24f448
--- /dev/null
+++ b/.scripts/pauseallmpv
@@ -0,0 +1,4 @@
+#!/bin/bash
+# Sends a , key to all mpv instances, pausing them at the last frame.
+
+xdotool search --class mpv | xargs -I % xdotool key --window % comma