aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2022-07-20 15:17:53 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2022-07-20 15:17:53 +0200
commit70d1657385c8eb46fa9c021dc7f34849145f530a (patch)
tree477dbf4f0365b92c8a40001d5dd00d1dd70ea8e7
parent5746579638753d79af1fa569bb4f6e38ec84132c (diff)
Preserve fullscreen windows when screensaving
Fixes #15
-rwxr-xr-xbin/lock11
1 files changed, 11 insertions, 0 deletions
diff --git a/bin/lock b/bin/lock
index c776097..36f6ebe 100755
--- a/bin/lock
+++ b/bin/lock
@@ -1,11 +1,20 @@
#! /bin/bash
+refocus_fullscreen_nodes() {
+ while [ -e "$(pgrep -x permafocus)" ]; do sleep 1; done
+
+ for NODE in ${FULLSCREEN_NODES}; do
+ bspc node ${NODE} -t fullscreen
+ done
+}
+
if [ $(pgrep -x lock | wc -l) -gt 2 ]; then
# Starting multiple screen lock instances may cause unintended side effects
exit 0
fi
FOCUSED_MONITOR=$(bspc query -M -m)
+FULLSCREEN_NODES=$(bspc query -N -n any.fullscreen)
bspc monitor -f 1
~/.local/kitty.app/bin/kitty \
@@ -25,6 +34,8 @@ if [ -n "$(xrandr --listmonitors | grep 'DP-2')" ]; then
SECONDARY_WINDOW=$(bspc query -N -n)
fi
+refocus_fullscreen_nodes &
+
~/bin/permafocus ${PRIMARY_WINDOW} ${SECONDARY_WINDOW}
bspc node ${PRIMARY_WINDOW} -k