mirror of
https://github.com/frebib/dotfiles.git
synced 2024-06-14 12:57:23 +00:00
42 lines
969 B
Bash
Executable File
42 lines
969 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
icon="$HOME/.config/i3/lock.png"
|
|
tmpbg='/tmp/screen.png'
|
|
|
|
(( $# )) && { icon=$1; }
|
|
|
|
# screenshot
|
|
scrot "$tmpbg"
|
|
|
|
PX=0
|
|
PY=0
|
|
# lockscreen image info
|
|
R=$(file $icon | grep -o '[0-9]* x [0-9]*')
|
|
RX=$(echo $R | cut -d' ' -f 1)
|
|
RY=$(echo $R | cut -d' ' -f 3)
|
|
|
|
RES=$(xrandr --query | grep ' connected primary' | cut -f4 -d' ')
|
|
|
|
# monitor position/offset
|
|
SRX=$(echo $RES | cut -d'x' -f 1) # x pos
|
|
SRY=$(echo $RES | cut -d'x' -f 2 | cut -d'+' -f 1) # y pos
|
|
SROX=$(echo $RES | cut -d'x' -f 2 | cut -d'+' -f 2) # x offset
|
|
SROY=$(echo $RES | cut -d'x' -f 2 | cut -d'+' -f 3) # y offset
|
|
PX=$(($SROX + $SRX/2 - $RX/2))
|
|
PY=$(($SROY + $SRY/2 - $RY/2))
|
|
|
|
|
|
# pixelize and add lock icon
|
|
convert $tmpbg -scale 5% -scale 2000% $tmpbg
|
|
convert $tmpbg $icon -geometry +$PX+$PY -composite -matte $tmpbg
|
|
|
|
playing=$(mpc status | grep playing | wc -l)
|
|
[[ $playing == 1 ]] && mpc pause
|
|
|
|
i3lock -i "$tmpbg" -n -e
|
|
|
|
[[ $playing == 1 ]] && mpc play
|
|
|
|
|
|
rm "$tmpbg"
|