~hokiegeek/dotfiles

ref: bb95ccbbd653fccb856a24b2e0ac62fb1a9e6c86 dotfiles/skhdrc -rw-r--r-- 7.5 KiB
bb95ccbbHokieGeek This thing.... 2 years ago
                                                                                
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# open terminal
shift + cmd - return : open -na "iTerm"
hyper - return : open -na "Google Chrome" --args --profile-directory=Default

f13 : win=$(yabai -m query --windows --space 1 --display 1 | \
                jq '[ [ .[] | select(.subrole | contains("AXStandardWindow")) ][] | select(.app | contains("Google Chrome")) ][].id');\
      [[ ! -z "${win}" ]] && yabai -m window --focus ${win}
meh - f13 : /usr/bin/env PATH=${PATH}:/usr/local/bin $HOME/work/se-scripts/andres/demo/ctl restart
hyper - f13 : /usr/bin/env PATH=${PATH}:/usr/local/bin $HOME/work/se-scripts/andres/demo/ctl stop

## F14 used for screenshots

meh - f15 : /usr/bin/env PATH=${PATH}:/usr/local/bin brew services start yabai;\
        osascript -e 'display notification "Starting" with title "yabai"'
hyper - f15 : /usr/bin/env PATH=${PATH}:/usr/local/bin brew services stop yabai;\
        osascript -e 'display notification "Stopping" with title "yabai"'

meh - 0x53 : open -a /Applications/Slack.app
meh - 0x54 : open -a /Applications/Evernote.app
meh - 0x55 : open -a /Applications/OnSIP.app

# focus window
shift + ctrl - e : yabai -m window --focus prev
shift + ctrl - n : yabai -m window --focus next
# 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

# swap window
meh - m : yabai -m window --swap largest

# move window
shift + cmd - h : yabai -m window --warp west
shift + cmd - n : yabai -m window --warp south
shift + cmd - e : yabai -m window --warp north
shift + cmd - i : yabai -m window --warp east

# balance size of windows
# shift + alt - 0 : yabai -m space --balance

# 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}"

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

# destroy desktop
# cmd + alt - w : yabai -m space --destroy

# fast focus desktop
meh - tab : yabai -m space --focus recent
shift + ctrl + alt - n : yabai -m space --focus next
shift + ctrl + alt - e : yabai -m space --focus prev
cmd - 1 : yabai -m space --focus 1
cmd - 2 : yabai -m space --focus 2
cmd - 3 : yabai -m space --focus 3
cmd - 4 : yabai -m space --focus 4
cmd - 5 : yabai -m space --focus 5
cmd - 6 : yabai -m space --focus 6
cmd - 7 : yabai -m space --focus 7
cmd - 8 : yabai -m space --focus 8
cmd - 9 : yabai -m space --focus 9

# send window to desktop and follow focus
# shift + cmd - x : yabai -m window --space recent; yabai -m space --focus recent
# shift + cmd - z : yabai -m window --space prev; yabai -m space --focus prev
# shift + cmd - c : yabai -m window --space next; yabai -m space --focus next
# shift + cmd - 1 : yabai -m window --space  1; yabai -m space --focus 1
# shift + cmd - 2 : yabai -m window --space  2; yabai -m space --focus 2
# shift + cmd - 3 : yabai -m window --space  3; yabai -m space --focus 3
# shift + cmd - 4 : yabai -m window --space  4; yabai -m space --focus 4
# shift + cmd - 5 : yabai -m window --space  5; yabai -m space --focus 5
# shift + cmd - 6 : yabai -m window --space  6; yabai -m space --focus 6
# shift + cmd - 7 : yabai -m window --space  7; yabai -m space --focus 7
# shift + cmd - 8 : yabai -m window --space  8; yabai -m space --focus 8
# shift + cmd - 9 : yabai -m window --space  9; yabai -m space --focus 9
# shift + cmd - 0 : yabai -m window --space 10; yabai -m space --focus 10

