Commit | Line | Data |
---|---|---|
bfe53d9b AB |
1 | #!/bin/sh |
2 | ||
3 | if [ "$1" = "i3" ]; then | |
4 | msgcmd=i3-msg | |
5 | elif [ "$1" = "sway" ]; then | |
6 | msgcmd=swaymsg | |
7 | else | |
8 | echo "Usage: $0 {i3|sway} {switch|move} {prev|next} [follow]" | |
9 | exit 1 | |
10 | fi | |
11 | ||
12 | curr_ws=$("$msgcmd" -t get_workspaces | jq -r '.[] | select(.focused==true).name') | |
13 | [ "$curr_ws" -eq 1 ] && prev_ws=10 || prev_ws=$((curr_ws-1)) | |
14 | [ "$curr_ws" -eq 10 ] && next_ws=1 || next_ws=$((curr_ws+1)) | |
15 | dest_ws=-1 | |
16 | op=-1 | |
17 | ||
18 | if [ "$2" = "switch" ] || [ "$2" = "move" ]; then | |
19 | op="$2" | |
20 | if [ "$3" = "prev" ]; then | |
21 | dest_ws="$prev_ws" | |
22 | elif [ "$3" = "next" ]; then | |
23 | dest_ws="$next_ws" | |
24 | else | |
25 | echo "Usage: $0 $1 $2 {prev|next} [follow]" | |
26 | exit 1 | |
27 | fi | |
28 | else | |
29 | echo "Usage: $0 $1 {switch|move} {prev|next} [follow]" | |
30 | exit 1 | |
31 | fi | |
32 | ||
33 | if [ "$op" = "switch" ]; then | |
34 | i3 workspace "$dest_ws" | |
35 | elif [ "$op" = "move" ]; then | |
36 | i3 move container to workspace "$dest_ws" | |
37 | if [ "$4" = "follow" ]; then | |
38 | i3 workspace "$dest_ws" | |
39 | fi | |
40 | fi |