This article was accepted into the corpus but its outbound wikilinks were never NER-processed — typical at the deepest BFS hop or when the run's entity cap was reached. No expansion funnel to show.
| bspwm | |
|---|---|
| Name | bspwm |
| Developer | Benjamin Berg |
| Released | 2010 |
| Operating system | Unix-like |
| License | MIT License |
bspwm bspwm is a tiling window manager for Unix-like systems that represents windows as the leaves of a full binary tree and is controlled via a separate program using a simple protocol. It was created in the 2010s and is popular among users of minimal Linux distributions, X11 enthusiasts, and proponents of keyboard-driven workflows. The project emphasizes simplicity, scriptability, and separation of concerns, influencing discussions in forums associated with Arch Linux, Gentoo, Debian, and FreeBSD communities.
bspwm was developed by Benjamin Berg and released during the early 2010s; it belongs to the family of tiling window managers alongside projects such as dwm, i3, awesome, and xmonad. Its use is common in setups built around Linux distributions like Arch Linux, Manjaro, Fedora, and Void Linux as well as BSD variants like FreeBSD and OpenBSD. Enthusiasts often pair bspwm with compositors and status bars such as compton, picom, polybar, and lemonbar and integrate it into environments using shells like bash, zsh, and fish.
bspwm implements a binary space partitioning layout conceived for efficiency and determinism, drawing conceptual parallels with data structures studied in computer science and used in projects such as the Quadtree and Binary Search Tree literature. It delegates input handling to external programs (commonly sxhkd or custom scripts), following a philosophy similar to the separation-of-concerns seen in Plan 9 from Bell Labs-inspired tools and influenced by the design of Suckless-affiliated software. Communication between control clients and the window manager uses a small socket-based protocol, a pattern also used in projects like i3 and herbstluftwm.
Configuration is performed by editing shell scripts and keybinding daemons, frequently using files located in home directories alongside dotfiles repositories hosted on platforms such as GitHub, GitLab, and Bitbucket. Common practice pairs bspwm with sxhkd for keybinding management and with scripting languages such as sh, Python, and Lua to create startup routines invoked by session managers like systemd, runit, or OpenRC. Users often adopt workflows demonstrated in tutorials from communities like Reddit subforums, Stack Overflow, and various personal blogs maintained by members of the Arch Linux wiki.
bspwm offers features such as manual and automatic tiling, splitting strategies, focus-follows-mouse options, and multi-monitor support that integrate with technologies like Xrandr, XRANDR, and RandR extensions. Extensions and auxiliary tools commonly used with bspwm include compositors such as picom and xcompmgr, panels like Polybar, notification systems such as dunst, and file managers like ranger, thunar, and pcmanfm. Integration with terminal emulators (urxvt, st (terminal), xterm, alacritty) and editors such as Vim, Emacs, and Neovim is frequently demonstrated in configuration repositories and screenshots.
bspwm is written in C and is designed to have a small footprint compared with more heavyweight desktop environments like GNOME, KDE Plasma, and Cinnamon. Benchmarks and anecdotal reports in forums and mailing lists often compare its CPU and memory usage against alternatives like i3, xmonad, and dwm, with attention to compositor overhead from packages like picom or compton. Its low-level design makes it suitable for lightweight installations on hardware ranging from modern laptops to older machines supported by projects such as Debian and Alpine Linux.
The project has a development history tracked on code hosting platforms and discussion venues including GitHub, issue trackers, and mailing lists, and contributors often reference guidelines from the MIT License and practices common in the open-source ecosystem. Community support and user-contributed configurations are shared on sites like Reddit, GitHub, and blogs maintained by enthusiasts associated with distributions such as Arch Linux, Gentoo, and Void Linux. Conferences and meetups about Unix-like systems, tiling window managers, and minimal computing—often discussed at events similar to FOSDEM and regional Linux User Group meetings—occasionally feature demonstrations or talks referencing bspwm.
Reviews and user testimonials compare bspwm to contemporaries such as i3, dwm, xmonad, and awesome, often highlighting its minimalist design, scriptability, and binary tree layout as distinguishing characteristics. Its separation of input handling and window management invites comparisons to philosophies espoused by the Suckless community and to tiling paradigms popularized by software like wmii and ratpoison. Critiques typically focus on the learning curve required for shell-based configuration and integration with compositors and panels commonly used in distributions such as Arch Linux and Fedora.
Category:Window managers