LinuxCommandLibrary

bspwm

Binary space partitioning window manager

TLDR

Start bspwm (note that a pre-existing window manager must not be open when this command is run)

$ bspwm -c [path/to/config]
copy

SYNOPSIS

bspwm

DESCRIPTION

bspwm is a tiling window manager that represents windows as the leaves of a full binary tree. It responds only to X events and the messages it receives on a dedicated socket.
It is configured and controlled by external programs, which allows for greater flexibility and customization. bspwm offers a clean, efficient, and easily customizable tiling environment.
Its simplicity and reliance on external utilities make it highly configurable, allowing users to tailor the window manager precisely to their needs.
Unlike stacked window managers, bspwm automatically arranges windows to maximize screen space, improving productivity, and reducing the need for manual window management. It is commonly used by power users and those seeking a minimalist desktop environment.

CAVEATS

bspwm itself provides no keybindings or panel functionality. These must be configured using external programs like sxhkd for keybindings and polybar or xmobar for a panel.

CONFIGURATION

bspwm is typically configured using a script that runs at startup. This script defines keybindings, window rules, and other settings. Commonly located at ~/.config/bspwm/bspwmrc.

COMMUNICATION

bspwm communicates with external programs through a dedicated socket. This allows external programs to control window placement, focus, and other aspects of window management. The bspc command is the primary tool used to interact with the bspwm socket.

HISTORY

bspwm was created to offer a simple, yet flexible tiling window manager that allows users to control every aspect of their window management experience.
The primary focus was on a clean design with minimal dependencies to ensure high performance and customization.

SEE ALSO

sxhkd(1), xdotool(1)

Copied to clipboard