The trouble is -- what if you only wanted to change the font for the current document? Perhaps I'd like to see the document I'm working on right now in a bigger font, or I'd like to treat tabs differently temporarily. Under the current system, it ain't temporary.
How would moving the stuff to a preferences window make it temporary?
It wouldn't, but it would change users expectations so that they no longer assumed that changes were temporary.
and I think that is exactly the reason why people are so bothered by this, usually in mac osx applications things in the menus only apply to the current (document) window, not globally.
It's been out for a day -- I think people have started it, wanted to see which preferences it offered, and then stumbled upon the missing preferences window, and ranted about it. So let's give it 14 days, and we'll see how people feels about it in that time.
Well, only counting top-level menu items there, and not counting commands, there are 80 menu items. Depending on whether you include "Enable Syntax Highlighting" there are either 20 or 21 which are really preferences. I'd say that saving 25% of the "menu real-estate" would definitely justify moving the preferences to a separate window.
An added advantage: if a future version implements per-project preference overriding, then the prefs window can be re-used as the UI for this feature.
For the record, here's what I think should be moved to preferences:
File -> Open With Encoding should be a Default Encoding preference (maybe move file encoding to the status bar)
Everything in the View menu except Fold Current Block. The fonts and color picker dialogs may also want to be left in the menu, but rely on dismissing the windows instead of having a "hide" command.
The entire Behaviour menu.
And "keep on adding more and more", I really do not think TextMate stands out with huge unstructured menus. I'm currently in Mail.app, I see it has 17 items in its View menu, 5 of them are submenus.
FWIW at least 3 of those (Hide toolbar, hide status bar, use small icons) should really be preferences according to the HIG section that you mention ;-)
Ian.
#ifndef __COMMON_SENSE__ | Ian Phillips #include <std_disclaimer> | http://ianp.org #endif