skhdrc
# ~/.config/skhd/skhdrc -- keybinds from ~/.config/hypr/hyprland.lua
# mainMod = SUPER -> cmd
# ---- Programs ----
cmd - return : open -na kitty
cmd - e : open -a Finder
cmd - b : open -na Firefox
cmd + shift - b : open -na Firefox --args --private-window
# cmd - space is Spotlight/Raycast natively; left unbound here.
# cmd + shift - 3/4/5 are native macOS screenshots; left unbound here.
# ---- Window ----
cmd - w : yabai -m window --close
alt - space : yabai -m window --toggle float --grid 4:4:1:1:2:2
cmd - f : yabai -m window --toggle zoom-fullscreen
# SUPER+V (togglesplit) collides with paste on macOS; rebound to cmd+shift+v
cmd + shift - v : yabai -m window --toggle split
# SUPER+P (pseudotile) has no yabai equivalent.
# ---- Focus (arrows + hjkl) ----
cmd - left : yabai -m window --focus west
cmd - down : yabai -m window --focus south
cmd - up : yabai -m window --focus north
cmd - right : yabai -m window --focus east
cmd - h : yabai -m window --focus west
cmd - j : yabai -m window --focus south
cmd - k : yabai -m window --focus north
cmd - l : yabai -m window --focus east
# ---- Swap ----
cmd + shift - h : yabai -m window --swap west
cmd + shift - j : yabai -m window --swap south
cmd + shift - k : yabai -m window --swap north
cmd + shift - l : yabai -m window --swap east
# ---- Workspaces ----
# Focusing a space needs the scripting addition (SIP off), so it is not bound here.
# Instead enable the native shortcuts once:
# System Settings > Keyboard > Keyboard Shortcuts > Mission Control > "Switch to Desktop 1..10"
# macOS defaults them to ctrl-N; change each to cmd-N there to match SUPER+N.
# Moving a window to a space (below) works without the scripting addition.
cmd + ctrl - 1 : yabai -m window --space 1
cmd + ctrl - 2 : yabai -m window --space 2
cmd + ctrl - 3 : yabai -m window --space 3
cmd + ctrl - 4 : yabai -m window --space 4
cmd + ctrl - 5 : yabai -m window --space 5
cmd + ctrl - 6 : yabai -m window --space 6
cmd + ctrl - 7 : yabai -m window --space 7
cmd + ctrl - 8 : yabai -m window --space 8
cmd + ctrl - 9 : yabai -m window --space 9
cmd + ctrl - 0 : yabai -m window --space 10
# ---- Scratchpad (special:magic) -> yabai has none; closest is minimize/restore ----
# cmd - s : yabai -m window --minimize
# cmd + shift - s : yabai -m window --deminimize
# ---- Session ----
cmd + shift - r : yabai --restart-service
# SUPER+M (hyprshutdown) is Minimize on macOS; left unbound.
# ---- Media keys are handled natively by macOS. ----