parasurv's webspace@writer13 ~ $

Bspwm journey (part 1)

Date: 2023-02-04

Sometimes we all need to tinker with just another tiling window manager. This time Bspwm was on the menu, cause I saw a video from MAKC, who did a series about various Linux stuff.

Other than starting and adding some keyboard shortcuts, I didn't do much. Since it is a manual tiling window manager, I have to re-learn some stuff about creating windows and stuff. Lived my life with dynamic tiling and it is way different of course.

I want to get polybar started on both monitors, so far I only could start on the main one.

Making keyboard shortcuts are strange, as you need to use an outside file, with sxkhd (wow, I can't believe I remembered that).

How to start with Bspwm?

First of all you need to install the bspwm and sxkhd packages via your package manager.

Then it's advised to use some kind of config file for both. You can achieve this by copying the config files, like this:

# for copying sxhkd config file to your home config
$  cp /usr/share/doc/bspwm-0.9.5/examples/sxhkdrc ~/.config/sxhkd/

# for copying bspwm config to your home config
$ cp /usr/share/doc/bspwm-0.9.5/examples/bspwmrc ~/.config/bspwm

And of course I added a line to ~/.xinitrc so I can start bspwm from the terminal with startx:

exec bspwm

Shortcuts and learning

Other than adding shortcuts for Vivaldi and Emacs, so I can edit stuff in bspwm, I haven't done much.

What I can see that it is faster to load the window manager itself, and the programs load faster. Both Emacs and Vivaldi are faster than under xmonad.

I have to get used to polybar and fix the multimonitor stuff, and learn the shortcuts, cause it looks like non of them are like in i3, dwm or xmonad (mod +hjkl and others). So, lots of stuff ahead, and I will definitely write about what I did. Probably not today, cause I won't be home much, but a post on Sunday afternoon/evening.

Sources: A BSPWM Video // 25 Days of Linux and Using Polybar with BSPWM // 25 Days of Linux


This website doesn't track you. I don't use any javascript or other scripts. I don't store any information about the visitors. It's just pure old fashioned HTML and some CSS. Hosted on Neocities and created with Emacs.