summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmin Bandali <amin@aminb.org>2018-07-21 19:46:36 -0400
committerAmin Bandali <amin@aminb.org>2018-07-21 19:46:36 -0400
commitbfe0aa235f9f16ff545bd99a0183e566b0b57100 (patch)
tree9f8d63b0be3cde558d41cb8534f654d17f1afb4a
parentec00205049a7e8d4c3634b209833c00cf9155ebf (diff)
downloadconfigs-bfe0aa235f9f16ff545bd99a0183e566b0b57100.tar.gz
configs-bfe0aa235f9f16ff545bd99a0183e566b0b57100.tar.xz
configs-bfe0aa235f9f16ff545bd99a0183e566b0b57100.zip
[rc/sway] make workspace switch and window moving behave like bspwm
-rw-r--r--rc.org45
1 files changed, 41 insertions, 4 deletions
diff --git a/rc.org b/rc.org
index 2c54071..9c69f2b 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')
+prev_ws=$((curr_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}"
+ 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"