I tend to switch window managers a lot...for a while I was using KDE, then Ion, then PWM, then Enlightenment, then Fluxbox...and I still go back and forth quite often. (So much so, in fact, that I have wmselect installed on my laptop...) To make this transition easier, I decided to write a utility that generates menus from a common menu file.
Basically what this app does is read an XML file describing a menu structure, and then dump out menus in various WM-specific formats. The advantage to writing it myself (over using something like wmconfig) is that I can structure it however I want, and it's easy for me to write additional plugins to handle new window managers.
The cool thing about this (and the reason I decided to use XML in this instance) is, I can have WM-specific stuff in there easily, so things like the Fluxbox settings in the menu don't have to suffer.
Also, I added in the ability to have host-specific menus and submenus. So, for example, on spica (my laptop), I have a "Sync" menu (for syncing the laptop to deneb), whereas on deneb, I don't.
Right now the only modules I have are Fluxbox and Enlightenment DR16, but others like pwm (and possibly E DR17) will be appearing eventually. Perhaps I'll even write one for TWM, if I'm feeling especially masochistic...
Anyway, bedtime for me. I have my MDS interview tomorrow morning, bright and early at 11 AM. Wish me luck...