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 on a daily basis.

My requirements change over time and in different circumstances (sometimes I need an automatic tiling window manager, sometimes I just want good window snapping to predefined zones), so I experiment a fair bit–the listing below contains most of my favorites over time in various operating systems.

Resources

Apps are listed as primarily keyboard or mouse driven even though most support both kinds of input. What matters in that classification is the fastest way to arrange windows.

Some commercial solutions (and potentially insecure Mac solutions like yabai, which require you to explicitly disable System Integrity Protection) are intentionally ignored.

CategoryDatePlatformLinkNotes
Automatic Tiling2026macOSTrellisWM

Fractal window manager for Mac, currently in early access and requiring macOS 14 Sonoma or later

2025macOSrift

i3-inspired, supports stacking and binary space partitioning as well as Lua scripting

2024LinuxHyprland

a highly customizable dynamic tiling Wayland compositor

cortile

An auto tiling manager that provides tiling window management atop existing window managers

Windowskomorebi

Seems to support a number of common tiled layouts

Whim

i3-inspired, configured using C# scripting

glazewm

i3-inspired with rules for specific windows or monitors

macOSMacTiler

A simple tiling window manager for macOS with the ability to preserve window layouts between monitors

2023Linuxniri

A scrollable tiling Wayland compositor inspired in PaperWM

PaperWM

A scrollable tiling GNOME Shell extension

2021WindowsAmethyst Windows

An XMonad-like tiling window manager for Windows

Workspacer

Also XMonad-like, configurable via C#

2019macOSAmethyst

An XMonad-like tiling window manager for the Mac that I quite like.

CLI2023macOStile

a CLI tool that can be used to script window manipulation

Keyboard Driven2026macOSOmachy

opinionated Omarchy-inspired macOS setup tool that configures a keyboard-driven tiling workflow.

InstantSpaceSwitcher

A native utility for instant macOS Space switching that skips the animation without disabling SIP

2021Windowswin-vind

vim keys everywhere

macOSMoom

My 2012-2021 window manager, which allows you to store predefined layouts but wasn’t scriptable. The 2024 edition adds FancyZones-like functionality and a bit more flexibility.

2020macOSMagnet

simple, straightforward, very effective, available in the App Store

2011macOSShiftIt

My fork of ShiftIt, which was somewhat popular among my colleagues at SAPO.

Manual Tiling2024macOSAeroSpace

My 2024 favorite for tiling. Provides a fast, snappy i3-like tiling window manager for macOS with its own workspace support, and the default config uses HJKL as control keys. Only issue I have with it is that it requires relatively new macOS versions, and I sometimes use an older Mac laptop.

Mouse Driven2026macOSmac-mouse-fix

an open-source utility for improving mouse behavior and button mappings on macOS

2024Linuxtilingshell

a GNOME extension that provides an absolutely excellent FancyZones-like functionality

macOSLoop

Uses a radial menu to manage windows

Penc

a trackpad-oriented window manager with gestures for moving, resizing and snapping windows

Dynamouse

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

Lasso

mouse-driven, grid-oriented, with support for custom layouts

BetterSnapTool

My 2024 favorite for FancyZones-like functionality on the Mac.

2023macOSSwish

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

2021WindowsFancyZones

Arguably the best Windows 10 PowerToy, has awesome zone snapping features that have (so far) no equivalent. Excellent for multiple displays.

macOSHookshot

Actually a mix of keyboard and mouse driven actions, but very much mouse driven with quick actions.

2015macOSDivvy

traditional, quick mouse-drawn window snapping (Moom implements a similar approach)

Scriptable2026macOSCocoa Way

native macOS Wayland compositor written in Rust using Smithay, enabling seamless Linux app streaming on macOS without XQuartz.

2021macOSspacehammer

A prebuilt, highly sophisticated Fennel configuration for Hammerspoon

Autumn

a 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 2021 favorite, fully scriptable in JavaScript. Can replace both Moom and Amethyst for me with this config.

2017macOSHammerspoon

Scriptable in Lua or Fennel

This page is referenced in: