# list of built-in keywords at https://github.com/koekeishiya/skhd/issues/1 # staring file was at /opt/homebrew/opt/yabai/share/yabai/examples ########################################################################################## # yabai # in managed mode: swap current window shift + cmd - k : yabai -m window --swap north shift + cmd - j : yabai -m window --swap south shift + cmd - h : yabai -m window --swap west shift + cmd - l : yabai -m window --swap east # move focused window to the given space shift + cmd - 1 : yabai -m window --space 1 shift + cmd - 2 : yabai -m window --space 2 shift + cmd - 3 : yabai -m window --space 3 shift + cmd - 4 : yabai -m window --space 4 shift + cmd - 5 : yabai -m window --space 5 shift + cmd - 6 : yabai -m window --space 6 shift + cmd - 7 : yabai -m window --space 7 shift + cmd - 8 : yabai -m window --space 8 shift + cmd - 9 : yabai -m window --space 9 # balance window sizes shift + cmd - 0 : yabai -m space --balance # all windows in a space back to the grid (managed) shift + cmd - g : yabai -m space --layout bsp # all windows in a space to float and each fill screen shift + cmd - f : yabai -m space --layout float \ | yabai -m query --windows --space | jq '.[].id' \ | xargs -I % yabai -m window % --grid 1:1:0:0:1:1 # managed layout, focus on next/previous window shift + cmd - x : yabai -m window --focus next # TODO: figure out better key option shift + cmd - z : yabai -m window --focus prev # TODO: figure out better key option # float layout, focus on next/previous window; hacky, but it seems to work for now shift + cmd - n : yabai -m query --windows --space | jq '.[].id' | sort | tr "\r\n" " " \ | sed "s/\(.*\)/ \1 \n/" \ | sed "s/.* $(yabai -m query --windows --window | jq '.id') \([0-9]*\) .*/\1/" \ | xargs -I % yabai -m window --focus % shift + cmd - p : yabai -m query --windows --space | jq '.[].id' | sort | tr "\r\n" " " \ | sed "s/\(.*\)/ \1 \n/" \ | sed "s/.* \([0-9]*\) $(yabai -m query --windows --window | jq '.id') .*/\1/" \ | xargs -I % yabai -m window --focus %