With bug #24514 (which is strongly rlated), Dean Tessman found nsLookAndFeel::GetMetric (in mozilla/widget/src/<OS>/nsLookAndFeel.cpp). This is a nice function - all of these values are candidates for similar bugs. (At least, it's concentrated...) It would be nice, if there they would be sat in XML files (XUL or XBL; don't know, what's appropriate).
reassigning to rods.
I have changes in my tree which check user prefs to allow overriding any of the hardwired nsLookAndFeel parameters (well, the numeric ones; it doesn't do the color ones yet). Taking the bug, with Rod's permission.
The "look and feel" numeric values are now prefable (hidden prefs -- they're not exposed in the UI). Add a line like: user_pref("ui.submenuDelay", 150); to your prefs.js or user.js. For the list of prefable values, see http://lxr.mozilla.org/seamonkey/source/widget/public/nsILookAndFeel.h The int prefs are supported directly; turns out our pref api doesn't support float, so I've used percentages (i.e. I'll divide the number in your pref by 100 to get the float value). The color values aren't supported at all (I figured those would mostly come from the skin), but there are hooks to support them, so if anyone wants them, file another bug on me and I'll implement them.