aboutsummaryrefslogtreecommitdiff
path: root/.config/skhd/skhdrc
blob: 6b8f24e58531fb9397ead90e58aae19953d4df3a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# yabai binds
# Window focus
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

# Window swaps
alt + ctrl - h : yabai -m window --swap west
alt + ctrl - j : yabai -m window --swap south
alt + ctrl - k : yabai -m window --swap north
alt + ctrl - l : yabai -m window --swap east

# Move window absolute
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

# create desktop, move window and follow focus - uses jq for parsing json (brew install jq)
# shift + cmd - n : yabai -m space --create && \
#                   index="$(yabai -m query --spaces --display | jq 'map(select(."native-fullscreen" == 0))[-1].index')" && \
#                   yabai -m window --space "${index}" && \
#                   yabai -m space --focus "${index}"

# Workspace focus
alt - 1 : yabai -m space --focus 1
alt - 2 : yabai -m space --focus 2
alt - 3 : yabai -m space --focus 3
alt - 4 : yabai -m space --focus 4
alt - 5 : yabai -m space --focus 5
alt - 6 : yabai -m space --focus 6
alt - 7 : yabai -m space --focus 7
alt - 8 : yabai -m space --focus 8
alt - 9 : yabai -m space --focus 9

# Send window to workspace
shift + alt - 1 : yabai -m window --space 1
shift + alt - 2 : yabai -m window --space 2
shift + alt - 3 : yabai -m window --space 3
shift + alt - 4 : yabai -m window --space 4
shift + alt - 5 : yabai -m window --space 5
shift + alt - 6 : yabai -m window --space 6
shift + alt - 7 : yabai -m window --space 7
shift + alt - 8 : yabai -m window --space 8
shift + alt - 9 : yabai -m window --space 9

# Send window, follow focus
shift + ctrl + alt - 1 : yabai -m window --space 1; yabai -m space --focus 1
shift + ctrl + alt - 2 : yabai -m window --space 2; yabai -m space --focus 2
shift + ctrl + alt - 3 : yabai -m window --space 3; yabai -m space --focus 3
shift + ctrl + alt - 4 : yabai -m window --space 4; yabai -m space --focus 4
shift + ctrl + alt - 5 : yabai -m window --space 5; yabai -m space --focus 5
shift + ctrl + alt - 6 : yabai -m window --space 6; yabai -m space --focus 6
shift + ctrl + alt - 7 : yabai -m window --space 7; yabai -m space --focus 7
shift + ctrl + alt - 8 : yabai -m window --space 8; yabai -m space --focus 8
shift + ctrl + alt - 9 : yabai -m window --space 9; yabai -m space --focus 9

# Resize
cmd + alt - h : yabai -m window --resize left:-20:0
cmd + alt - j : yabai -m window --resize top:0:20
cmd + alt - k : yabai -m window --resize top:0:-20
cmd + alt - l : yabai -m window --resize left:20:0

# Insertion point
ctrl + shift - h : yabai -m window --insert west
ctrl + shift - j : yabai -m window --insert south
ctrl + shift - k : yabai -m window --insert north
ctrl + shift - l : yabai -m window --insert east

# Layout
shift + alt - t : yabai -m space --layout float
alt - t : yabai -m space --layout bsp

# Float
alt + shift - space : yabai -m window --toggle float

# toggle sticky(+float), topmost, picture-in-picture
alt - p : yabai -m window --toggle sticky;\
          yabai -m window --toggle topmost;\
          yabai -m window --toggle pip

# Reload
ctrl + alt + cmd - r : launchctl kickstart -k "gui/${UID}/homebrew.mxcl.yabai"

# Close window
alt + shift - q : yabai -m window --close

# Fullscreen
alt - f : yabai -m window --toggle zoom-fullscreen
shift + alt - f : yabai -m window --toggle native-fullscreen

# Programs
alt - return : $HOME/.config/yabai/iterm2_open
alt - w : /Applications/Firefox.app/Contents/MacOS/firefox