diff options
author | Urbain Vaes <urbain@vaes.uk> | 2017-09-07 12:28:43 +0100 |
---|---|---|
committer | Urbain Vaes <urbain@vaes.uk> | 2017-09-07 12:28:43 +0100 |
commit | 481bb2c26f2d9aa52e5c8dec8dfc64af7bbff049 (patch) | |
tree | 5824c61f0f242b0e8513cedc1397249881c400f4 | |
parent | 68ecfa236f23620f5a3d453000fd6c19380d6567 (diff) |
[i3] Add script to move workspace
-rwxr-xr-x | bin/bin/move_workspace | 21 | ||||
-rw-r--r-- | i3/.config/i3/config | 6 |
2 files changed, 25 insertions, 2 deletions
diff --git a/bin/bin/move_workspace b/bin/bin/move_workspace new file mode 100755 index 0000000..d7944de --- /dev/null +++ b/bin/bin/move_workspace @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +wkspces=$(i3-msg -t get_workspaces | grep -Po '"name":.*?[^\\]"' | sed 's/"name":"\([^"]\+\)"/\1/g') +focused=$(i3-msg -t get_workspaces | grep -Po '{[^}]*"focused":true[^}]*}' | sed 's/.*"name":"\([^"]*\)".*$/\1/g') + +focused_number=${focused%%:*} +focused_name=${focused#*:} + +[[ $1 = 'n' ]] && new_number=$((focused_number + 1)) +[[ $1 = 'p' ]] && new_number=$((focused_number - 1)) + +next=$(echo "${wkspces}" | grep "^${new_number}") + +i3-msg rename workspace to ${new_number}:${focused_name} + +if [[ ! -z "${next// }" ]]; then + name_next=${next#*:} + i3-msg workspace "${next}" + i3-msg rename workspace to ${focused_number}:${name_next} + i3-msg workspace "${new_number}:${focused_name}" +fi diff --git a/i3/.config/i3/config b/i3/.config/i3/config index 76c5cba..7efcc97 100644 --- a/i3/.config/i3/config +++ b/i3/.config/i3/config @@ -160,6 +160,10 @@ bindsym $mod+m bar mode toggle bindsym $mod+Tab workspace back_and_forth bindsym $mod+comma workspace prev bindsym $mod+period workspace next +bindsym $mod+Shift+comma exec $HOME/bin/move_workspace p +bindsym $mod+Shift+period exec $HOME/bin/move_workspace n +bindsym $mod+n exec $HOME/bin/workspace n +bindsym $mod+Shift+n exec $HOME/bin/workspace m # Programs shortcuts bindsym $mod+b exec --no-startup-id qutebrowser @@ -180,8 +184,6 @@ bindsym F11 exec --no-startup-id feh --bg-fill --randomize /usr/share/background # Custom scripts bindsym XF86AudioPlay exec $HOME/bin/touchpad -bindsym $mod+n exec $HOME/bin/workspace n -bindsym $mod+Shift+n exec $HOME/bin/workspace m bindsym $mod+semicolon exec --no-startup-id $HOME/bin/run bindsym $mod+e exec --no-startup-id $HOME/bin/tmux_attach bindsym $mod+o exec --no-startup-id $HOME/bin/references |