dotfiles

=> git.r.bdr.sh
=> summary
=> tree
=> log
=> refs

dotfiles/skhdrc | 9 KB

=> view raw

  1 #  NOTE(koekeishiya): A list of all built-in modifier and literal keywords can
  2 #                     be found at https://github.com/koekeishiya/skhd/issues/1
  3 #
  4 #                     A hotkey is written according to the following rules:
  5 #
  6 #                       hotkey       =  '<'  | 
  7 #
  8 #                       mode         = 'name of mode' |  ',' 
  9 #
 10 #                       action       =  '['  ']' |  '->' '['  ']'
 11 #                                       ':'           |  '->' ':' 
 12 #                                       ';'              |  '->' ';' 
 13 #
 14 #                       keysym       =  '-'  | 
 15 #
 16 #                       mod          = 'modifier keyword' |  '+' 
 17 #
 18 #                       key          =  | 
 19 #
 20 #                       literal      = 'single letter or built-in keyword'
 21 #
 22 #                       keycode      = 'apple keyboard kVK_ values (0x3C)'
 23 #
 24 #                       proc_map_lst = * 
 25 #
 26 #                       proc_map     =  ':'  |      '~' |
 27 #                                      '*'      ':'  | '*'          '~'
 28 #
 29 #                       string       = '"' 'sequence of characters' '"'
 30 #
 31 #                       command      = command is executed through '$SHELL -c' and
 32 #                                      follows valid shell syntax. if the $SHELL environment
 33 #                                      variable is not set, it will default to '/bin/bash'.
 34 #                                      when bash is used, the ';' delimeter can be specified
 35 #                                      to chain commands.
 36 #
 37 #                                      to allow a command to extend into multiple lines,
 38 #                                      prepend '\' at the end of the previous line.
 39 #
 40 #                                      an EOL character signifies the end of the bind.
 41 #
 42 #                       ->           = keypress is not consumed by skhd
 43 #
 44 #                       *            = matches every application not specified in 
 45 #
 46 #                       ~            = application is unbound and keypress is forwarded per usual, when specified in a 
 47 #
 48 #  NOTE(koekeishiya): A mode is declared according to the following rules:
 49 #
 50 #                       mode_decl = '::'  '@' ':'  | '::'  ':'  |
 51 #                                   '::'  '@'               | '::' 
 52 #
 53 #                       name      = desired name for this mode,
 54 #
 55 #                       @         = capture keypresses regardless of being bound to an action
 56 #
 57 #                       command   = command is executed through '$SHELL -c' and
 58 #                                   follows valid shell syntax. if the $SHELL environment
 59 #                                   variable is not set, it will default to '/bin/bash'.
 60 #                                   when bash is used, the ';' delimeter can be specified
 61 #                                   to chain commands.
 62 #
 63 #                                   to allow a command to extend into multiple lines,
 64 #                                   prepend '\' at the end of the previous line.
 65 #
 66 #                                   an EOL character signifies the end of the bind.
 67 
 68 # add an on_enter command to the default mode
 69 # :: default : chunkc border::color 0xff775759
 70 #
 71 # defines a new mode 'test' with an on_enter command, that captures keypresses
 72 # :: test @ : chunkc border::color 0xff24ccaa
 73 #
 74 # from 'default' mode, activate mode 'test'
 75 # cmd - x ; test
 76 #
 77 # from 'test' mode, activate mode 'default'
 78 # test < cmd - x ; default
 79 #
 80 # launch a new terminal instance when in either 'default' or 'test' mode
 81 # default, test < cmd - return : open -na /Applications/Terminal.app
 82 
 83 # application specific bindings
 84 #
 85 # cmd - n [
 86 #     "kitty"       : echo "hello kitty"
 87 #     *             : echo "hello everyone"
 88 #     "qutebrowser" : echo "hello qutebrowser"
 89 #     "terminal"    ~
 90 #     "finder"      : false
 91 # ]
 92 
 93 # specify a file that should be included as an additional config-file.
 94 # treated as an absolutepath if the filename begins with '/' otherwise
 95 # the file is relative to the path of the config-file it was loaded from.
 96 #
 97 # .load "/Users/Koe/.config/partial_skhdrc"
 98 # .load "partial_skhdrc"
 99 
