Bspwm
bspwm is a tiling window manager for X11 that represents windows as the leaves of a full binary tree.
Contents
Installation
# xbps-install -S bspwm sxhkd
Optional, you can install dependencies to make your life easier:
# xbps-install lxappearance dmenu conky tint2 dzen2
Configuring
# mkdir -p ~/.config/bspwm ~/.config/sxhkd # cp /usr/share/doc/bspwm/examples/bspwmrc ~/.config/bspwm/bspwmrc # chmod +x ~/.config/bspwm/bspwmrc # cp /usr/share/doc/bspwm/examples/sxhkdrc ~/.config/sxhkd/sxhkdrc
Xinitrc
Append to your ~/.xinitrc (or replace, depending on how you have it set up):
sxhkd & exec bspwm
Autostart
# touch ~/.config/bspwm/autostart
The syntax for this file is [COMMAND] &
. If you want a simple bar, append xfce4-panel &
.
Usage
A list of hotkeys is available in ~/.config/sxhkd/sxhkdrc (change line 84 to your favourite terminal)
- super + enter = terminal
- super + alt + esc = exit
- super + w = kill
Making it better
Add xsetroot -cursor_name left_ptr &
to (line 63) of ~/.config/bspwm/bspwmrc.
- to set up your autostart see here (Wayback Machine)
- to change your sxhkd see here (Wayback Machine)
- to change your bspwmrc see here (Wayback Machine)
dual monitor config
If you have two monitors, the main monitor HDMI and the secondary monitor DVI the following configuration should work
bspc monitor HDMI-0 -d II IV VI VIII X
bspc monitor DVI-I-1 -d IX VII V III I
conky
Assuming you will place conky on the left side of a monitor and conky will be 200 px wide
bspc config -m DVI-I-1 left_padding 200
Please note that if conky is not runing there will be a 200 px "gap"
rules
To set libreoffice tilled
bspc rule -a '*:libreofficedev' state=tiled
bspc rule -a '*:soffice' state=tiled
The following rule would allow you to have Chromium floating
bspc rule -a Chromium state=floating
Troubleshooting
I get a black screen, what do I do?
This is good, it means bspwm is running. Try Super+Space, if that doesn't work then either sxhkd isn't set up or you don't have a valid terminal in your ./sxhkdrc.
Make errors, OMG so many make errors!
Make sure you have gcc and make installed, then troubleshoot the dependencies, make sure they are all installed.
Help, I'm stuck!
Try Super + Alt (or Ctrl) + Esc. If that doesn't work, swap tty's and do a pkill x.
Stuck after switching to different TTY
Bspwm is spawned to TTY 7 instead of the TTY it was launched from, so input Ctrl + Alt + f7 to go back to Bspwm.
Installing from source
Installing dependencies
$ sudo xbps-install gcc make $ sudo xbps-install -S libxcb xcb-util xcb-util-keysyms
Cloning the source
$ mkdir -p ~/src/ $ cd ~/src/ $ git clone https://github.com/baskerville/bspwm.git $ git clone https://github.com/baskerville/sxhkd.git
Building
- bspwm:
$ cd ~/src/bspwm $ make $ sudo make install $ sudo cp contrib/lightdm/bspwm-session /usr/bin/bspwm-session
- sxhkd:
$ cd /sxhkd $ make $ sudo make install
If it fails, check your dependencies.
Credits
This article is basically a remake of neonfox's tutorial at Crunchbang. Credit goes to the devs: