X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/ec00205049a7e8d4c3634b209833c00cf9155ebf..c60842ddbc495e60239ca23ba578e0a77925c8ad:/rc.org diff --git a/rc.org b/rc.org index 2c54071..7f3d7d7 100644 --- a/rc.org +++ b/rc.org @@ -3698,11 +3698,11 @@ input "1:1:AT_Translated_Set_2_keyboard" { bindsym XF86MonBrightnessUp exec light -A 5 # increase screen brightness bindsym XF86MonBrightnessDown exec light -U 5 # decrease screen brightness - bindsym $mod+bracketleft workspace prev - bindsym $mod+bracketright workspace next + bindsym $mod+bracketleft exec sway-ws-util switch prev + bindsym $mod+bracketright exec sway-ws-util switch next - bindsym $mod+braceleft move container to workspace prev - bindsym $mod+braceright move container to workspace next + bindsym $mod+braceleft exec sway-ws-util move prev follow + bindsym $mod+braceright exec sway-ws-util move next follow # # Moving around: # @@ -4841,6 +4841,43 @@ source $HOME/.zprofile sway #+end_src +** sway-ws-util +:PROPERTIES: +:header-args+: :tangle ~/.local/bin/sway-ws-util :shebang "#!/bin/bash" +:END: + +#+begin_src bash +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 +#+end_src + ** toggle-layout :PROPERTIES: :header-args+: :tangle ~/.local/bin/toggle-layout :shebang "#!/bin/bash"