Window Managers

Goals

  • Not have to manually manage windows to get easy 2-pane setups
  • Have more control over selecting individual windows
  • Not have to contort my hand in weird ways to manage windows
  • Be able to open new windows and lay them out effortlessly with the keyboard
  • Get a hyper key to open up more key combos without risk of conflict
  • Have an easier way to tell which window is selected without reducing multi-taskability
  • Give a window focus just by looking at it ;)

Challenges

  • My use of HJKL arrow keys with modifiers is highly non-standard
  • Sharing a keyboard with Mac and Windows complicates matters
  • Wanting to ensure that everything still works with the onboard keyboard complications matters

Outstanding Issues

  • Line Up and Down Command not working in Sublime
  • How to make window focusing work across Desktops
  • Can I set up a way to Mission Control from the Keyboard to see what windows exist?
  • When splitting a new tab out of Chrome, I want it to stay on the active Display
  • Weird shifting when seemingly nothing changes. Appears like it may have something to do with Obsidian
    • Was a weird interaction with BTT Window Snapping
  • Need a way to control windows that aren’t managed by Yabai
  • Why do windows rearrange on rebooting Yabai?
  • Can’t easily shift a window left and right currently
  • Make notifications not throw it off.
  • Make Screenshoting not affect it.
    • Screenshotting takes fullscreened window out of fullscreen
  • Doing this makes me want to utilize spaces, but then I worry about losing things.
  • Sometimes Chrome won’t be controlled by Yabai correctly
  • Check out Stack Layouts to see if they help
  • How to make items open on my right monitor instead of my left monitor.

Unexpected Benefits

  • Learned about O Launching
  • Got a hyper key working
  • Hyper Key reduces unnecessary contorting

Learnings

How to work around permissions issues with Yabai

MacOS has some quirks when removing permissions from actively running applications. Yabai can be affected by this when it is updated by Homebrew. To work around this, stop yabai before asking brew to update.

yabai --stop-service
brew upgrade yabai
# I like to manually add the permission 
# prior to starting Yabai
yabai --start-service