diff options
author | Amin Bandali <bandali@gnu.org> | 2021-04-03 21:50:36 -0400 |
---|---|---|
committer | Amin Bandali <bandali@gnu.org> | 2021-04-03 21:50:36 -0400 |
commit | bfe53d9b8ee51e483d69763c0488d7da88eab06b (patch) | |
tree | 31d682d524865bad399ed0101800794e2ff0c6db /.local/bin/b-ws-util | |
parent | 17d2cfa08301bfb62cce5a02feb8ad7acf9b0f7c (diff) | |
download | configs-bfe53d9b8ee51e483d69763c0488d7da88eab06b.tar.gz configs-bfe53d9b8ee51e483d69763c0488d7da88eab06b.tar.xz configs-bfe53d9b8ee51e483d69763c0488d7da88eab06b.zip |
Add some missing bins
Diffstat (limited to '.local/bin/b-ws-util')
-rwxr-xr-x | .local/bin/b-ws-util | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/.local/bin/b-ws-util b/.local/bin/b-ws-util new file mode 100755 index 0000000..df921f7 --- /dev/null +++ b/.local/bin/b-ws-util @@ -0,0 +1,40 @@ +#!/bin/sh + +if [ "$1" = "i3" ]; then + msgcmd=i3-msg +elif [ "$1" = "sway" ]; then + msgcmd=swaymsg +else + echo "Usage: $0 {i3|sway} {switch|move} {prev|next} [follow]" + exit 1 +fi + +curr_ws=$("$msgcmd" -t get_workspaces | jq -r '.[] | select(.focused==true).name') +[ "$curr_ws" -eq 1 ] && prev_ws=10 || prev_ws=$((curr_ws-1)) +[ "$curr_ws" -eq 10 ] && next_ws=1 || next_ws=$((curr_ws+1)) +dest_ws=-1 +op=-1 + +if [ "$2" = "switch" ] || [ "$2" = "move" ]; then + op="$2" + if [ "$3" = "prev" ]; then + dest_ws="$prev_ws" + elif [ "$3" = "next" ]; then + dest_ws="$next_ws" + else + echo "Usage: $0 $1 $2 {prev|next} [follow]" + exit 1 + fi +else + echo "Usage: $0 $1 {switch|move} {prev|next} [follow]" + exit 1 +fi + +if [ "$op" = "switch" ]; then + i3 workspace "$dest_ws" +elif [ "$op" = "move" ]; then + i3 move container to workspace "$dest_ws" + if [ "$4" = "follow" ]; then + i3 workspace "$dest_ws" + fi +fi |