Sometime in prehistory, I installed Mandrake Linux on my computer, but I didn’t stick with it. I suppose it ran KDE of some sort. When I eventually did switch to GNU/Linux in August of 2003, I initially did not use a window manager at all. The reason is that I had chosen to install Debian Woody, which failed to bring up X. Thus, my first Linux experience was using the console and learning
vi to, in vain, try to fix the XFree86 configuration file. Much later I realised that the issue was that Debian Woody’s
nv driver was not compatible with my NVIDIA graphics card. Switching to the
vesa driver (or installing the proprietary NVIDIA driver) would have fixed it.
Instead I switched to Knoppix, which was mostly a live CD, but could also be installed to a disk - and in this case, was essentially Debian with better hardware detection. It came with KDE, which was then what I used. Eventually I switched to GNOME 2.2. I don’t remember the reason - maybe that the upcoming GNOME 2.4 was fairly hyped at the time.
After that I went a bit back and forth (I distinctly remember trying to learn Qt programming in April of 2004), but eventually switched to the tiling window manager Ion (this was before the author became grumpy and abandoned it. I don’t remember exactly why, but I was probably chasing obscure software to establish hacker street cred. I never liked its model much though, and eventually found ratpoison, a window manager inspired by GNU Screen. It felt much less magical and unpredictable than Ion, and I used that for a great many years. Since I was a smug Lisp weenie in those years, I also tried out StumpWM - a ratpoison successor written in Common Lisp - but I had some early problems with it losing window focus, so I stuck to ratpoison.
As happens to all hackers, I eventually wanted to write a window manager of my own. The result, from around 2009, was Mousetoxin, a clone of ratpoison written in literate Haskell (if you check the Mousetoxin link, you’ll find it’s a PDF - the actual source has been lost). It worked quite well, and I used it for a couple of years. I did eventually switch to xmonad to fit in with the rest of the Haskell community, although I also ended up writing an entire programming language just so I could write a few tools (like gsmenu) for interacting with it. It made sense at the time, but in retrospect it was a bit silly.
I used xmonad for years, right up until curiosity made me switch over to GNOME 3 around 2016. Most of my work was (and is) done in a full screen Emacs session, and GNOME supported that well enough, while having fewer bugs than xmonad. Eventually I did grow tired of being a WIMP and in June of 2019, I switched to sway, after I figured out how to make it act like ratpoison. I rediscovered just how pleasant a nice tiling window manager can be. It may also help that the user base of tiling window managers is somewhat larger than it used to be, so the troubleshooting is more well distributed.
To be continued…