Adjust keybindings for macos wm, update readme

This commit is contained in:
david 2025-04-04 16:55:39 -05:00
parent 2bf5a528fd
commit 2a0e949488
3 changed files with 41 additions and 33 deletions

View File

@ -21,7 +21,8 @@
- all `drag windows to corner/edge/place` types of options: disabled - all `drag windows to corner/edge/place` types of options: disabled
- `rearrange spaces based on recent use`: disabled - `rearrange spaces based on recent use`: disabled
- `when switch to app... switch to space with open windows of app`: disabled - `when switch to app... switch to space with open windows of app`: disabled
- `displays have separate spaces`: disabled - `displays have separate spaces`: enabled
- `show files on desktop`: enabled
### script run ### script run

View File

@ -4,41 +4,48 @@
########################################################################################## ##########################################################################################
# yabai # yabai
# general idea: alt navigates (move my view); shift+alt modifies (move/change windows)
# switch to space (to leave SIP in place, configure these in macos system settings)
# alt - 1 // switch to space 1 (and similar for other numbers)
# in managed mode: swap current window # in managed mode: swap current window
shift + cmd - k : yabai -m window --swap north shift + alt - k : yabai -m window --swap north
shift + cmd - j : yabai -m window --swap south shift + alt - j : yabai -m window --swap south
shift + cmd - h : yabai -m window --swap west shift + alt - h : yabai -m window --swap west # TODO: remove, only have j/k (just stack)
shift + cmd - l : yabai -m window --swap east shift + alt - l : yabai -m window --swap east # TODO: remove, only have j/k (just stack)
# move focused window to the given space # move focused window to the given space
shift + cmd - 1 : yabai -m window --space 1 shift + alt - 1 : yabai -m window --space 1
shift + cmd - 2 : yabai -m window --space 2 shift + alt - 2 : yabai -m window --space 2
shift + cmd - 3 : yabai -m window --space 3 shift + alt - 3 : yabai -m window --space 3
shift + cmd - 4 : yabai -m window --space 4 shift + alt - 4 : yabai -m window --space 4
shift + cmd - 5 : yabai -m window --space 5 shift + alt - 5 : yabai -m window --space 5
shift + cmd - 6 : yabai -m window --space 6 shift + alt - 6 : yabai -m window --space 6
shift + cmd - 7 : yabai -m window --space 7 shift + alt - 7 : yabai -m window --space 7
shift + cmd - 8 : yabai -m window --space 8 shift + alt - 8 : yabai -m window --space 8
shift + cmd - 9 : yabai -m window --space 9 shift + alt - 9 : yabai -m window --space 9
# balance window sizes # all windows in a space to float and each fill screen (idea: stack mode)
shift + cmd - 0 : yabai -m space --balance shift + alt - s : yabai -m space --layout float \
# 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' \ | yabai -m query --windows --space | jq '.[].id' \
| xargs -I % yabai -m window % --grid 1:1:0:0:1:1 | xargs -I % yabai -m window % --grid 1:1:0:0:1:1
# toggle float on/off for the focused window
shift + alt - f : yabai -m window --toggle float
# all windows in a space back to the grid (managed)
shift + alt - g : yabai -m space --layout bsp
# balance window sizes
shift + alt - 0 : yabai -m space --balance # TODO: figure out better key option
# managed layout, focus on next/previous window # managed layout, focus on next/previous window
shift + cmd - x : yabai -m window --focus next # TODO: figure out better key option #alt - x : yabai -m window --focus next # TODO: delete or figure out better key option
shift + cmd - z : yabai -m window --focus prev # TODO: figure out better key option #alt - z : yabai -m window --focus prev # TODO: delete or figure out better key option
# float layout, focus on next/previous window; hacky, but it seems to work for now # 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" " " \ alt - k : yabai -m query --windows --space | jq '.[].id' | sort | tr "\r\n" " " \
| sed "s/\(.*\)/ \1 \n/" \ | sed "s/\(.*\)/ \1 \n/" \
| sed "s/.* $(yabai -m query --windows --window | jq '.id') \([0-9]*\) .*/\1/" \ | sed "s/.* $(yabai -m query --windows --window | jq '.id') \([0-9]*\) .*/\1/" \
| xargs -I % yabai -m window --focus % | xargs -I % yabai -m window --focus %
shift + cmd - p : yabai -m query --windows --space | jq '.[].id' | sort | tr "\r\n" " " \ alt - j : yabai -m query --windows --space | jq '.[].id' | sort | tr "\r\n" " " \
| sed "s/\(.*\)/ \1 \n/" \ | sed "s/\(.*\)/ \1 \n/" \
| sed "s/.* \([0-9]*\) $(yabai -m query --windows --window | jq '.id') .*/\1/" \ | sed "s/.* \([0-9]*\) $(yabai -m query --windows --window | jq '.id') .*/\1/" \
| xargs -I % yabai -m window --focus % | xargs -I % yabai -m window --focus %

View File

@ -8,7 +8,7 @@ yabai -m config \
focus_follows_mouse off \ focus_follows_mouse off \
display_arrangement_order default \ display_arrangement_order default \
window_origin_display default \ window_origin_display default \
window_placement second_child \ window_placement first_child \
window_insertion_point focused \ window_insertion_point focused \
window_zoom_persist on \ window_zoom_persist on \
window_shadow on \ window_shadow on \