Nah. Simple, yes. Elegant, no. It fails with term windows and multi view-pane stuff like gqview. But it does accomplish the goal I wanted.
Does anyone know how to NOT draw an exisiting window without destroying it?
You're right, the fonts are a bit small, but I can fit 786,432 1x1 windows on every screen. So it makes up in quantitiy what it lacks in quality. :)
I figured out the simple AND elegant solution to the minimize issue:
1. add a boolean ishidden to the client struct and toggle it with ALT-F9.
2. if c->ishidden, XUnmap the window else XMap the window.
3. In the unmapnotify handler, check for ishidden, and just return if it's set.
This appears to do exactly what I want, without screwing up my term windows. There's a couple other tweaks to do yet, like change focus to the next window in the stack, and turning off ishidden if your trying to destroy a hidden window, stuff like that.
Much better than that that 1x1 pixel trick, and it cleans the PB&J prints off my source code:)
I'd really like to install Xmonad and play around with it some, but it has a number of Haskell dependencies and in the end it increases my overall system install size by quite a bit, so I've been avoiding it. Still, I've heard from some users that Xmonad is like the ultimate in tiling window managers. It's a pretty large package itself, when compared to the tiny size of DWM.
I haven't recompiled dwm in 2 days, so I guess that means I have it tweaked just perfectly. I think it's a thing of beauty and I'm keeping it.
Hazel asked to see it, so here it is. All 34k of it. That includes my statusbar program, but not the monospace font. That comes from Inconsolata
At the moment, I'm running MonsterWM and still switching back and forth between it, DWM, and Awesome. At some point, I'm going to settle on one of the three as my default tiler. MonsterWM is the lightest of the bunch, but it does quite a lot for only 700 lines of code, and the lack of add-on features is what many of its fans like about it.
For anyone that might be confused about tags vs workspaces in tiling window managers, I ran across this recent article giving some informative pointers and explanations regarding the differences:
dwm: Tags are not workspaces - wongdev.com
It takes a while to become accustomed to the way tilers handle windows but once you do so, you can begin to feel the power and benefits that they offer.