From bce734ec3f7ca4299c6bdc92be4d729bcb3b83f6 Mon Sep 17 00:00:00 2001 From: david Date: Thu, 6 Feb 2025 23:51:56 -0600 Subject: [PATCH] Adjust keybindings for macos wm, update readme --- README.md | 3 +- src_files/.config/skhd/skhdrc | 69 ++++++++++++++++++--------------- src_files/.config/yabai/yabairc | 2 +- 3 files changed, 41 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 82fa67c..bc3ae0e 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,8 @@ - all `drag windows to corner/edge/place` types of options: disabled - `rearrange spaces based on recent use`: 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 diff --git a/src_files/.config/skhd/skhdrc b/src_files/.config/skhd/skhdrc index 532aacf..a4f1d86 100755 --- a/src_files/.config/skhd/skhdrc +++ b/src_files/.config/skhd/skhdrc @@ -4,42 +4,49 @@ ########################################################################################## # 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 -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 +shift + alt - k : yabai -m window --swap north +shift + alt - j : yabai -m window --swap south +shift + alt - h : yabai -m window --swap west # TODO: remove, only have j/k (just stack) +shift + alt - l : yabai -m window --swap east # TODO: remove, only have j/k (just stack) # 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 +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 -# balance window sizes -shift + cmd - 0 : yabai -m space --balance +# all windows in a space to float and each fill screen (idea: stack mode) +shift + alt - s : yabai -m space --layout float \ + | yabai -m query --windows --space | jq '.[].id' \ + | 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 + 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 +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 -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 % +#alt - x : yabai -m window --focus next # TODO: delete or figure out better key option +#alt - z : yabai -m window --focus prev # TODO: delete or figure out better key option +# focus on next/previous window; hacky, but it seems to work for now +alt - k : 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 % +alt - j : 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 % diff --git a/src_files/.config/yabai/yabairc b/src_files/.config/yabai/yabairc index 7060454..c8445ba 100755 --- a/src_files/.config/yabai/yabairc +++ b/src_files/.config/yabai/yabairc @@ -8,7 +8,7 @@ yabai -m config \ focus_follows_mouse off \ display_arrangement_order default \ window_origin_display default \ - window_placement second_child \ + window_placement first_child \ window_insertion_point focused \ window_zoom_persist on \ window_shadow on \