When I get tired of Metacity's crack-headness I usually retreat to the warm embrace of OpenBox.
Openbox's configuration, while rather intense, is actually quite easy to deal with. Every aspect of the WM's interaction with the mouse or keyboard is configurable. Each field is independently configured.. like title bar vs decorations vs window vs desktop etc etc.
A example entry would be like this:
<keybind key="W-d">
<action name="ToggleShowDesktop"/>
</keybind>
And it would be in the 'keyboard' section that is simply bracketed by this:
<keyboard>
blahblahblahblah
etc etc etc
</keyboard>
As far as the keywords and such the combination of the examples included in the default configuration and the good documentation on Openbox's website means that if I want to find out how to do something I can usually figure it out and have it working in a couple minutes rather then fumbling around in the dark for a half hour or more google'ng around and hoping somebody has some working snippets posted to some mailing list somewhere.
> Hides all windows so that the desktop is visible, and gives focus to the desktop window if one exists (such as in GNOME and KDE). You can also use the action again to show the windows again, if no windows have become visible yet.
And gives a example on it's usage.
---------------------------
the only thing that sucks about it is that XML is wordy and all that, but that's something that can be worked around with a good text editor.
I suppose I am just saying that a decent text configuration file with good documentation and usable syntax is good while a text configuration with bad syntax and no documentation is a nightmare no matter if it's XML or what.