Bspwm

From Void Linux Wiki
Jump to: navigation, search

Wikipedia-logo.png bspwm is a tiling window manager for X11 that represents windows as the leaves of a full binary tree.

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

Warning: We strongly recommend using the official bspwm/sxhkd packages. If you get stuck, it's your problem ;)

Installing dependencies

$ sudo xbps-install gcc make
$ sudo xbps-install -S libxcb xcb-util xcb-util-keysyms
Note: Depending on your configuration, there may be more dependencies required; this example is for someone installing Xfce4.

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: