diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2022-07-26 17:00:10 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2022-07-26 17:00:10 +0200 |
commit | 31fbd82156bdde6234409a14fce8595ca82cf7ab (patch) | |
tree | a1c34a30a8ce91caba45d30ebf43ffc8cee24b2b | |
parent | 70d1657385c8eb46fa9c021dc7f34849145f530a (diff) |
Fix use of -e instead of -z and invalid monitor descriptors due to wm reload
-rwxr-xr-x | bin/lock | 29 | ||||
-rwxr-xr-x | bin/lockscr1 | 14 |
2 files changed, 27 insertions, 16 deletions
@@ -1,7 +1,7 @@ #! /bin/bash refocus_fullscreen_nodes() { - while [ -e "$(pgrep -x permafocus)" ]; do sleep 1; done + while [ -z "$(pgrep -x permafocus)" ]; do sleep 1; done for NODE in ${FULLSCREEN_NODES}; do bspc node ${NODE} -t fullscreen @@ -13,6 +13,19 @@ if [ $(pgrep -x lock | wc -l) -gt 2 ]; then exit 0 fi +# +# Security +# + +xkbcomp ~/.local/bspwm-setup/lockscreen.xkb $DISPLAY 2>/dev/null + +killall -qw sxhkd polybar +dunstctl set-paused true + +# +# UI +# + FOCUSED_MONITOR=$(bspc query -M -m) FULLSCREEN_NODES=$(bspc query -N -n any.fullscreen) @@ -21,7 +34,8 @@ bspc monitor -f 1 -c ~/.config/kitty/lock_screen.conf \ -- ~/bin/lockscr1 & -sleep 2 +while [ -z "$(ps -C lockscr1 -o pid=)" ]; do sleep 1; done +while [ -z "$(ps -s $(ps -C lockscr1 -o pid=) -o pid=)" ]; do sleep 1; done PRIMARY_WINDOW=$(bspc query -N -n) if [ -n "$(xrandr --listmonitors | grep 'DP-2')" ]; then @@ -30,7 +44,8 @@ if [ -n "$(xrandr --listmonitors | grep 'DP-2')" ]; then -c ~/.config/kitty/lock_screen.conf \ -- ~/bin/lockscr2 & - sleep 2 + while [ -z "$(ps -C lockscr2 -o pid=)" ]; do sleep 1; done + while [ -z "$(ps -s $(ps -C lockscr2 -o pid=) -o pid=)" ]; do sleep 1; done SECONDARY_WINDOW=$(bspc query -N -n) fi @@ -38,6 +53,13 @@ refocus_fullscreen_nodes & ~/bin/permafocus ${PRIMARY_WINDOW} ${SECONDARY_WINDOW} +# +# Unlock +# + +setxkbmap -rules /usr/share/X11/xkb/rules/evdev +dunstctl set-paused false + bspc node ${PRIMARY_WINDOW} -k bspc node ${SECONDARY_WINDOW} -k @@ -45,3 +67,4 @@ bspc node ${SECONDARY_WINDOW} -k kill -9 $(ps -s $(ps -C lockscr2 -o pid=) -o pid=) bspc monitor -f ${FOCUSED_MONITOR} +bspc wm -r diff --git a/bin/lockscr1 b/bin/lockscr1 index 990515a..cf2b37d 100755 --- a/bin/lockscr1 +++ b/bin/lockscr1 @@ -1,26 +1,14 @@ #! /bin/bash -unlock() { - setxkbmap -rules /usr/share/X11/xkb/rules/evdev - dunstctl set-paused false - - bspc wm -r -} - main() { clear tty-clock -r -D -B -s -S - su $USER sh -c '' && unlock || main + su $USER sh -c '' || main } trap "" 1 2 3 15 20 SIGTSTP -xkbcomp ~/.local/bspwm-setup/lockscreen.xkb $DISPLAY 2>/dev/null - -killall -qw sxhkd polybar -dunstctl set-paused true - sleep 1 main |