dotfiles/dot_config/skhd/skhdrc
2025-04-14 06:41:17 +08:00

100 lines
3.7 KiB
Text

# Applications
# open terminal, blazingly fast compared to iTerm/Hyper
#cmd - return : /Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~
cmd - return : open -na /Applications/Nix\ Apps/Alacritty.app
#
# requires emacs daemon to be running. Use brew services to start.
cmd + shift - return : emacsclient -c
# Navigation
alt - h : yabai -m window --focus west
alt - j : yabai -m window --focus south
alt - k : yabai -m window --focus north
alt - l : yabai -m window --focus east
alt + shift - h : yabai -m window --swap west
alt + shift - j : yabai -m window --swap south
alt + shift - k : yabai -m window --swap north
alt + shift - l : yabai -m window --swap east
# alt + shift - t : yabai -m window --ratio 0.7
# 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
# Float / Unfloat window
shift + alt - space : \
yabai -m window --toggle float; \
yabai -m window --toggle border
alt - 1 : yabai -m space --focus main
alt - c : yabai -m space --focus chat
alt - w : yabai -m space --focus writing
alt - e : yabai -m space --focus todo
alt - 3 : yabai -m space --focus A
alt - 4 : yabai -m space --focus B
alt - 5 : yabai -m space --focus C
alt - 2 : yabai -m space --focus D
# move windows to spaces
shift + alt - 1 : eval $(/opt/homebrew/bin/brew shellenv) && yabai -m window --space main
shift + alt - w : eval $(/opt/homebrew/bin/brew shellenv) && yabai -m window --space writing
shift + alt - 2 : eval $(/opt/homebrew/bin/brew shellenv) && yabai -m window --space D
shift + alt - 3 : eval $(/opt/homebrew/bin/brew shellenv) && yabai -m window --space A
shift + alt - 4 : eval $(/opt/homebrew/bin/brew shellenv) && yabai -m window --space B
shift + alt - 5 : eval $(/opt/homebrew/bin/brew shellenv) && yabai -m window --space C
# increase window size
shift + alt - a : yabai -m window --resize left:-20:0
shift + alt - d : yabai -m window --resize right:-20:0
shift + alt - w : yabai -m window --resize top:0:-20
shift + alt - s : yabai -m window --resize bottom:0:20
# decrease window size
shift + cmd - s : yabai -m window --resize bottom:0:-20
shift + cmd - w : yabai -m window --resize top:0:20
shift + cmd - a : yabai -m window --resize left:20:0
shift + cmd - d : yabai -m window --resize right:20:0
alt - e : eval $(/opt/homebrew/bin/brew shellenv) && yabai -m window --toggle split
# float / unfloat window and center on screen
#shift + alt - t : yabai -m window --toggle float;\
# yabai -m window --grid 4:4:1:1:2:2
alt + shift - t : eval $(/opt/homebrew/bin/brew shellenv) && yabai -m window --toggle float; \
yabai -m window --grid 20:20:1:1:18:18
alt - t : eval $(/opt/homebrew/bin/brew shellenv) && yabai -m window --toggle float --grid 4:4:1:1:2:2
# toggle sticky
# alt - s : yabai -m window --toggle sticky
# toggle sticky, float and resize to picture-in-picture size
alt - p : yabai -m window --grid 5:5:4:0:1:1
# balance size of windows
#shift + alt - 0 : yabai -m space --balance
#shift + alt - t : yabai -m window --toggle float;\
#shift + alt - t : yabai -m window --toggle float;\
# yabai -m window --grid 4:4:1:1:2:2
#
#alt - t : yabai -m window --toggle float;\
# yabai -m window --grid 20:20:1:1:18:18
# yabai -m window --grid 4:4:1:1:2:2
#
#alt - t : yabai -m window --toggle float;\
# yabai -m window --grid 20:20:1:1:18:18