paulgorman.org/technical

bspwm

bspwm is a tiling window manager.

Install

% sudo apt-get install libxcb-xinerama0-dev libxcb-util0-dev libxcb-icccm4-dev libxcb-ewmh-dev libxcb-keysyms1-dev
% cd ~/repo
% git clone https://github.com/baskerville/bspwm
% make
% cp bspc ~/bin/
% cp bspwm ~/bin/
% cd ~/repo
% git clone https://github.com/baskerville/sxhkd
% cd sxhkd
% make
% cp ./sxhkd ~/bin/

(If ‘make’ errors out with a missing lib, just do apt-file search foo/bar.h to find the package that provides it.)

Configure

Make sure $XDG_CONFIG_HOME is set. If not, set it in your .xinitrc:

export XDG_CONFIG_HOME="$HOME/.config"

Then:

% mkdir ~/.config/bspwm
% mkdir ~/.config/sxhkd
% cp ~/repo/bspwm/examples/bspwmrc ~/.config/bspwm/
% cp ~/repo/bspwm/examples/sxhkdrc ~/.config/sxhkd/
% chmod a+x ~/.config/bspwm/bspwmrc

In the above two files, we set wm settings and key bindings, respectively.

Append to .xinitrc, replacing your existing window manager:

sxhkd &
exec bspwm

Log out and log in again.