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 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.
| Category | Date | Platform | Link | Notes |
|---|---|---|---|---|
| Automatic Tiling | 2026 | macOS | TrellisWM | Fractal window manager for Mac, currently in early access and requiring macOS 14 Sonoma or later |
| 2025 | macOS | rift | i3-inspired, supports stacking and binary space partitioning as well as Lua scripting | |
| 2024 | Linux | Hyprland | a highly customizable dynamic tiling Wayland compositor | |
| cortile | An auto tiling manager that provides tiling window management atop existing window managers | |||
| Windows | komorebi | 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 | |||
| macOS | MacTiler | A simple tiling window manager for macOS with the ability to preserve window layouts between monitors | ||
| 2023 | Linux | niri | A scrollable tiling Wayland compositor inspired in PaperWM | |
| PaperWM | A scrollable tiling GNOME Shell extension | |||
| 2021 | Windows | Amethyst Windows | An XMonad-like tiling window manager for Windows | |
| Workspacer | Also XMonad-like, configurable via C# | |||
| 2019 | macOS | Amethyst | An XMonad-like tiling window manager for the Mac that I quite like. | |
| CLI | 2023 | macOS | tile | a CLI tool that can be used to script window manipulation |
| Keyboard Driven | 2026 | macOS | Omachy | 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 | |||
| 2021 | Windows | win-vind | vim keys everywhere | |
| macOS | Moom | 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. | ||
| 2020 | macOS | Magnet | simple, straightforward, very effective, available in the App Store | |
| 2011 | macOS | ShiftIt | My fork of ShiftIt, which was somewhat popular among my colleagues at SAPO. | |
| Manual Tiling | 2024 | macOS | AeroSpace | 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 |
| Mouse Driven | 2026 | macOS | mac-mouse-fix | an open-source utility for improving mouse behavior and button mappings on macOS |
| 2024 | Linux | tilingshell | a GNOME extension that provides an absolutely excellent FancyZones-like functionality | |
| macOS | Loop | 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. | |||
| 2023 | macOS | Swish | a gesture-driven window manager with window snapping and some grid functionality | |
| 2021 | 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. | ||
| 2015 | macOS | Divvy | traditional, quick mouse-drawn window snapping (Moom implements a similar approach) | |
| Scriptable | 2026 | macOS | Cocoa Way | native macOS Wayland compositor written in Rust using Smithay, enabling seamless Linux app streaming on macOS without XQuartz. |
| 2021 | macOS | spacehammer | 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. | |||
| 2017 | macOS | Hammerspoon | Scriptable in Lua or Fennel |