#!/bin/sh
-swaylock \
- -i HDMI-A-2:~/Pictures/lockscreen_1080_1.png \
- -i HDMI-A-3:~/Pictures/lockscreen_1080_2.png
+NAG_MSG="Smartcard is still plugged in, not locking! \
+Lock again to force locking."
+
+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.${HOSTNAME}) -gt 1 ]; then
+ pkill -f "$NAG_MSG"
+ $LOCK_CMD
+elif gpg --card-status >/dev/null 2&>1; then
+ swaynag -m "$NAG_MSG" --type warning
+else
+ $LOCK_CMD
+fi