###############################################################################
# Window and Workspace Navigation
###############################################################################

## Navigate // Relative Parent // <> a ##/
set_from_resource $wm.binding.focus_parent wm.binding.focus_parent a
bindsym $mod+$wm.binding.focus_parent focus parent

## Navigate // Relative Child // <> z ##/
set_from_resource $wm.binding.focus_child wm.binding.focus_child z
bindsym $mod+$wm.binding.focus_child focus child

## Navigate // Relative Window // <> ↑ ↓ ← → ##
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

## Navigate // Relative Window // <> k j h l ##
bindsym $mod+$wm.binding.left focus left
bindsym $mod+$wm.binding.down focus down
bindsym $mod+$wm.binding.up focus up
bindsym $mod+$wm.binding.right focus right

## Navigate // Workspaces 1-10 // <> 0..9 ##
bindsym $mod+$ws1_key workspace number $ws1
bindsym $mod+$ws2_key workspace number $ws2
bindsym $mod+$ws3_key workspace number $ws3
bindsym $mod+$ws4_key workspace number $ws4
bindsym $mod+$ws5_key workspace number $ws5
bindsym $mod+$ws6_key workspace number $ws6
bindsym $mod+$ws7_key workspace number $ws7
bindsym $mod+$ws8_key workspace number $ws8
bindsym $mod+$ws9_key workspace number $ws9
bindsym $mod+$ws10_key workspace number $ws10
## Navigate // Workspace 11 - 19 // <><Ctrl> 1..9 ##
bindsym $mod+Ctrl+$ws1_key workspace number $ws11
bindsym $mod+Ctrl+$ws2_key workspace number $ws12
bindsym $mod+Ctrl+$ws3_key workspace number $ws13
bindsym $mod+Ctrl+$ws4_key workspace number $ws14
bindsym $mod+Ctrl+$ws5_key workspace number $ws15
bindsym $mod+Ctrl+$ws6_key workspace number $ws16
bindsym $mod+Ctrl+$ws7_key workspace number $ws17
bindsym $mod+Ctrl+$ws8_key workspace number $ws18
bindsym $mod+Ctrl+$ws9_key workspace number $ws19

## Navigate // Next Workspace // <> Tab ##
set_from_resource $wm.binding.ws_next wm.binding.ws_next Tab
bindsym $mod+$wm.binding.ws_next workspace next

## Navigate // Next Workspace // <><Alt> → ##
set_from_resource $wm.binding.ws_next2 wm.binding.ws_next2 Right
bindsym $mod+$alt+$wm.binding.ws_next2 workspace next

## Navigate // Next Workspace on Output // <><Ctrl> Tab ##
set_from_resource $wm.binding.ws_next_on_output wm.binding.ws_next_on_output Ctrl+Tab
bindsym $mod+$wm.binding.ws_next_on_output workspace next_on_output

## Navigate // Next Workspace on Output // <><Ctrl> l ##
set_from_resource $wm.binding.ws_next_on_output2 wm.binding.ws_next_on_output2 Ctrl+l
bindsym $mod+$wm.binding.ws_next_on_output2 workspace next_on_output

## Navigate // Previous Workspace // <><Shift> Tab ##
set_from_resource $wm.binding.ws_prev wm.binding.ws_prev Shift+Tab
bindsym $mod+$wm.binding.ws_prev workspace prev

## Navigate // Previous Workspace // <><Alt> ← ##
set_from_resource $wm.binding.ws_prev2 wm.binding.ws_prev2 Left
bindsym $mod+$alt+$wm.binding.ws_prev2 workspace prev

## Navigate // Previous Workspace on Output // <><Ctrl><Shift> Tab ##
set_from_resource $wm.binding.ws_prev_on_output wm.binding.ws_prev_on_output Ctrl+Shift+Tab
bindsym $mod+$wm.binding.ws_prev_on_output workspace prev_on_output

## Navigate // Previous Workspace on Output // <><Ctrl> h ##
set_from_resource $wm.binding.ws_prev_on_output2 wm.binding.ws_prev_on_output2 Ctrl+h
bindsym $mod+$wm.binding.ws_prev_on_output2 workspace prev_on_output

## Navigate // Scratchpad // <><Ctrl> a ##
set_from_resource $wm.binding.scratchpad wm.binding.scratchpad Ctrl+a
bindsym $mod+$wm.binding.scratchpad scratchpad show
