aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJopStro <[email protected]>2020-06-19 10:41:08 +0100
committerJopStro <[email protected]>2020-06-19 10:41:08 +0100
commitc84b649108954a9c90e4cf0188258c8945724342 (patch)
tree512c17a8233e82d84b940ff24f8b4ca6912efb58
parent1ed1e7896089bc3bc5aae19c245791fc2b9bd310 (diff)
Fix terminals on other desktops getting swallowed
-rwxr-xr-xalternative/bspswallow16
-rwxr-xr-xbspswallow16
2 files changed, 22 insertions, 10 deletions
diff --git a/alternative/bspswallow b/alternative/bspswallow
index 1406fcf..57653d6 100755
--- a/alternative/bspswallow
+++ b/alternative/bspswallow
@@ -11,12 +11,18 @@ get_class() {
}
swallow() {
+ addedtodesktop=$2
+ echo $addedtodesktop
+ lasttermdesktop=$(bspc query -D -n prev)
+ echo $lasttermdesktop
swallowerid=$1
swallowingid=$(bspc query -n prev -N)
- grep "^$(get_class $swallowerid)$" ~/.config/bspwm/swallow || return
- grep "^$(get_class $swallowingid)$" ~/.config/bspwm/terminals || return
- echo $swallowerid $swallowingid >> /tmp/swallowids
- bspc node $swallowingid --flag hidden=on
+ if [ $addedtodesktop = $lasttermdesktop ]; then
+ grep "^$(get_class $swallowerid)$" ~/.config/bspwm/swallow || return
+ grep "^$(get_class $swallowingid)$" ~/.config/bspwm/terminals || return
+ echo $swallowerid $swallowingid >> /tmp/swallowids
+ bspc node $swallowingid --flag hidden=on
+ fi
}
spit() {
@@ -33,7 +39,7 @@ do
case "$(echo $event | awk '{ print $1 }')" in
node_add)
- swallow $(echo $event | awk '{print $5}')
+ swallow $(echo $event | awk '{print $5 " " $3}')
;;
node_remove)
spit $(echo $event | awk '{print $4}')
diff --git a/bspswallow b/bspswallow
index 8e787a3..3334705 100755
--- a/bspswallow
+++ b/bspswallow
@@ -11,12 +11,18 @@ get_class() {
}
swallow() {
+ addedtodesktop=$2
+ echo $addedtodesktop
+ lasttermdesktop=$(bspc query -D -n prev)
+ echo $lasttermdesktop
swallowerid=$1
swallowingid=$(bspc query -n prev -N)
- cat ~/.config/bspwm/noswallow ~/.config/bspwm/terminals | grep "^$(get_class $swallowerid)$" && return
- grep "^$(get_class $swallowingid)$" ~/.config/bspwm/terminals || return
- echo $swallowerid $swallowingid >> /tmp/swallowids
- bspc node $swallowingid --flag hidden=on
+ if [ $addedtodesktop = $lasttermdesktop ]; then
+ cat ~/.config/bspwm/noswallow ~/.config/bspwm/terminals | grep "^$(get_class $swallowerid)$" && return
+ grep "^$(get_class $swallowingid)$" ~/.config/bspwm/terminals || return
+ echo $swallowerid $swallowingid >> /tmp/swallowids
+ bspc node $swallowingid --flag hidden=on
+ fi
}
spit() {
@@ -33,7 +39,7 @@ do
case "$(echo $event | awk '{ print $1 }')" in
node_add)
- swallow $(echo $event | awk '{print $5}')
+ swallow $(echo $event | awk '{print $5 " " $3}')
;;
node_remove)
spit $(echo $event | awk '{print $4}')