# Open WezTerm
cmd - return : wezterm

# Close window
cmd - q : yabai -m window --close

# Navigation
alt - h : yabai -m window --focus west || yabai -m display --focus west
alt - j : yabai -m window --focus south || yabai -m display --focus south
alt - k : yabai -m window --focus north || yabai -m display --focus north
alt - l : yabai -m window --focus east || yabai -m display --focus east
alt - n : yabai -m window --focus next
alt - p : yabai -m window --focus last

# Focus workspace
cmd - 1 : yabai -m space --focus 1
cmd - 2 : yabai -m space --focus 2
cmd - 3 : yabai -m space --focus 3
cmd - 4 : yabai -m space --focus 4
cmd - 5 : yabai -m space --focus 5
cmd - 6 : yabai -m space --focus 6
cmd - 7 : yabai -m space --focus 7
cmd - 8 : yabai -m space --focus 8
cmd - 9 : yabai -m space --focus 9
cmd - 0 : yabai -m space --focus 10
cmd - tab : yabai -m space --focus recent
# cmd - ; : yabai -m space --focus next

# Moving windows
shift + alt - h : yabai -m window --warp west
shift + alt - j : yabai -m window --warp south
shift + alt - k : yabai -m window --warp north
shift + alt - l : yabai -m window --warp east

# Move container to workspace
shift + cmd - m : yabai -m window --space last; sketchybar --trigger windows_on_spaces
shift + cmd - p : yabai -m window --space prev; sketchybar --trigger windows_on_spaces
shift + cmd - n : yabai -m window --space next; sketchybar --trigger windows_on_spaces
shift + cmd - 1 : yabai -m window --space 1; sketchybar --trigger windows_on_spaces
shift + cmd - 2 : yabai -m window --space 2; sketchybar --trigger windows_on_spaces
shift + cmd - 3 : yabai -m window --space 3; sketchybar --trigger windows_on_spaces
shift + cmd - 4 : yabai -m window --space 4; sketchybar --trigger windows_on_spaces
shift + cmd - 5 : yabai -m window --space 5; sketchybar --trigger windows_on_spaces
shift + cmd - 6 : yabai -m window --space 6; sketchybar --trigger windows_on_spaces
shift + cmd - 7 : yabai -m window --space 7; sketchybar --trigger windows_on_spaces
shift + cmd - 8 : yabai -m window --space 8; sketchybar --trigger windows_on_spaces
shift + cmd - 9 : yabai -m window --space 9; sketchybar --trigger windows_on_spaces
shift + cmd - 0 : yabai -m window --space 10; sketchybar --trigger windows_on_spaces

# Move focus container to workspace
shift + alt - m : yabai -m window --space last; yabai -m space --focus last; sketchybar --trigger windows_on_spaces
shift + alt - p : yabai -m window --space prev; yabai -m space --focus prev; sketchybar --trigger windows_on_spaces
shift + alt - n : yabai -m window --space next; yabai -m space --focus next; sketchybar --trigger windows_on_spaces
shift + alt - 1 : yabai -m window --space 1; yabai -m space --focus 1; sketchybar --trigger windows_on_spaces
shift + alt - 2 : yabai -m window --space 2; yabai -m space --focus 2; sketchybar --trigger windows_on_spaces
shift + alt - 3 : yabai -m window --space 3; yabai -m space --focus 3; sketchybar --trigger windows_on_spaces
shift + alt - 4 : yabai -m window --space 4; yabai -m space --focus 4; sketchybar --trigger windows_on_spaces
shift + alt - 5 : yabai -m window --space 5; yabai -m space --focus 5; sketchybar --trigger windows_on_spaces
shift + alt - 6 : yabai -m window --space 6; yabai -m space --focus 6; sketchybar --trigger windows_on_spaces
shift + alt - 7 : yabai -m window --space 7; yabai -m space --focus 7; sketchybar --trigger windows_on_spaces
shift + alt - 8 : yabai -m window --space 8; yabai -m space --focus 8; sketchybar --trigger windows_on_spaces
shift + alt - 9 : yabai -m window --space 9; yabai -m space --focus 9; sketchybar --trigger windows_on_spaces
shift + alt - 0 : yabai -m window --space 10; yabai -m space --focus 9; sketchybar --trigger windows_on_spaces

# Resize windows
lctrl + alt - h : yabai -m window --resize left:-50:0; \
                  yabai -m window --resize right:-50:0
lctrl + alt - j : yabai -m window --resize bottom:0:50; \
                  yabai -m window --resize top:0:50
lctrl + alt - k : yabai -m window --resize top:0:-50; \
                  yabai -m window --resize bottom:0:-50
lctrl + alt - l : yabai -m window --resize right:50:0; \
                  yabai -m window --resize left:50:0

# Equalize size of windows
lctrl + alt - e : yabai -m space --balance

# Enable / Disable gaps in current workspace
lctrl + alt - g : yabai -m space --toggle padding; yabai -m space --toggle gap

# Rotate windows clockwise and anticlockwise
alt - r         : yabai -m space --rotate 270
shift + alt - r : yabai -m space --rotate 90

# Rotate on X and Y Axis
shift + alt - x : yabai -m space --mirror x-axis
shift + alt - y : yabai -m space --mirror y-axis

# Set insertion point for focused container
shift + lctrl + alt - h : yabai -m window --insert west
shift + lctrl + alt - j : yabai -m window --insert south
shift + lctrl + alt - k : yabai -m window --insert north
shift + lctrl + alt - l : yabai -m window --insert east

# Float / Unfloat window
shift + cmd - space : \
    yabai -m window --toggle float; \
    yabai -m window --toggle border; \
    sketchybar --trigger window_focus

# Restart Yabai
shift + lctrl + alt - r : \
    /usr/bin/env osascript <<< \
        "display notification \"Restarting Yabai\" with title \"Yabai\""; \
    launchctl kickstart -k "gui/${UID}/homebrew.mxcl.yabai"

# Make window native fullscreen
alt - f         : yabai -m window --toggle zoom-fullscreen; sketchybar --trigger window_focus
shift + alt - f : yabai -m window --toggle native-fullscreen