Alternatives to xmonad

A dynamically tiling X11 window manager that is written and configured in Haskell. The listings below can replace it for an important use case. Each note says what changes if you switch.

The original

Replacements

Listings that take over the same core job as xmonad.

  • i3

    Arrange X11 windows in a keyboard-controlled tiling workspace.

    i3 is a BSD-licensed X11 tiling window manager with tree-based layouts and plain configurable key bindings, so no Haskell knowledge is needed.

  • dwm

    Use a small dynamic window manager for X11 with tiling and floating layouts.

    dwm is a small dynamic X11 tiling window manager where many customizations require editing and recompiling the C source instead of a Haskell configuration.

  • awesome

    Build a keyboard-driven X11 desktop with a window manager configured in Lua.

    awesome is a GPL-2.0 X11 window manager with tiling and floating layouts configured in Lua, adding programmable widgets instead of Haskell configuration.

  • Qtile

    Configure a tiling window manager using Python.

    Qtile is a tiling window manager configured in Python with both X11 and Wayland back ends, replacing Haskell configuration with Python.

  • bspwm

    Manage X11 windows as the leaves of a binary tree.

    bspwm arranges X11 windows as leaves of a binary tree, controlled through shell commands, and needs separate tools for key bindings and panels.

  • spectrwm

    A small dynamic tiling window manager for X11 that aims to stay out of the way.

    spectrwm is a small ISC-licensed dynamic tiling X11 manager for Linux and the BSDs, configured through one plain-text file rather than Haskell code.

  • LeftWM

    Arrange Linux windows with a tiling manager written in Rust.

    LeftWM is an MIT-licensed tiling window manager written in Rust that separates layout logic from appearance, with bars configured separately.

  • Sway

    Use an i3-style tiling workflow on Wayland.

    Sway moves to Wayland with i3-style keyboard-driven tiling and much of the i3 configuration format, instead of X11 and Haskell.

Also worth comparing

These listings name xmonad as their own alternative, so the relationship runs both ways.

  • herbstluftwm

    A manual tiling window manager for X11 that is configured at runtime through the herbstclient tool.

    xmonad tiles windows automatically instead of manually, configured as a full Haskell program with a large extension set in xmonad-contrib.

  • StumpWM

    A keyboard-driven tiling window manager for X11, written in and extensible with Common Lisp.

    xmonad is a dynamically tiling X11 window manager configured as a full Haskell program instead of Common Lisp, with many extensions in xmonad-contrib.

Similar software

Related functionality, not a direct replacement.