Window management in macOS

October 6, 2020 — February 13, 2022

computers are awful
diy
macos
POSIX
UI
Figure 1

Mission control provides some window-arrangement tricks, mostly side-by-side tiling of selected windows, which they term Split View.

Mission Control Keyboard shortcuts of note: ^ →, ^ ←, ^ ↑. The Split View itself has no shortcuts AFAICT.

Possibly you want something sophisticated, e.g. because you got bitten by the tiliing window manager bug

In that case you can commit your time to learning a workflow based on someone’s passion-project custom window system, which might or might not be sustainable. There are many options here, and substantial turnover. I would personally choose based on whichever one seemed most likely to achieve longevity, although that is hard to estimate.

1 Mizage Divvy

Divvy, as recommended by Alexey Guzey

Problem: Managing windows can be frustrating, requiring precision control of your mouse or trackpad for clicking, dragging, pushing and pulling your windows to the size and position you desire. Even with all this work, it’s very difficult to get windows exactly where you want them, so most of the time windows are left scattered all over the screen. The solution? Divvy.

Solution: Divvy is an entirely new way of managing your workspace. It allows you to quickly and efficiently “divvy up” your screen into exact portions.

With Divvy, it’s as simple as a single click and drag in the Divvy interface and your window will be resized and moved to a relative portion of the screen. If that seems like too much work, you can go ahead and create as many different shortcuts as you’d like that resize and move your windows.

2 Amethyst

Tiling window manager for macOS along the lines of xmonad.

Including various xmonad keyboard shortcuts, which is quicker if you like that thing.

Tyler Hoffman reviews two contenders, Amethyst and also chunkwm, next.

3 chunkwm

chunkwm is was a tiling window manager for macOS

decommissioned in favour of…

4 Yabai

yabai

…is a tiling window manager for macOS… It automatically modifies your window layout using a binary space partitioning algorithm to allow you to focus on the content of your windows without distractions.

A flexible and easy-to-grok command line interface allows you to control and query windows, spaces and displays to enable powerful integration with tools like ↗ skhd to allow you to work more efficiently with macOS. Create custom keybindings to control windows, spaces and displays in practically no time and get your hands off the mouse and trackpad and back onto the keyboard where actual work gets done.

5 Moom

Moom “moves and zooms windows”. USD10.

6 Magnet

Magnet AUD4.

Magnet keeps your workspace organized.

Activated by dragging, customizable keyboard shortcuts or via menu bar, Magnet declutters your screen by snapping windows into organized tiles.

7 Spectacle

Spectacle, a macOS app that adds additional strategic window smushing options

  • Move to the left half — ⌥⌘←

  • Move to the right half — ⌥⌘→

  • Move to the top half — ⌥⌘↑

  • Move to the bottom half — ⌥⌘↓

  • Move to the upper left — ⌃⌘←

  • Move to the lower left — ⌃⇧⌘←

  • Move to the upper right — ⌃⌘→

  • Move to the lower right — ⌃⇧⌘→

Windows may also be resized between thirds using any of the shortcuts above. For example, to have a window resized between 1/3 and 2/3 of the left region of the screen simply activate the left half ⌥⌘← keyboard shortcut more than once.

8 Hammerspoon

Hammerspoon is fancy - it’s a scripting interface sporting a whole Lua interpreter. Open source. It’s much more than a window manager, and can do stuff like inspect USB events, click on menus, type for you etc.

Yak shaving risk.

Security risk. Proceed with caution.

Usage looks like this:

hs.hotkey.bind({"cmd", "alt", "ctrl"}, "W", function()
  hs.alert.show("Hello World!")
end)

It has a cousin, phoenix which uses javascript as the language.

This reminds me… Hammerspoon and Phoenix are contenders in another category: Usable macos scripting.