Alternatives to bspwm
Manage X11 windows as the leaves of a binary tree. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
bspwm
Manage X11 windows as the leaves of a binary tree.
Replacements
Listings that take over the same core job as bspwm.
i3
Arrange X11 windows in a keyboard-controlled tiling workspace.
i3 uses a tree-based X11 tiling layout with key bindings built in, so no separate hotkey daemon is needed as with bspwm.
dwm
Use a small dynamic window manager for X11 with tiling and floating layouts.
dwm is a compact dynamic X11 manager with tiling and floating layouts, customized by editing and recompiling source instead of shell commands.
awesome
Build a keyboard-driven X11 desktop with a window manager configured in Lua.
awesome supports tiling and floating X11 layouts with programmable widgets and window rules, configured in Lua rather than driven by external shell commands.
Qtile
Configure a tiling window manager using Python.
Qtile is configured in Python with programmable layouts and widgets, and offers both X11 and Wayland back ends under the MIT license.
LeftWM
Arrange Linux windows with a tiling manager written in Rust.
LeftWM is a Rust tiling manager under MIT that separates layout logic from appearance, and like bspwm needs bars configured separately.
Sway
Use an i3-style tiling workflow on Wayland.
Sway provides i3-style keyboard tiling on Wayland instead of X11, so some X11 applications need compatibility layers.
Hyprland
Arrange Linux application windows with a configurable tiling Wayland compositor.
Hyprland is a Wayland compositor with dynamic tiling and animations, requiring compatible Wayland graphics support and manual configuration.
herbstluftwm
A manual tiling window manager for X11 that is configured at runtime through the herbstclient tool.
herbstluftwm is a manual tiling X11 manager scripted at runtime through herbstclient, with tiling and floating layers on every tag and virtual monitors.
Also worth comparing
These listings name bspwm as their own alternative, so the relationship runs both ways.
Openbox
Manage X11 windows with a configurable stacking window manager.
bspwm manages X11 windows as leaves of a binary tree and is controlled through shell commands, needing separate tools for key bindings and panels, much like Openbox.
spectrwm
A small dynamic tiling window manager for X11 that aims to stay out of the way.
bspwm arranges X11 windows as a binary tree controlled by shell commands, and needs separate tools for key bindings and panels.
StumpWM
A keyboard-driven tiling window manager for X11, written in and extensible with Common Lisp.
bspwm manages X11 windows as a binary tree controlled through shell commands, needing separate tools for key bindings and panels.
xmonad
A dynamically tiling X11 window manager that is written and configured in Haskell.
bspwm arranges X11 windows as leaves of a binary tree, controlled through shell commands, and needs separate tools for key bindings and panels.
Similar software
Related functionality, not a direct replacement.
Polybar
Build a configurable status bar for an X11 desktop.
Lemonbar
Featherweight, scriptable status bar for X11 built on xcb.
Eww
Create custom desktop widgets using declarative configuration and styling.
Tint2
Lightweight panel and taskbar for Linux and BSD window managers.
yabai
A tiling window manager for macOS that arranges windows by binary space partitioning and is driven entirely from the command line.
rofi
A keyboard-driven window switcher, application launcher and dmenu replacement for Linux desktops.