aboutsummaryrefslogtreecommitdiff
path: root/bspswallow
diff options
context:
space:
mode:
authorJopStro <[email protected]>2020-06-21 17:09:57 +0100
committerJopStro <[email protected]>2020-06-21 17:09:57 +0100
commitacc23a4536470df8dc99285ddb97748b000198f3 (patch)
tree81ba7337d5d4900c5c5babe5385d3ab17b634f69 /bspswallow
parentaa1630b72644250432dde73bb48cc09d519093c6 (diff)
Fix moving swallowing window between desktops
Diffstat (limited to 'bspswallow')
-rwxr-xr-xbspswallow11
1 files changed, 8 insertions, 3 deletions
diff --git a/bspswallow b/bspswallow
index 1b60c7f..35784a2 100755
--- a/bspswallow
+++ b/bspswallow
@@ -27,9 +27,15 @@ swallow() {
spit() {
spitterid=$1
+ spitterdesktop=$2
grep "^$spitterid" /tmp/swallowids || return
spittingid=$(grep "^$spitterid" /tmp/swallowids | head -n1 | awk '{print $2}')
+
bspc node "$spittingid" --flag hidden=off
+
+ termdesktop=$(bspc query -D -n "$spittingid")
+ [ "$termdesktop" = "$spitterdesktop" ] || bspc node "$spittingid" -d "$spitterdesktop"
+
bspc node "$spittingid" -f
sed -i "/^$spitterid/d" /tmp/swallowids
}
@@ -38,11 +44,10 @@ bspc subscribe node_add node_remove | while read -r event
do
case $(echo "$event" | awk '{ print $1 }') in
node_add)
- # shellcheck disable=SC2046
- swallow $(echo "$event" | awk '{print $5 " " $3}')
+ swallow $(echo "$event" | awk '{print $5 " " $3}')
;;
node_remove)
- spit "$(echo "$event" | awk '{print $4}')"
+ spit $(echo "$event" | awk '{print $4 " " $3}')
;;
esac
done