Complete guide to bspwm: the tiling window manager for Linux

Introduction to bspwm

bspwm (Binary Space Partitioning Window Manager) is a tiling window manager that has gained popularity among Linux users seeking a lightweight and highly configurable environment. Instead of providing a full desktop, bspwm solely handles placing and managing windows, leaving the user free to choose their own panel, launcher, and other utilities. This minimalist approach reduces resource consumption, making it suitable for both old hardware and high-performance workstations where you want to maximize screen space.

What is bspwm?

bspwm divides the screen into binary regions using a spatial partitioning algorithm. Each time a new window is opened, the manager decides its position based on the current partition, resulting in an ordered layout without overlaps. Its behavior is controlled via configuration files written in shell syntax, allowing you to adjust gaps, margins, split ratios, and application-specific rules without recompiling the code. Communication with the sxhkd daemon handles keyboard shortcuts, clearly separating window logic from input handling.

Installation on popular distributions

In most Linux distributions, bspwm is available in the official repositories. On Ubuntu or Debian, simply run:

  • sudo apt update
  • sudo apt install bspwm sxhkd

On Arch Linux and derivatives:

  • sudo pacman -S bspwm sxhkd

On Fed