From 2a0e94948827ec0b8594dcc7b76428cf749a624f Mon Sep 17 00:00:00 2001
From: david <david@pinewoods.xyz>
Date: Fri, 4 Apr 2025 16:55:39 -0500
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             \