Revealing Mac OS X’s Hidden Single-Application Mode
Having returned from an archeological dig into the dark history of Mac OS X, I’ve unearthed a feature that could change the way you interact with your applications, enabling you to focus on one or two more easily than in the past.
Back in 1999, when Steve Jobs first showed off the new Finder in Mac OS X, it ran in a single-application mode, where switching from one application to another caused the first application to minimize (this was the original demo of the Genie effect). This was intended to be the default behavior, but it was so widely reviled that Apple quickly changed the default to the familiar multi-application mode that shows multiple applications on the screen at the same time.
Mac OS X’s multi-application mode differed from how previous versions of the Mac OS worked in that it interleaved all open windows without regard to which application they belonged to, a feature that annoyed a lot of long-time Mac users.
In Mac OS X 10.6 Snow Leopard, Apple has made significant improvements to the Dock, including improved Expose integration and minimizing windows invisibly, among much else. As a result, people who are starting to use the Dock seriously for the first time are discovering that clicking an icon in the Dock brings all its windows to the foreground. This interface behavior isn’t new in Snow Leopard, of course, but it’s an example of how Apple has never really given up the desire to make users focus on a single application at a time.
Single-application mode is how the iPhone works, of course, and on the Mac, almost all Apple applications – think about Mail, iTunes, and iPhoto – rely on a single window that can easily take over the entire screen. When an application needs a second window, such as for keywords or editing in iPhoto, it is generally a palette that disappears when the application is not in the foreground.
But it goes further. Lurking in the scary bowels of Mac OS X for all these years has been this little command, which brings back single-application mode. (Go ahead and try it – it’s easily reversed.)
defaults write com.apple.dock single-app -bool true
For single-application mode to take effect, you have to relaunch the Dock with this second command.
That’s right, the original single-application mode in pre-release versions of Mac OS X is still with us. Although it was always intended as a simple option for people who are not computer experts, it turns out to be an interesting option for the power user.
The most important fact to realize is that single-application mode is tied exclusively to the Dock. This means that if you click an application’s icon in the Dock, it immediately hides all the other applications, including the Finder.
However, if you switch applications through any other method, including clicking another visible application’s window and the Command-Tab application switcher, Mac OS X’s normal multi-application approach remains in effect, and nothing will be hidden.
You can thus combine methods of switching between applications. Click Mail in the Dock, then use Command-Tab to switch to Safari, and you’ll end up with both Mail and Safari on screen, and nothing else. If you later want to hide Safari again, click Mail’s Dock icon (or just Option-click on Mail’s window).
If you think about this for a minute, you’ll start to see the possibilities. Enabling single-application mode means that you can quickly and easily build a custom list of visible applications, and that list is dynamic. In other words, you can achieve a lot of what you might use Spaces for, without having to switch between spaces or manage which applications show in which spaces.
The main advantage to this single-application mode is that clicking an application in the Dock has always, as I mentioned earlier, brought all that application’s windows to the foreground. So, when I click Terminal’s icon in the Dock, not only do all other applications immediately disappear from view, I see the window for my local shells, the window for the remote shells on my mail server, and the window for the remote shells on my primary DNS server. These windows are exactly where I want them on the screen and there are no other windows cluttering up the view. However, if I need to reference a Web page at the same time, I simply use Command-Tab to bring up Safari, giving me its window and Terminal’s windows all on one
With Spaces, I kept all my Web browser windows in one space, but that meant a lot of swapping back and forth, or moving a browser window to another space temporarily. With single-application mode I always have the applications I want in the foreground visible and everything else is hidden from view.
The primary downside is that single-application mode doesn’t play nicely with Expose. When you activate Expose, it shows only windows for visible applications. I was hoping that it would treat the hidden applications’ windows as minimized windows, but that was not the case.
For me there is also an issue with full-screen video. If I am watching something with VLC or QuickTime Player on my second monitor and I click an icon in the Dock, the video is hidden from view. That’s not surprising, but it’s not what I want since I think that a full-screen video should stay full-screen no matter what. It’s something to be aware of if you tend to watch video while doing other work, as I do.
There may be other issues I haven’t encountered in the few days I’ve been using single-application mode, but getting back to the normal multi-application mode is easy. Just paste this first command into Terminal and then restart the Dock with the second command.
defaults delete com.apple.dock single-app
In the end, the main thing that I’ve noticed in the last few days is that it is much easier for me to concentrate on a single task when I can quickly hide all unrelated applications and show just the one or two that I need right now. I’m finding that this method works better for me than Spaces, and I am a big fan of Spaces.
[Lewis Butler is a longtime Unix system admin, postmaster and Mac geek. He is a frequent contributor to a large number of mailing lists under his “LuKreme” alias.]
You can somewhat emulate this mode with knowing the menu items "Hide [App]" and "Hide Others".
I use to use the Hide commands much more in the classic OSes, I think then only one had a keyboard shortcut.
Now you could use the Hide commands when you want to do focused work. Just a thought
None the less, cool find.
Very interesting, but sad that Apple kept that hidden... I personally use Isolator http://is.gd/414vG
I've also tried the hiding feature of DragThing, which as a "always visible" list, but I find Isolator does just what I need. I think by default it has a blur effect but it slows down window dragging, so I just use plain black with a bit of transparency so I can see where the other windows are.
This is not news. Utilities such as TransparentDock, MacPilot, and Secrets have had setting to enable "single application mode" since the dawn of OSX.
With this mode on, you can also option-click an application in the dock to NOT hide all the other apps. With it off, option clicking an app hides all other apps.
So basically, this mode just inverts the hide default on the dock.
Option-click an application icon on the Dock actually only hides the application that is frontmost when the user performs the operation. Still, a novelty rather than a really useful feature IMHO. but it could help my mom.
You're right. I tried some key combinations. Simply doing a option+click hides the active application only, while option+command+click does the single-app behavior exactly.
I've been working this way for a long time, though without using this single-app mode. Instead, I option-click away from apps to hide them when I'm done with them for the moment. It's really hard-wired into my brain at this point.
I've been doing the same thing for years except I have a Logitech mouse that I have command-option-click (I guess just option click works now?) programed into a button on the top.
Command-Option-clicking on any Dock icon will achieve the same effect. No Terminal usage necessary.
Isn't this the same result as performing command-option-click on an application icon in the dock.
Per Apple KB article at http://support.apple.com/kb/HT2307
Hides other open items, in addition to click action.
w00t! so simple so elegant but it was big secret until now... many thanks!
Love it! I have missed this since Beta; thank-you. Now, all I want for Christmas is "pop-up folders."
Check out Sprited Away. http://tr.im/AUP2
It accomplished similiar effects without some of the limitations of the dock's single-user mode
This functionality never went away, its been available as the "Simple Finder" mode that can be activated for less experienced user accounts (read children - although mine are probably more adept than me!) all the time in OSX.
Sort of. The simple finder does use the single-app when switching apps, but it also does considerably more than that. It is not a usable option for real users, this is. I've been using it for a week and I find it very usable. Some people will prefer using command key combinations to hide and unhide applications, but frankly things like that tend to not get into my muscle memory.
I switch apps as normal, I get a mess of windows open, and that's fine because I work well that way. But then I want to concentrate on a couple of apps at a time, so I use the dock and a command-tab and everything distracting just goes away and I can focus on just BBEdit and the Terminal, or just Safari and the Terminal. Or just Safari and Mail.
Also, since I don't use the dock that much, my normal workflow is unaffected by this change. I have to decide, OK, now I need to work on this html ode, so let's go click BBEdit so I stop reading the twitter stream%u2026
You could always accomplish the same by holding Command and Option while switching apps. It's features that's been around at least since System 7.0. I use it all the time.
Interesting stuff, but the history is wrong. (Yes, I'm pedantic, but that bugs me.)
Apple first showed off things it called "Mac OS X" in 1999, but Single Window Mode didn't show up until the first demo of the Aqua UI at Macworld SF in January 2000.
The Finder was never mentioned in that demo, and came up only briefly as a source of image files for a Quartz demo.
Single Window Mode was introduced only at the end of the demo, following description of all the other features of the Dock, and it was explicitly turned on (by clicking a titlebar widget available in all windows), not enabled by default.
Check out Visor for keeping your terminal app always on and hidden but only a keystroke away: http://docs.blacktree.com/visor/visor
neat concept. decided to try it in my .profile as follows:
case "$1" in
"" ) defaults write com.apple.dock single-app -bool true; killall Dock;;
"n" ) defaults delete com.apple.dock single-app; killall Dock;;
* ) echo "try solo [n]";;
works a treat
In playing around with key combinations and clicking apps on the dock I found another treat: command clicking an app opens a Finder window with that app selected. Neat! This will save me the few seconds it normally takes me to Spotlight-search for an app when I occasionally want to get to it in the Finder.
Thanks for this interesting article! I am also finding a bunch of the comments useful, since they are reminding me of tips for using the Dock that I've not integrated into my brain-finger wiring.
Inspired by this post i wrote a script to switch single-application mode on or off. Check my post(erous) at http://moritzz.posterous.com/applescript-to-switch-mac-os-xs-single-applic
That's great. I've added this to my armoury already.
Give Think! a try. It gives you most of this behavior and plays nice with Expose.
Command-Option-H hides all applications other than the one you're currently using. I use it all the time.
I recently condensed my work and home laptops to a single laptop. The means that I must run VMWare Fusion (.Net). and I have a heavy mix of work and home all the time. I've found myself really missing that little purple button to the upper right corner of the window (yes, that's what used to trigger single application mode)
Thanks for the tip and well written article!
It also kicks in when you LAUNCH an app from the Dock, which is a dealbreaker.
The Mac could use a mode where only one app is visible. "Hide Others" should be a modifier key away when switching apps and elsewhere.
Yes I also try and do this using the :hide: and :hide others: function but this is a very interesting alternative and yes it is a pity such functionality has been obscured. I guess the idea is to the OS as straight forward and uncluttered as possible so as to avoid the keystoke days of DOS. OSX is obviously a GUI with a few useful bits and pieces still hidden away in the back recesses. Great article and well written
In the "LiteSwitch X" preference pane you can switch to a "Single Application" setting on the "Window Layering" menu.
Long before expose and spaces showed up, I was a single user mode addict. My friends would show me how they'd organize everything in each space and whirrr..off to next space...whirrr off to next space...frankly just made me dizzy.
Originally I used autohide...but then application wizard showed up and I have used it ever since.But I am really grateful for this article because anytime I can do what I like without having to go third party...that's golden. Thanks.
I have been using this feature for several weeks - I discovered it by accident almost. I really like it, and I tend to use it all the time.
It is a setting in LaunchBar 5 [ Actions \ Options \ Hide other applications when opening an item. Can turn it on and off at will.
I sometimes "park" a window using StickyWindows, and then call it up with the aid of the CMD key to temporarily show two application windows at once.
Simply reselecting the app of choice restores the single window focus again.
I also make extensive use of full screen mode for some apps - both Bean and Nisus for example - which gives one a nice focus even when there are many other windows open.
You really don't need or want this - I tell you why not on my blog: http://avegh.com/1x
I read your blog and while it is evident why YOU would not want this, it doesn't change the fact that I find this quite useful and have quickly integrated it into my day-to-day use. It appears other people have as well.
It is interesting, though not surprising, that Apple will not allow you to hide the only non-hidden application; that is something I hadn't run into.
Thanks for the response, Lewis.
I agree with you that there are some people who may find it useful, but as you read, I find it utterly useles.
To run into my deal-breaker issue, just click any application in the dock that isn't Finder, and then try to Cmd+H that app.
I don't see the issue. What do you expect to happen, all applications to be hidden? Obviously this is not something that Apple decided was appropriate. I can't see how it would be appropriate either, for the record, nor why anyone would want to have ALL the applications hidden.
Shift-Control-Eject is the solution if you want everything hidden (it turns off the screen).
Like Spirited away (earlier comment), I now use App hider: http://fluffdesign.com/x/u
Lets you choose apps to not hide on the fly, all else it hides after pre-determined, configurable time.