The first time I run a new program, I usually follow basically the same process. I check out the menus, buttons on the toolbar, windows that can be opened, and then just start playing with the application a bit, to see what it can do. Depending on the program’s focus, that part of the process will vary greatly, of course. But the last thing I do with a new application is always the same: I select File: Save, even though I have no intention of saving whatever it was I had created.
Why, you might ask? Because I find the default OS X Save (and Save As) dialog to be one of the less user-friendly aspects of OS X. In its default state, the Save dialog lets you give your file a name, and you’re apparently restricted to saving your file only in some number of pre-defined locations available in the Where pop-up menu. But the listed locations are basically useless; how often do you really want to save something to the top-level of one of your hard drives? As a refresher, here’s what the standard dialog looks like:

Not exactly useful, is it? As you probably know, however, there’s great power lurking in the triangle to the right of the Save As box—click it, and you get a much nicer dialog, with a fully-navigable Finder-like window:

Not only is there a fully-navigable Finder window, but you can search, choose between list and column view, and even create a new folder. I understand that Apple really wants to present a simplified OS to the user, but in this case, I think the expanded Save dialog actually is the better dialog from an ease-of-use standpoint. When presented with the first version of the dialog, many users instantly ask “but how do I save to another location?”—it’s not completely clear that the disclosure triangle is actually a button that will do something useful.
So that’s why the last visit I make in any app is to the Save dialog. I click the triangle to switch to the expanded mode, then save my temp file (which I then delete in the Finder) and quit the program. The program will now remember that I prefer the expanded dialog. But thanks to a recent tip, I no longer have to do this. Instead, all programs on my machine now open the Save/Save As dialogs in their expanded state—by default!
If you also prefer the expanded save box, you can make the change yourself with one simple Terminal command. Launch Terminal (in /Applications -> Utilities) and enter this command:
defaults write -g NSNavPanelExpandedStateForSaveMode -bool TRUE
That’s it—the default for Save and Save As dialogs has now been changed to the much-more-useful expanded version. Keep in mind that OS X remembers your settings on a per-application basis, so if you’ve already used the Save/Save As dialog in an application and left it in the “simple” mode, it will still be in that mode when you use it the next time. But any new applications will default to the expanded state. Note that this has only been tested on 10.4; I don’t know if it works on earlier versions of OS X.
To undo this in the future, just repeat the above command, but replace TRUE
with FALSE
. Personally, though, I know I won’t be undoing this one!
Other uses for this hint
One other possible use of this command is in a lab situation, where you have many users on many machines. You might be able to greatly reduce the number of support calls by making this simple change. But the above version of the command will only apply to the user who ran it—it’s not global. If you’d like to change the global default, so that all users on the machine will have expanded save sheets, use this command (just copy and paste into Terminal):
defaults write /Library/Preferences/.GlobalPreferences NSNavPanelExpandedStateForSaveMode -bool true
Now every user’s Save and Save As dialogs will use the expanded sheet form (again, assuming they haven’t already used an application and left it in simple mode). Even if you don’t run a lab, if you have multiple users sharing one Mac, this might be a useful change to make, so that everyone will have the expanded Save dialog without having to remember to click the triangle.
As with the single-user version of the command above, you undo this one by repeating the command, replacing TRUE
with FALSE
.