dotfiles/.config/sway/config.d/40_workspaces

154 lines
6.7 KiB
Text
Raw Normal View History

# Define workspaces and keybindings to switch or move windows between them.
# WORKSPACE VARIABLES
# ~~~~~~~~~~~~~~~~~~~
# Define primary set of workspaces, accessed with the number key row (including [`] for WS0,
# [-] for WS11 and [=] for WS12). Will be assigned to primary output (with exceptions).
set $WS0 0
set $WS1 "1: www"
set $WS2 "2: code"
set $WS3 3
set $WS4 4
set $WS5 5
set $WS6 6
set $WS7 7
set $WS8 8
set $WS9 9
set $WS10 "10: mail"
set $WS11 "11: music"
set $WS12 "12: chat"
# Define secondary set of workspaces, accessed with the F1-F12 keys.
# Will be assigned to secondary and tertiary output if present.
set $WSf1 "F1"
set $WSf2 "F2"
set $WSf3 "F3"
set $WSf4 "F4"
set $WSf5 "F5"
set $WSf6 "F6"
set $WSf7 "F7"
set $WSf8 "F8"
set $WSf9 "F9"
set $WSf10 "F10"
set $WSf11 "F11"
set $WSf12 "F12"
# WORKSPACE ASSIGNMENTS
# ~~~~~~~~~~~~~~~~~~~~~
# (Uses output variables as defined in 30_output.)
# Define primary workspaces and assign them to screens.
workspace $WS0 output $OUTPUT_PRIMARY
workspace $WS1 output $OUTPUT_PRIMARY
workspace $WS2 output $OUTPUT_PRIMARY
workspace $WS3 output $OUTPUT_PRIMARY
workspace $WS4 output $OUTPUT_PRIMARY
workspace $WS5 output $OUTPUT_PRIMARY
workspace $WS6 output $OUTPUT_PRIMARY
workspace $WS7 output $OUTPUT_PRIMARY
workspace $WS8 output $OUTPUT_PRIMARY
workspace $WS9 output $OUTPUT_PRIMARY
workspace $WS10 output $OUTPUT_PRIMARY
workspace $WS11 output $OUTPUT_SECONDARY
workspace $WS12 output $OUTPUT_SECONDARY
# Define secondary workspaces and assign them to screens.
workspace $WSf1 output $OUTPUT_SECONDARY
workspace $WSf2 output $OUTPUT_SECONDARY
workspace $WSf3 output $OUTPUT_SECONDARY
workspace $WSf4 output $OUTPUT_SECONDARY
workspace $WSf5 output $OUTPUT_SECONDARY
workspace $WSf6 output $OUTPUT_SECONDARY
workspace $WSf7 output $OUTPUT_SECONDARY
workspace $WSf8 output $OUTPUT_SECONDARY
workspace $WSf9 output $OUTPUT_TERTIARY
workspace $WSf10 output $OUTPUT_TERTIARY
workspace $WSf11 output $OUTPUT_TERTIARY
workspace $WSf12 output $OUTPUT_TERTIARY
# WORKSPACE KEYBINDINGS
# ~~~~~~~~~~~~~~~~~~~~~
# Switch focus between workspaces
bindsym $mod+grave workspace number $WS0
bindsym $mod+1 workspace number $WS1
bindsym $mod+2 workspace number $WS2
bindsym $mod+3 workspace number $WS3
bindsym $mod+4 workspace number $WS4
bindsym $mod+5 workspace number $WS5
bindsym $mod+6 workspace number $WS6
bindsym $mod+7 workspace number $WS7
bindsym $mod+8 workspace number $WS8
bindsym $mod+9 workspace number $WS9
bindsym $mod+0 workspace number $WS10
bindsym $mod+minus workspace number $WS11
bindsym $mod+equal workspace number $WS12
bindsym $mod+F1 workspace $WSf1
bindsym $mod+F2 workspace $WSf2
bindsym $mod+F3 workspace $WSf3
bindsym $mod+F4 workspace $WSf4
bindsym $mod+F5 workspace $WSf5
bindsym $mod+F6 workspace $WSf6
bindsym $mod+F7 workspace $WSf7
bindsym $mod+F8 workspace $WSf8
bindsym $mod+F9 workspace $WSf9
bindsym $mod+F10 workspace $WSf10
bindsym $mod+F11 workspace $WSf11
bindsym $mod+F12 workspace $WSf12
# Move focused container to workspace (and switch to that workspace)
bindsym $mod+Shift+grave move container to workspace number $WS0; workspace $WS0
bindsym $mod+Shift+1 move container to workspace number $WS1; workspace $WS1
bindsym $mod+Shift+2 move container to workspace number $WS2; workspace $WS2
bindsym $mod+Shift+3 move container to workspace number $WS3; workspace $WS3
bindsym $mod+Shift+4 move container to workspace number $WS4; workspace $WS4
bindsym $mod+Shift+5 move container to workspace number $WS5; workspace $WS5
bindsym $mod+Shift+6 move container to workspace number $WS6; workspace $WS6
bindsym $mod+Shift+7 move container to workspace number $WS7; workspace $WS7
bindsym $mod+Shift+8 move container to workspace number $WS8; workspace $WS8
bindsym $mod+Shift+9 move container to workspace number $WS9; workspace $WS9
bindsym $mod+Shift+0 move container to workspace number $WS10; workspace $WS10
bindsym $mod+Shift+minus move container to workspace number $WS11; workspace $WS11
bindsym $mod+Shift+equal move container to workspace number $WS12; workspace $WS12
bindsym $mod+Shift+F1 move container to workspace $WSf1; workspace $WSf1
bindsym $mod+Shift+F2 move container to workspace $WSf2; workspace $WSf2
bindsym $mod+Shift+F3 move container to workspace $WSf3; workspace $WSf3
bindsym $mod+Shift+F4 move container to workspace $WSf4; workspace $WSf4
bindsym $mod+Shift+F5 move container to workspace $WSf5; workspace $WSf5
bindsym $mod+Shift+F6 move container to workspace $WSf7; workspace $WSf7
bindsym $mod+Shift+F8 move container to workspace $WSf8; workspace $WSf8
bindsym $mod+Shift+F9 move container to workspace $WSf9; workspace $WSf9
bindsym $mod+Shift+F10 move container to workspace $WSf10; workspace $WSf10
bindsym $mod+Shift+F11 move container to workspace $WSf11; workspace $WSf11
bindsym $mod+Shift+F12 move container to workspace $WSf12; workspace $WSf12
# Move focused container to workspace (without switching the workspace)
bindsym $mod+Ctrl+Shift+grave move container to workspace number $WS0
bindsym $mod+Ctrl+Shift+1 move container to workspace number $WS1
bindsym $mod+Ctrl+Shift+2 move container to workspace number $WS2
bindsym $mod+Ctrl+Shift+3 move container to workspace number $WS3
bindsym $mod+Ctrl+Shift+4 move container to workspace number $WS4
bindsym $mod+Ctrl+Shift+5 move container to workspace number $WS5
bindsym $mod+Ctrl+Shift+6 move container to workspace number $WS6
bindsym $mod+Ctrl+Shift+7 move container to workspace number $WS7
bindsym $mod+Ctrl+Shift+8 move container to workspace number $WS8
bindsym $mod+Ctrl+Shift+9 move container to workspace number $WS9
bindsym $mod+Ctrl+Shift+0 move container to workspace number $WS10
bindsym $mod+Ctrl+Shift+minus move container to workspace number $WS11
bindsym $mod+Ctrl+Shift+equal move container to workspace number $WS12
bindsym $mod+Ctrl+Shift+F1 move container to workspace $WSf1
bindsym $mod+Ctrl+Shift+F2 move container to workspace $WSf2
bindsym $mod+Ctrl+Shift+F3 move container to workspace $WSf3
bindsym $mod+Ctrl+Shift+F4 move container to workspace $WSf4
bindsym $mod+Ctrl+Shift+F5 move container to workspace $WSf5
bindsym $mod+Ctrl+Shift+F6 move container to workspace $WSf7
bindsym $mod+Ctrl+Shift+F8 move container to workspace $WSf8
bindsym $mod+Ctrl+Shift+F9 move container to workspace $WSf9
bindsym $mod+Ctrl+Shift+F10 move container to workspace $WSf10
bindsym $mod+Ctrl+Shift+F11 move container to workspace $WSf11
bindsym $mod+Ctrl+Shift+F12 move container to workspace $WSf12