I use OpenBSD-current as my daily driver. While I occasionally run into issues it has been, by and large, rock solid. While running -current I would run into issue with the various windows managers being slightly out of sync. (This is not a complaint, just background impetus for this post) To be frank, I was never really in love with the mainstream window managers. Gnome seemed the "most polished" but there was always something that just didn't quite work the way I wanted it to. KDE had the most apps that I never used (although looking at KDE Plasma as part of this article it does look really sexy. Maybe it will pass the spouse factor). Enlightenment looked the coolest and the ideas behind it are impressive, but it was too fringe.
I decide to try and utilize a windows manager that came default installed with OpenBSD. The default window manager is FVWM. Very basic (ugly)... yet clickable. I tried to do some work with the Xresources to make it less ugly and came the to realization, yet again, that I am not a graphics designer.
Aside: I envy those people that can take a look at say, FVWM, and see with some color pallet tweaks here, and new skinning there, make a turd look like a gem.
So I finally ended up at CWM. I had heard it was no frills (which is true). After some initial tinkering found it to be exactly what I was searching for.
Aside: I'm an old school vi/vim guy. Once I figured out how to move around and the difference between edit and command modes, I discovered I cannot go back. I will hit escape and try to move the cursor around even as I type this. (Can get real annoying on editors that throw all work away when hitting escape).
In CWM window movement and resize just uses the H J K L keys. You can also use the mouse to move windows (by pressing ALT and dragging) but that is slower and who has time for that.
As for apps. No borders or headers are drawn. This is not a problem for most of the apps I use because they all draw the X box to close the window. For the rare occasion that window was not drawn with an X (mostly on browser popup windows) pressing CTRL+ALT+X will do the job.
I also found that with few exceptions, everything I do is from the command line (CTRL+ALT+Enter). I do use a few graphical apps which I have added to a second button click menu. (Chrome; Firefox; VLC; xcalc; Wireshark) That's it. Everything else is launched from command line. (I'm not opposed to additional apps. I just don't need any)
My .cwmrc file is very minimal
# set the gap at the top of the screen(s) to be 30 pixels down
# so that time shows.
# allow a 10 pixel gap on the right for space to click on the desktop
gap 30 0 0 10
# ignore application when cycling thru them
# bind windows key to menu-cmd
#bind-key 4 menu-cmd
# sometimes you need screenshots
bind-key C-Print "/home/user/bin/scapture.sh"
bind-key CM-Print "/home/user/bin/scapture.sh -root"
# Commands in our application menu
command chrome /usr/local/bin/chrome
command firefox /usr/local/bin/firefox
command vlc /usr/local/bin/vlc
command calc xcalc
command wireshark /usr/local/bin/wireshark
I've been using this configuration with little tweaks hear and there for a few years now without any real issue. The only thing that I may want to change slightly is the menu bar. I am currently using xmobar from ports, which is a very minimalistic menubar for time and some stats UPDATE: I reticently ran into termbar. Believe it or not it is even more minimalistic that xmobar.
The bar runs in the background and can execute scripts at specific intervals. I found that running the scripts too often to make the bar update faster cause higher CPU than I wanted to devote to setting that will mostly stay static.