# ┌                                                ┐
# │     Switch workspaces with mainMod + [0-9]     │
# └                                                ┘
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

# ┌                                                ┐
# │     Move active window to a workspace with     │
# │            mainMod + SHIFT + [0-9]             │
# └                                                ┘
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10

# ┌                                                ┐
# │          Move focus with vim motions           │
# └                                                ┘
bind = $mainMod, h, movefocus, l
bind = $mainMod, l, movefocus, r
bind = $mainMod, j, movefocus, d
bind = $mainMod, k, movefocus, u


# ┌                                                ┐
# │               Special workspace                │
# └                                                ┘
bind = $mainMod SHIFT, M, movetoworkspace, special
bind = $mainMod, M, togglespecialworkspace

# ┌                                                ┐
# │    Scroll through existing workspaces with     │
# │                mainMod + scroll                │
# └                                                ┘
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

# ┌                                                ┐
# │   move to next window / previous window with   │
# │         ALT + Tab / SHIFT + ALT + Tab          │
# └                                                ┘
bind = ALT SHIFT, tab, cyclenext, prev
bind = ALT, tab, focusurgentorlast



# ────────────────────────────────────────────────────────────────────
#          ╭────────────────────────────────────────────────╮
#          │        Submap for workspace management         │
#          ╰────────────────────────────────────────────────╯
bind = $mainMod, Y, submap, workspace
submap = workspace

# ── Move to workspace ───────────────────────────────────────────────
bind = , 1, workspace, 1
bind = , 2, workspace, 2
bind = , 3, workspace, 3
bind = , 4, workspace, 4
bind = , 5, workspace, 5
bind = , 6, workspace, 6
bind = , 7, workspace, 7
bind = , 8, workspace, 8
bind = , 9, workspace, 9
bind = , 0, workspace, 10


# ── Move active window to workspace ─────────────────────────────────
bind = SHIFT, 1, movetoworkspace, 1
bind = SHIFT, 2, movetoworkspace, 2
bind = SHIFT, 3, movetoworkspace, 3
bind = SHIFT, 4, movetoworkspace, 4
bind = SHIFT, 5, movetoworkspace, 5
bind = SHIFT, 6, movetoworkspace, 6
bind = SHIFT, 7, movetoworkspace, 7
bind = SHIFT, 8, movetoworkspace, 8
bind = SHIFT, 9, movetoworkspace, 9
bind = SHIFT, 0, movetoworkspace, 10


# ── Move workspace with vim motions or mouse scroll ─────────────────
bind = , h, workspace, e-1
bind = , l, workspace, e+1
bind = , mouse_down, workspace, e+1
bind = , mouse_up, workspace, e-1


# ── Move window to workspace with vim motions ───────────────────────
bind = SHIFT, h, movetoworkspace, e-1
bind = SHIFT, l, movetoworkspace, e+1


# ── Special workspace ───────────────────────────────────────────────
bind = , s, togglespecialworkspace
bind = SHIFT, s, movetoworkspace, special


# ── dwindle ─────────────────────────────────────────────────────────
bind = , M, layoutmsg, swapsplit


# ── Exit submap ─────────────────────────────────────────────────────
bind = , escape, submap, reset
submap = reset
# ────────────────────────────────────────────────────────────────────
