diff options
| author | JopStro <[email protected]> | 2020-06-19 10:41:08 +0100 |
|---|---|---|
| committer | JopStro <[email protected]> | 2020-06-19 10:41:08 +0100 |
| commit | c84b649108954a9c90e4cf0188258c8945724342 (patch) | |
| tree | 512c17a8233e82d84b940ff24f8b4ca6912efb58 | |
| parent | 1ed1e7896089bc3bc5aae19c245791fc2b9bd310 (diff) | |
Fix terminals on other desktops getting swallowed
| -rwxr-xr-x | alternative/bspswallow | 16 | ||||
| -rwxr-xr-x | bspswallow | 16 |
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}') @@ -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}') |
