X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=states%2Fsway%2Ffiles%2Flock;h=050e67a7c308afbd5cbe6e66c210f5641c14b32e;hb=4a3ff90d687da3f51e3d2b9ea5d68d85920db57e;hp=75498371adad556c7610e686b82b84d51c1508de;hpb=5528f246eff216123d10d0b739fa63a87845066f;p=max%2Fsaltfiles.git diff --git a/states/sway/files/lock b/states/sway/files/lock index 7549837..050e67a 100644 --- a/states/sway/files/lock +++ b/states/sway/files/lock @@ -1,22 +1,33 @@ #!/bin/sh NAG_MSG="Smartcard is still plugged in, not locking! \ -Lock again to force locking." +Remove now to lock." +NOLOCK_MSG="Smartcard was not removed, did not lock!" LOCK_CMD="swaylock " LOCK_CMD+=" -i HDMI-A-2:~/Pictures/lockscreen_1080_1.png" LOCK_CMD+=" -i HDMI-A-3:~/Pictures/lockscreen_1080_2.png" -if [ $(pgrep -c lock.{{ grains['host'] }}) -gt 1 ]; then - pkill -f "$NAG_MSG" - $LOCK_CMD +if [ $(pgrep -c lock.magnesium) -gt 1 ]; then + exit else gpg --card-status > /dev/null if [ $? -ne 2 ]; then - gpg --card-status - echo $? - swaynag -m "$NAG_MSG" --type warning - else - $LOCK_CMD + swaynag -m "$NAG_MSG" --type warning& + + counter=0 + while [ $? -ne 2 ]; do + if [ $counter -gt 20 ]; then + pkill -f "$NAG_MSG" + swaynag -m "$NOLOCK_MSG" --type error& + exit + fi + + sleep 1 + counter=$(bc <<<"${counter}+1") + gpg --card-status > /dev/null + done + pkill -f "$NAG_MSG" fi + $LOCK_CMD fi