#!/bin/sh curr_ws=$(swaymsg -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 [ "$1" = "switch" ] || [ "$1" = "move" ]; then op="$1" if [ "$2" = "prev" ]; then dest_ws="$prev_ws" elif [ "$2" = "next" ]; then dest_ws="$next_ws" else echo "Usage: $0 $1 {prev|next} [follow]" exit 1 fi else echo "Usage: $0 {switch|move} {prev|next} [follow]" exit 1 fi if [ "$op" = "switch" ]; then sway workspace "$dest_ws" elif [ "$op" = "move" ]; then sway move container to workspace "$dest_ws" if [ "$3" = "follow" ]; then sway workspace "$dest_ws" fi fi