User:Shaneeverittm/sandbox

bspwm, which stands for Binary Space Partitioning Window Manger, is a tiling window manager for the X Window System developed in the C programming languages. It represents windows on a monitor as leaves of a full binary tree. It's goal is to allow efficient management of windows almost exclusively using the keyboard.

The window manager is unique in that it is not self contained, three programs comprise a working bspwm setup: bspc, bspcwm, and sxhkd.

Aim of the project
The project, like most tiling window mangers, is to promote efficiency and a keyboard centered workflow. Some of the advantages provided by bspwm are its non-integrated hotkey daemon. bspwm using the Simple X HotKey Daemon to grab keyboard commands. Since sxhkd can work with many programs, it allows users to have an integrated hotkey service. bspwm's implementation as a binary tree allows the user find grain control over how windows are split and tiled.

Features

 * Independent per monitor work spaces.
 * Support for automatic or manual tiling.
 * Multiple and per screen status bars, including a variety of widgets (text and icon boxes, graphs, progress bars, and so on).
 * Everything can be done with the keyboard, so usage of a mouse is optional.
 * Multi-head support (XRandR or Xinerama).
 * Partially implements freedesktop.org standards including EWMH and ICCCM.
 * Compositing and true transparency support through an external compositor such as xcompmgr, or picom.

Configuration and customization
bspwm's architecture is as follows:

PROCESS         SOCKET

sxhkd >  bspc  <-->  bspwm

sxhkd listens for input form the keyboard, which then uses bspc to send commands to bspwm. Configuration is thusly done it two places: bspwmrc and sxhkdrc. The first controls window rules, placement and other bspwm features, while the second ties key presses to bspc actions.

The default automatic behavior is to have the new window take the place of the current window, splitting with alternating direction. The result of this is a spiral of windows.

Distribution package availability
bspwm is distributed on a Ubuntu/Debian and Arch Linux