(ShiftIt vs Yabai vs Amethyst) MacOS > Window Managers

Why do you need a window manager at all?

  • too much time moving windows around and wanted an easier way to snap two windows side by side or have a window be full screen without having to us MacOS spaces.

What have I tried?

  • I used ShiftIt for a number of years
  • I had 4 basic shortcuts that I would use all of the time
    • Left
    • Right
    • Full-Screen
    • Next Monitor
  • Worked well, but I found that to do most interactions I was doing I ended up needing the mouse to complete them. For example, putting two windows side-by-side would require a mouse to switch focus reliably to the other monitor.
  • I found out that Shiftit was looking for a new maintainer and they were recommending Hammerspoon.
  • Eventually I heard about Yabai and gave it a try. It was very different to what I was using with ShiftIt, but gave a different perspective of window management. Instead of me managing my windows manually, what if they could management themselves.
  • I liked the idea of this, but found it to be a bit unreliable in the MacOS Monterrey Beta which I was running and started trying to troubleshoot it. I found that BetterTouchTool and it were have weird interactions and once I stopped using BetterTouchTool it worked better.
  • While trying to troubleshoot Yabai I came across Christopher Kapic’s Video on Yabai and he mentioned Amethyst. I dug into it and gave it a shot and it seemed to match my needs pretty well.
  • Here are the shortcuts I use (Note I use a hyper key caps locks that is bound to Escape on tap and changes my HJKL keys into arrow keys). This works well for me not needing to leave the home row, but your mileage may vary.
    • Two Layouts: Tall + Fullscreen
      • This lets me toggle between tiled and fullscreen which is a habit I have from my Shiftit days
      • Hyper + Return: Toggle Layout
      • Shrink & Expand The Layout with Hyper Plus & Minus
      • Move window focus with Hyper ASDF
        • S & D move the focus forward and back on the active window
        • A & F move focus to the previous and next monitors accordingly
      • Move Windows with Hyper + ZXCV
        • X & C move windows around on the current screen
        • Z & V move windows to previous and next monitor
      • Lastly in order to minimize having to grab my mouse, I set up O Launching with Karabiner Elements for my most common apps
        • Slack
        • TickTick
        • Sublime
        • Chrome
        • Fantastical
        • Finder
        • Spotify
        • Zoom
      • Recently turned off my Dock with TinkerTool
        • The dock was almost required for me up until about a month ago when I tried TinkerTool and was able to make it so that it would quickly show on demand. Amethyst Config