Window management in macOS


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.

Or you can commit your time to learning a workflow based on someone’s passion-project window system, which might or might not be sustainable.

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

chunkwm

chunkwm is was a tiling window manager for macOS

decommissioned in favour of…

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.

Moom

Moom “moves and zooms windows”. USD10.

Magnet

Magnet AUD4.

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.

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.


Warning! Experimental comments system! If is does not work for you, let me know via the contact form.

No comments yet!

GitHub-flavored Markdown & a sane subset of HTML is supported.