dwm and xmonad for Mac: the closest options

Updated · by , maker of Ribbon

dwm and xmonad are X11 window managers, so neither runs on macOS. The closest thing to their master-stack layout is Amethyst, a free tiler inspired by xmonad with a Tall layout and keyboard control. yabai and AeroSpace suit people who'd rather script or write config. If what you liked was "every window has a place and I never drag", a scrolling window manager is worth a look too, especially on a laptop.

What dwm and xmonad users want

macOS can't replace the window manager itself; apps work on top of macOS's window server using the Accessibility permission. That rules out some things (no true tags; windows are always macOS windows) but the core workflow translates.

The closest Mac tilers

Layout modelConfigPrice
AmethystAutomatic layouts, including Tall (master-stack), Wide, Column, Fullscreen, BSPPreferences window, optional YAMLFree, MIT
yabaiBSP tiling, scripted from the shellShell script, plus a hotkey tool such as skhdFree, MIT
AeroSpacei3-style tree with its own workspacesTOMLFree, MIT
RibbonScrolling strip of columnsSettings window$9.99 once

Amethyst is the closest to dwm and xmonad in spirit: pick a layout and it places every window, shrinking the stack as you open more. yabai gives you the most control if you like scripting. AeroSpace is closer to i3; see i3 for Mac.

Tags vs Spaces

dwm's tags let a window appear on several views at once. macOS has nothing like that. Spaces are separate desktops: a window lives on one (or, if its app is assigned to All Desktops, on every one). Use ⌃ plus a number to jump between Spaces after you turn on Switch to Desktop N in Keyboard Shortcuts → Mission Control. AeroSpace replaces Spaces with its own workspaces if you want something closer to dwm's views.

Where master-stack struggles on a laptop

Master-stack works well on a big monitor. On a 13- or 14-inch MacBook, the stack gets thin fast: with a main window plus four in the stack, each stack window is a sliver. dwm users on small screens tend to switch to monocle mode a lot, which means one window at a time.

A scrolling layout is the other answer. Instead of dividing the screen, windows sit in columns on a strip wider than the screen, each at a width you chose. Opening a window adds a column; nothing shrinks. You move focus left and right and the strip follows.

Ribbon for keyboard-first users

Ribbon is a scrolling window manager that works the way dwm users expect from the keyboard:

What you won't get: a config file you compile. Ribbon is set up in a settings window. If you want a text config, Paneru (free, open source, TOML) is the engine Ribbon builds on. Try Ribbon in the live demo; pricing is $9.99 once.

FAQ

Can you run dwm or xmonad on a Mac?

Not as the window manager. They're X11 programs, and macOS has its own window server. You can only run them inside XQuartz for X11 apps, which doesn't manage normal Mac windows.

What is the closest thing to xmonad on macOS?

Amethyst, which is inspired by xmonad and has a Tall master-stack layout, configured in a preferences window.

Is there a dwm-style monocle layout on Mac?

Amethyst has a Fullscreen layout. In Ribbon, ⌃⌥F makes a column full width while the others wait beside it.

Keep reading