100 # prevent skhd from monitoring events for specific applications.
101 #
102 # .blacklist [
103 #    "kitty"
104 #    "terminal"
105 #    "qutebrowser"
106 # ]
107 
108 # open terminal, blazingly fast compared to iTerm/Hyper
109 shift + alt - return : /Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~
110 
111 # open qutebrowser
112 # cmd + shift - return : ~/Scripts/qtb.sh
113 
114 # open mpv
115 # cmd - m : open -na /Applications/mpv.app $(pbpaste)
116 
117 # focus window
118 alt - h : yabai -m window --focus west
119 alt - j : yabai -m window --focus south
120 alt - k : yabai -m window --focus north
121 alt - l : yabai -m window --focus east
122 
123 # swap managed window
124 shift + alt - h : yabai -m window --swap west
125 shift + alt - j : yabai -m window --swap south
126 shift + alt - k : yabai -m window --swap north
127 shift + alt - l : yabai -m window --swap east
128 
129 # move managed window
130 shift + ctrl + alt - h : yabai -m window --warp west
131 shift + ctrl + alt - j : yabai -m window --warp south
132 shift + ctrl + alt - k : yabai -m window --warp north
133 shift + ctrl + alt - l : yabai -m window --warp east
134 
135 # balance size of windows
136 shift + ctrl + alt - 0 : yabai -m space --balance
137 
138 # make floating window fill screen
139 shift + alt - up     : yabai -m window --grid 1:1:0:0:1:1
140 
141 # make floating window fill left-half of screen
142 shift + alt - left   : yabai -m window --grid 1:2:0:0:1:1
143 shift + alt - right   : yabai -m window --grid 1:2:1:0:1:1
144 
145 # create desktop, move window and follow focus - uses jq for parsing json (brew install jq)
146 # shift + cmd - n : yabai -m space --create && \
147 #                   index="$(yabai -m query --spaces --display | jq 'map(select(."is-native-fullscreen" == false))[-1].index')" && \
148 #                   yabai -m window --space "${index}" && \
149 #                   yabai -m space --focus "${index}"
150 
151 # fast focus desktop
152 # cmd + alt - x : yabai -m space --focus recent
153 # cmd + alt - 1 : yabai -m space --focus 1
154 
155 # send window to desktop and follow focus
156 # shift + cmd - z : yabai -m window --space next; yabai -m space --focus next
157 shift + alt - 1 : yabai -m window --space  1; yabai -m space --focus 1
158 shift + alt - 2 : yabai -m window --space  2; yabai -m space --focus 2
159 shift + alt - 3 : yabai -m window --space  3; yabai -m space --focus 3
160 shift + alt - 4 : yabai -m window --space  4; yabai -m space --focus 4
161 shift + alt - 5 : yabai -m window --space  5; yabai -m space --focus 5
162 shift + alt - 6 : yabai -m window --space  6; yabai -m space --focus 6
163 shift + alt - 7 : yabai -m window --space  7; yabai -m space --focus 7
164 shift + alt - 8 : yabai -m window --space  8; yabai -m space --focus 8
165 shift + alt - 9 : yabai -m window --space  9; yabai -m space --focus 9
166 shift + alt - 0 : yabai -m window --space  10; yabai -m space --focus 10
167 
168 # focus monitor
169 # ctrl + alt - z  : yabai -m display --focus prev
170 shift + ctrl - 1  : yabai -m display --focus 1
171 shift + ctrl - 2  : yabai -m display --focus 2
172 shift + ctrl - 3  : yabai -m display --focus 3
173 
174 # send window to monitor and follow focus
175 # ctrl + cmd - c  : yabai -m window --display next; yabai -m display --focus next
176 # ctrl + cmd - 1  : yabai -m window --display 1; yabai -m display --focus 1
177 shift + ctrl + alt - 1  : yabai -m window --display 1; yabai -m display --focus 1
178 shift + ctrl + alt - 2  : yabai -m window --display 2; yabai -m display --focus 2
179 shift + ctrl + alt - 3  : yabai -m window --display 3; yabai -m display --focus 3
180 
181 # move floating window
182 # shift + ctrl - a : yabai -m window --move rel:-20:0
183 # shift + ctrl - s : yabai -m window --move rel:0:20
184 
185 # increase window size
186 shift + alt - a : yabai -m window --resize left:-20:0
187 shift + alt - s : yabai -m window --resize bottom:0:20
188 shift + alt - w : yabai -m window --resize top:0:-20
189 shift + alt - d : yabai -m window --resize right:20:0
190 
191 # decrease window size
192 # shift + cmd - s : yabai -m window --resize bottom:0:-20
193 # shift + cmd - w : yabai -m window --resize top:0:20
194 shift + ctrl+ alt - a : yabai -m window --resize right:-20:0
195 shift + ctrl+ alt - s : yabai -m window --resize top:0:20
196 shift + ctrl+ alt - w : yabai -m window --resize bottom:0:-20
197 shift + ctrl+ alt - d : yabai -m window --resize left:20:0
198 
199 # set insertion point in focused container
200 ctrl + alt - h : yabai -m window --insert west
201 ctrl + alt - j : yabai -m window --insert south
202 ctrl + alt - k : yabai -m window --insert north
203 ctrl + alt - l : yabai -m window --insert east
204 
205 # toggle window zoom
206 shift + alt - z : yabai -m window --toggle zoom-parent
207 shift + ctrl + alt - z : yabai -m window --toggle zoom-fullscreen
208 
209 # toggle window split type
210 shift + alt - e : yabai -m window --toggle split
211 
212 # float / unfloat window and center on screen
213 shift + alt - t : yabai -m window --toggle float --grid 4:4:1:1:2:2
214 
215 # toggle sticky(+float), topmost, picture-in-picture
216 shift + alt - p : yabai -m window --toggle sticky --toggle topmost --toggle pip
217 
218 # rotate tree
219 shift + alt - r : yabai -m space --rotate 90
220 
221 # mirror tree y-axis
222 shift + alt - y : yabai -m space --mirror y-axis
223 
224 # mirror tree x-axis
225 shift + alt - x : yabai -m space --mirror x-axis
Proxy Information
Original URL
gemini://r.bdr.sh/git/dotfiles/tree/main/skhdrc
Status Code
Success (20)
Meta
text/gemini; charset=utf-8
Capsule Response Time
661.46749 milliseconds
Gemini-to-HTML Time
0.829167 milliseconds

This content has been proxied by September (ba2dc).