From df3ede50510f222aa5ef0c066f2946ca487baf4d Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 19 Jun 2020 18:18:09 +0100 Subject: use last node instead of prev and pass shellcheck --- alternative/bspswallow | 33 ++++++++++++++++----------------- bspswallow | 34 +++++++++++++++++----------------- 2 files changed, 33 insertions(+), 34 deletions(-) diff --git a/alternative/bspswallow b/alternative/bspswallow index 57653d6..a9c5e07 100755 --- a/alternative/bspswallow +++ b/alternative/bspswallow @@ -3,25 +3,24 @@ # Get class of a wid get_class() { id=$1 - if [ -z $id ]; then + if [ -z "$id" ]; then echo "" else - xprop -id $id | sed -n '/WM_CLASS\|WM_COMMAND/s/.*"\(.*\)".*/\1/p' + xprop -id "$id" | sed -n '/WM_CLASS\|WM_COMMAND/s/.*"\(.*\)".*/\1/p' fi } swallow() { addedtodesktop=$2 - echo $addedtodesktop - lasttermdesktop=$(bspc query -D -n prev) - echo $lasttermdesktop + lasttermdesktop=$(bspc query -D -n last) + swallowerid=$1 - swallowingid=$(bspc query -n prev -N) - 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 + swallowingid=$(bspc query -N -n last) + 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 } @@ -29,20 +28,20 @@ spit() { spitterid=$1 grep "^$spitterid" /tmp/swallowids || return spittingid=$(grep "^$spitterid" /tmp/swallowids | head -n1 | awk '{print $2}') - bspc node $spittingid --flag hidden=off - bspc node $spittingid -f + bspc node "$spittingid" --flag hidden=off + bspc node "$spittingid" -f sed -i "/^$spitterid/d" /tmp/swallowids } bspc subscribe node_add node_remove | while read -r event do - - case "$(echo $event | awk '{ print $1 }')" in + case "$(echo "$event" | awk '{ print $1 }')" in node_add) - swallow $(echo $event | awk '{print $5 " " $3}') + read -r node desktop < "$(echo "$event" | awk '{print $5 " " $3}')" + swallow "$node" "$desktop" ;; node_remove) - spit $(echo $event | awk '{print $4}') + spit "$(echo "$event" | awk '{print $4}')" ;; esac done diff --git a/bspswallow b/bspswallow index 3334705..649080d 100755 --- a/bspswallow +++ b/bspswallow @@ -3,25 +3,25 @@ # Get class of a wid get_class() { id=$1 - if [ -z $id ]; then + if [ -z "$id" ]; then echo "" else - xprop -id $id | sed -n '/WM_CLASS\|WM_COMMAND/s/.*"\(.*\)".*/\1/p' + xprop -id "$id" | sed -n '/WM_CLASS\|WM_COMMAND/s/.*"\(.*\)".*/\1/p' fi } swallow() { addedtodesktop=$2 - echo $addedtodesktop - lasttermdesktop=$(bspc query -D -n prev) - echo $lasttermdesktop + lasttermdesktop=$(bspc query -D -n last) + swallowerid=$1 - swallowingid=$(bspc query -n prev -N) - 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 + swallowingid=$(bspc query -N -n last) + + 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 } @@ -29,20 +29,20 @@ spit() { spitterid=$1 grep "^$spitterid" /tmp/swallowids || return spittingid=$(grep "^$spitterid" /tmp/swallowids | head -n1 | awk '{print $2}') - bspc node $spittingid --flag hidden=off - bspc node $spittingid -f + bspc node "$spittingid" --flag hidden=off + bspc node "$spittingid" -f sed -i "/^$spitterid/d" /tmp/swallowids } bspc subscribe node_add node_remove | while read -r event do - - case "$(echo $event | awk '{ print $1 }')" in + case $(echo "$event" | awk '{ print $1 }') in node_add) - swallow $(echo $event | awk '{print $5 " " $3}') + read -r node desktop < "$(echo "$event" | awk '{print $5 " " $3}')" + swallow "$node" "$desktop" ;; node_remove) - spit $(echo $event | awk '{print $4}') + spit "$(echo "$event" | awk '{print $4}')" ;; esac done -- cgit v1.2.3 From ae05c843992b9a41cb9019d00b313cb2cc10d51d Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 19 Jun 2020 18:34:00 +0100 Subject: fix swallow cmd --- alternative/bspswallow | 4 ++-- bspswallow | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/alternative/bspswallow b/alternative/bspswallow index a9c5e07..078ddd3 100755 --- a/alternative/bspswallow +++ b/alternative/bspswallow @@ -37,8 +37,8 @@ bspc subscribe node_add node_remove | while read -r event do case "$(echo "$event" | awk '{ print $1 }')" in node_add) - read -r node desktop < "$(echo "$event" | awk '{print $5 " " $3}')" - swallow "$node" "$desktop" + # shellcheck disable=SC2046 + swallow $(echo "$event" | awk '{print $5 " " $3}') ;; node_remove) spit "$(echo "$event" | awk '{print $4}')" diff --git a/bspswallow b/bspswallow index 649080d..1b60c7f 100755 --- a/bspswallow +++ b/bspswallow @@ -38,8 +38,8 @@ bspc subscribe node_add node_remove | while read -r event do case $(echo "$event" | awk '{ print $1 }') in node_add) - read -r node desktop < "$(echo "$event" | awk '{print $5 " " $3}')" - swallow "$node" "$desktop" + # shellcheck disable=SC2046 + swallow $(echo "$event" | awk '{print $5 " " $3}') ;; node_remove) spit "$(echo "$event" | awk '{print $4}')" -- cgit v1.2.3