2023.11.25
I laugh at the early years when I thought GNOME or MATE were necessary for the GUI experience, but I shudder at the thought of all the insecurities introduced by such nonsense. Gone are the days of Compiz and all the cool but superfluous effects that it produced. No more flaming windows for me (unless of course it’s (Micro? Macro?)$oft Windows).
My early adventures with tiling window managers on Void Linux were not the most exciting because I didn’t know what I was doing. Trying to configure i3 was a pain, while trying to customize dwm was a failure on countless occasions, though eventually I got it set up the way I wanted. I don’t remember all the others that I’ve tested, but dwm was the default for a while. Then I discovered the awesome window manager, written and configured in Lua. This was exciting since my preferred language at the time was Lua, so that became the default for quite some time… until I came back to OpenBSD with an open mind.
In the spirit of minimalism, it seemed ridiculous to use awesome-wm when I learned that it actually wasn’t so awesome at all. Turns out it dragged in bash and other dependencies that I really didn’t want, and certainly didn’t need for anythine else. Reading a little more about the default X environment on OpenBSD lead to cwm(1) becoming the new window manager of choice. This was just one of several examples where my preferred tool was suddenly replaced without question, instead using the default tools provided by OpenBSD.
Setting up a custom config was quick and simple using key-bindings that would match those which were previously used in awesome. Of course I didn’t learn this from reading the man page because some else already did it and posted their config to the internet. The fact that it was nearly identical to my original awesome-wm config is just a coincidence. So what’s it like?
Bare.
There’s literally NOTHING on the screen except for the small xconsole window in the lower right corner, plus a single 80x30 terminal window in the centre… The background is pure black (as set in my .xsession file). There is no status bar or any other widgets, so there’s no distractions. With the ‘SUPER-r’ key combination I can get a run prompt to type in any command, with a list of possible matches appearing as I type. Windows are organized by ‘groups’, but this is more or less equivalent to virtual desktops since each ‘group’ is given a numerical ID. Switching to group 2 will show a blank screen until I open another terminal window (or some other program). Windows can also be moved to other groups, or set to appear in all groups. It’s a no-frills environment, even more sparse than dwm.
The man page is surprisingly short compared to others, while the cwmrc(5) man page is similar in this regard. Both pages are easy to understand though, and they provide enough detail to set things up without having to search the web. This is simplicity at its finest, and I would strongly recommend it for anyone who wants a nice window manager that really doesn’t get in the way.