BSPWM
As some may know, I've been an i3 user for many many years. It's been the window manager of choice for me and I could not see myself ever using anything else ever. That is until I nuked my previous laptop by spilling a drink on it. It died on me that day. RIP laptop. This meant I had to order a new laptop and I had to wait (a damn month) for it to arrive. In the mean time I got to enjoy my 2014 Chromebook running Linux for a little while, which was fun and also gave me the freedom to try something new.
I have written several scripts, used several additional programs and workarounds to make i3 behave in a way I wanted it to. While I was on this vacation from my system, I figured I might as well see if there might be a better way of managing my windows. After a lot of research I decided to try BSPWM. Mind you, I was just playing at this point. I had no intention of using anything other than i3wm on my new machine. However...
OMG. (Obviously I am quoting a letter to Winston Churchill by Lord John “Jacky” Fisher there) BSPWM is amazing. It fits my workflow so much better than i3. There are more, but the following made me seriously consider switching.
- It's got the Fibonacci layout by default, saving me running an extra program like autotiling.
- It relies on SXHKD (a program by the same author), which I already used on i3 which, to me, felt like bloat as i3 came with keybindings.
- I like the fact that the config file is (well can be) a shell script and I make use of the shell part to make BSPWM swallow windows for instance.
- I love the fact that it comes with a "--follow" command, which saves me a keystroke each time I move a window to another workspace, as it follows the window to the new workspace.
- I think BSPC is way more powerful than i3-msg, for instance: To get Run Raise (or Switch Launch) actions to work in i3, I needed to use wmctrl. In BSPWM in-build commands allow me to script this. (I'll be showing my script on this at a later date.)
However, i3 does do workspaces better, as I like dynamic better than static, but that's easily added to BSPWM with a small for loop in the bspwmrc file.
for i in $(_query_desktops '.!focused.!occupied' --names); do
bspc desktop "$i" -r
done
At any rate, I have been playing with it for a while. Now my new laptop has arrived and after replacing Windows with Linux (and losing 90 bucks), I decided to install BSPWM as my window manager.
At the moment I am thoroughly enjoying the experience. As with any new install of Arch from scratch, I am not ready to share my config as it's still a work in progress, but I will eventually.
I think BSPWM is my new "home" for the foreseeable future. I'll be playing with it for some time to come and I will be making it mine. I'll keep you updated on my progress and I'll be posting more on this subject as time goes by. Also, I know I am late but best wishes to all. I hope 2023 brings you joy and happiness.
- Home
- Next: Jofi
- Previous: Managing dotfiles