2024-08-05 18:46:25 -07:00
|
|
|
{
|
|
|
|
services.skhd = {
|
|
|
|
enable = true;
|
2024-08-08 02:52:28 -07:00
|
|
|
skhdConfig = ''
|
2024-08-05 18:46:25 -07:00
|
|
|
# opens iTerm2
|
|
|
|
alt - return : kitty
|
2024-08-08 02:59:45 -07:00
|
|
|
|
2024-08-05 18:46:25 -07:00
|
|
|
# Navigation
|
|
|
|
alt - y : yabai -m window --focus west
|
|
|
|
alt - u : yabai -m window --focus south
|
|
|
|
alt - i : yabai -m window --focus north
|
|
|
|
alt - o : yabai -m window --focus east
|
2024-08-08 02:59:45 -07:00
|
|
|
|
2024-08-05 18:46:25 -07:00
|
|
|
# Moving windows
|
|
|
|
shift + alt - y : yabai -m window --warp west
|
|
|
|
shift + alt - u : yabai -m window --warp south
|
|
|
|
shift + alt - i : yabai -m window --warp north
|
|
|
|
shift + alt - o : yabai -m window --warp east
|
2024-08-08 02:59:45 -07:00
|
|
|
|
2024-08-05 18:46:25 -07:00
|
|
|
# Move focus container to workspace
|
|
|
|
shift + alt - m : yabai -m window --space last; yabai -m space --focus last
|
|
|
|
shift + alt - p : yabai -m window --space prev; yabai -m space --focus prev
|
|
|
|
shift + alt - n : yabai -m window --space next; yabai -m space --focus next
|
|
|
|
shift + alt - 1 : yabai -m window --space 1; yabai -m space --focus 1
|
|
|
|
shift + alt - 2 : yabai -m window --space 2; yabai -m space --focus 2
|
|
|
|
shift + alt - 3 : yabai -m window --space 3; yabai -m space --focus 3
|
|
|
|
shift + alt - 4 : yabai -m window --space 4; yabai -m space --focus 4
|
2024-08-08 02:59:45 -07:00
|
|
|
|
2024-08-05 18:46:25 -07:00
|
|
|
# Resize windows
|
|
|
|
lctrl + alt - y : yabai -m window --resize left:-50:0; \
|
|
|
|
yabai -m window --resize right:-50:0
|
|
|
|
lctrl + alt - u : yabai -m window --resize bottom:0:50; \
|
|
|
|
yabai -m window --resize top:0:50
|
|
|
|
lctrl + alt - i : yabai -m window --resize top:0:-50; \
|
|
|
|
yabai -m window --resize bottom:0:-50
|
|
|
|
lctrl + alt - o : yabai -m window --resize right:50:0; \
|
|
|
|
yabai -m window --resize left:50:0
|
2024-08-08 02:59:45 -07:00
|
|
|
|
2024-08-05 18:46:25 -07:00
|
|
|
# Equalize size of windows
|
|
|
|
lctrl + alt - e : yabai -m space --balance
|
2024-08-08 02:59:45 -07:00
|
|
|
|
2024-08-05 18:46:25 -07:00
|
|
|
# Enable / Disable gaps in current workspace
|
|
|
|
lctrl + alt - g : yabai -m space --toggle padding; yabai -m space --toggle gap
|
2024-08-08 02:59:45 -07:00
|
|
|
|
2024-08-05 18:46:25 -07:00
|
|
|
# Rotate windows clockwise and anticlockwise
|
|
|
|
alt - r : yabai -m space --rotate 270
|
|
|
|
shift + alt - r : yabai -m space --rotate 90
|
2024-08-08 02:59:45 -07:00
|
|
|
|
2024-08-05 18:46:25 -07:00
|
|
|
# Rotate on X and Y Axis
|
|
|
|
shift + alt - x : yabai -m space --mirror x-axis
|
|
|
|
shift + alt - y : yabai -m space --mirror y-axis
|
2024-08-08 02:59:45 -07:00
|
|
|
|
2024-08-05 18:46:25 -07:00
|
|
|
# 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
|
2024-08-08 02:59:45 -07:00
|
|
|
|
2024-08-05 18:46:25 -07:00
|
|
|
# Float / Unfloat window
|
|
|
|
shift + alt - space : \
|
|
|
|
yabai -m window --toggle float; \
|
|
|
|
yabai -m window --toggle border
|
2024-08-08 02:59:45 -07:00
|
|
|
|
2024-08-05 18:46:25 -07:00
|
|
|
# Make window native fullscreen
|
|
|
|
alt - f : yabai -m window --toggle zoom-fullscreen
|
|
|
|
shift + alt - f : yabai -m window --toggle native-fullscreen
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
}
|