Configuring bspwm with Scheme

Chicken Scheme, to be precise. Normally the bspwm window manager is configured with a shell script located at ~/.config/bspwm/bspwmrc

One of the interesting features of bspwm is that you can write that configuration script in any language you want. So I’ve been experimenting with writing it in scheme.

I have an interest in Chicken Scheme because it compiles to C, but it can also be run as a script, too.

I’ve made some progress with some logic that would have been a bit more difficult to do with just a bash script. For example, I check to see if the laptop is a ThinkPad laptop or not. If it is, I run the touchpad-indicator program on mxlinux that gives me natural two finger scrolling and other touchpad enhancements and options.

I also have some logic that determines what terminal emulators are installed and then to select one of those as the default terminal that launches when I log into bspwm.

Fun stuff so far.

I’ve published a few videos on the topic of bspwm. Feel free to watch using the LBRY app or at