# focus monitor
# lctrl + alt - x  : yabai -m display --focus recent
# lctrl + alt - z  : yabai -m display --focus prev
# lctrl + alt - c  : yabai -m display --focus next
lctrl + alt - z  : yabai -m display --focus 1
lctrl + alt - x  : yabai -m display --focus 2
lctrl + alt - c  : yabai -m display --focus 3

# send window to monitor and follow focus
# ctrl + cmd - x  : yabai -m window --display recent; yabai -m display --focus recent
# ctrl + cmd - z  : yabai -m window --display prev; yabai -m display --focus prev
# ctrl + cmd - c  : yabai -m window --display next; yabai -m display --focus next
# ctrl + cmd - 1  : yabai -m window --display 1; yabai -m display --focus 1
# ctrl + cmd - 2  : yabai -m window --display 2; yabai -m display --focus 2
# ctrl + cmd - 3  : yabai -m window --display 3; yabai -m display --focus 3

# change region size
# meh - h : yabai -m window --use-temporary-ratio 0.05 --adjust-window-edge west; chunkc tiling::window --use-temporary-ratio -0.05 --adjust-window-edge east
# hyper - h : yabai -m window --use-temporary-ratio 0.05 --adjust-window-edge south; chunkc tiling::window --use-temporary-ratio -0.05 --adjust-window-edge north
# hyper - i : yabai -m window --use-temporary-ratio 0.05 --adjust-window-edge north; chunkc tiling::window --use-temporary-ratio -0.05 --adjust-window-edge south
# meh - i : yabai -m window --use-temporary-ratio 0.05 --adjust-window-edge east; chunkc tiling::window --use-temporary-ratio -0.05 --adjust-window-edge west

meh - h : yabai -m window --resize right:20:0 ; yabai -m window --resize left:-20:0
hyper - h : yabai -m window --resize bottom:0:20 ; yabai -m window --resize top:0:-20
hyper - i : yabai -m window --resize top:0:20 ; yabai -m window --resize bottom:0:-20
meh - i : yabai -m window --resize left:20:0 ; yabai -m window --resize right:-20:0

# increase window size
# shift + alt - a : yabai -m window --resize left:-20:0
# shift + alt - s : yabai -m window --resize bottom:0:20
# shift + alt - w : yabai -m window --resize top:0:-20
# shift + alt - d : yabai -m window --resize right:20:0

# decrease window size
# shift + cmd - a : yabai -m window --resize left:20:0
# shift + cmd - s : yabai -m window --resize bottom:0:-20
# shift + cmd - w : yabai -m window --resize top:0:20
# shift + cmd - d : yabai -m window --resize right:-20:0

# set insertion point in focused container
# ctrl + alt - h : yabai -m window --insert west
# ctrl + alt - j : yabai -m window --insert south
# ctrl + alt - k : yabai -m window --insert north
# ctrl + alt - l : yabai -m window --insert east

# rotate tree
lctrl + cmd + lalt - space : yabai -m space --rotate 90

# mirror tree y-axis
# alt - y : yabai -m space --mirror y-axis

# mirror tree x-axis
# alt - x : yabai -m space --mirror x-axis

# toggle window parent zoom
hyper - space : yabai -m window --toggle zoom-parent

# toggle window fullscreen zoom
# alt - f : yabai -m window --toggle zoom-fullscreen

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

# toggle window split type
# alt - e : yabai -m window --toggle split

# toggle window fade
alt - q : yabai -m config normal_window_opacity 1.0
alt + shift - q : yabai -m config normal_window_opacity 0.70

# float / unfloat window and center on screen
alt + cmd - 5 : yabai -m window --toggle float;\
                yabai -m window --grid 4:4:1:1:2:2

# toggle sticky
meh - v : yabai -m window --toggle sticky

# toggle sticky, float and resize to picture-in-picture size
# alt - p : yabai -m window --toggle sticky;\
#           yabai -m window --grid 5:5:4:0:1:1

# change layout of desktop
# ctrl + alt - a : yabai -m space --layout bsp
# ctrl + alt - d : yabai -m space --layout float