Window managers on macOS (and Windows) are auxiliary programs that try to complement the system’s own handling of windows, and are not as powerful as X11 window managers. However, there are a few exceptions, and as I started using bigger and bigger (and more) displays I’ve been using them more and more.
Resources
Apps are listed as primarily keyboard or mouse driven even though most support both kinds of input.
Category | Platform | Link | Notes |
---|---|---|---|
Automatic Tiling | Windows | Amethyst Windows | An XMonad-like tiling window manager for Windows |
Workspacer | Also XMonad-like, configurable via C# |
||
macOS | Amethyst | An XMonad-like tiling window manager for the Mac |
|
Keyboard Driven | Windows | win-vind | vim keys everywhere |
macOS | ShiftIt | My fork of ShiftIt, which was somewhat popular among my colleagues at SAPO. |
|
Magnet | simple, straightforward, very effective, available in the App Store |
||
Moom | My 2012-2021 window manager, which allows you to store predefined layouts but isn’t scriptable |
||
Mouse Driven | Windows | FancyZones | Arguably the best Windows 10 PowerToy, has awesome zone snapping features that have (so far) no equivalent. Excellent for multiple displays. |
macOS | Hookshot | Actually a mix of keyboard and mouse driven actions, but very much mouse driven with quick actions. |
|
Divvy | traditional, quick mouse-drawn window snapping (Moom implements a similar approach) |
||
Scriptable | spacehammer | A prebuilt, highly sophisticated Fennel configuration for Hammerspoon |
|
Autumn | a very nice, also JavaScript scriptable window manager that includes an IDE. In May 2021, the IDE hangs up weirdly in Big Sur, so I opted for Phoenix instead. |
||
Phoenix | my current (2021) choice, fully scriptable in JavaScript. Has replaced both Moom and Amethyst for me with this config. |
||
Hammerspoon | Scriptable in Lua or Fennel |