liminalOS/modules/darwin/skhd.nix

70 lines
2.7 KiB
Nix
Raw Permalink Normal View History

2024-08-05 18:46:25 -07:00
{
services.skhd = {
enable = true;
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
'';
};
}