ion and lua
I've been using the ion window manager for half a year or so, and it's mostly sunk into the background, like a command prompt it's nothing special, just something that's there, that always does what I want, and without which I would be crippled.
It started for me when I noticed a request for a Debian developer to sponsor a new package that I'd never heard of. For some reason I did, probably because I had nothing better to do at the time. I've been sponsoring ion for Per ever since (hope he becomes a DD soon!). While I sponsored it, and played with using it, I had been using the same WindowMaker setup (including the same background!) for going on 5 years. I'd tried to escape by way of ratpoison, gnome, larswm, and blackbox, but I always returned to WindowMaker after a few minutes. I was set in my ways. Finally, after sponsoring the package for 5 months or more, I took the plunge into using ion full time, and have not looked back.
It didn't take very long to get a setup that worked for me, and I didn't learn ion very deeply while doing so. My basic ion configuration has not changed much since, though I upgraded to ion2, rewrote my config files to ease maintenance, bagan using the new dock, etc. Perhaps three days of learning and getting adjusted to ion, and adjusting it to me, followed by months of ignoring it.
Lately I've been getting more into fiddling with my ion configuration. Tonight I played with nesting workspaces in frames, and came up with a fix for an annoying problem I've had: I tend to have lots of windows I only want to glance at occasionally, doing downloads, on irc channels, or doing other long-running tasks, and the tabs for these would clutter up my frames until it was hard to find the important stuff that I was working on. My solution was a little nested WFrameWS named "clutter". In the screenshot I have clutter attached to one of my small work frames, while I'm reading mail in the main large frame. All the cruft I'm doing -- downloads, waiting for responses on various unimportant irc channels, etc, is in this one frame. Ion even does an excellent job of resizing it, so if I move it to a larger enclosing frame, I get lots more details. And with a keystroke I can banish the whole lot off-screen and get back to quietly coding.
Which brings me to lua.. I've written before that I've been having a hard time lately getting motivated to learn new programming languages. For example, I've toyed with python, but its solution space is so close to perl's for me, and I'm so experienced in perl, that there has not been enough payoff to learn it. It seems that by way of ion though, I may just have found a reason to learn another language. Ion is extensively tweakable in lua, and I've absorbed some lua basics just by editing my config files. I can think of so many interesting things to do with lua on top of ion, and the language seems nice enough that I think I do want to learn it now, in detail.
Anyway, it's just a window manager, it has its warts, it's not for everyone. I'm very glad it's the window manager for me.