Window Managers

Window managers on (and ) are auxiliary programs that try to complement the system’s own handling of windows, and are not as powerful as 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 Linux niri

A scrollable tiling Wayland compositor inspired in PaperWM

PaperWM

A scrollable tiling Gnome Shell extension

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

CLI tile

a CLI tool that can be used to script window manipulation

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 Dynamouse

not really a window manager, but a way to associate multiple pointing devices with specific displays

Swish

a gesture-driven window manager with window snapping and some grid functionality

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

This page is referenced in: