Switch Different, The Window Wars

My buddy Cédric recently “reluctantly switched” to Mac OS X. In a followup post, he notes one of his biggest complaints is the task and window switching in Mac OS X. Actually, the biggest issue might be that there’s no way in Mac OS X to switch to any window that’s “open”, because a window that’s minimized to the Dock won’t show up in Exposé.

He’s right, of course. It would be great if Mac OS X allowed you to easily switch to a minimized window along with the other windows. I decided to file an enhancement request with Apple asking for this functionality.

I started thinking about how I use the various task and window switching functionality, and came to two conclusions:

  1. I think of minimized windows as “open but inactive”; and
  2. I hide my applications (and their windows) when I’m not using them

“Open but inactive” means they’re windows that have useful information in them but that I don’t want in my way. For example, each morning I fire up Camino, hit MacSurfer.com, and command-click through a series of articles I want to read (opening each in a separate tab). After reading a couple of entries, I’ll minimize the window to the Dock so it’s gone but not forgotten as I use Camino for Actual Work Purposes. When I cycle through my “active Camino windows”, this minimized window never shows up, exactly as I want. When I want to read it again, I un-minimize it, use it, and then return it to the Dock. I’ll often have several of these types of windows in the Dock.

So, I keep all my windows un-minimized except for those I don’t want to see but might need.

The second conclusion was I hide my applications if I don’t need them immediately. I use Command-Option-H (Hide Others) all the time. This takes every application, and all of those application’s windows, and hides them, leaving me with just the application I’m using and its windows.

(As an aside: I’ll often hide applications which don’t offer easy recall of their contents, like Camino and Safari with their tabs. If I can quit the application and my state is restored upon opening (e.g. NetNewsWire, Mail), I’ll generally do that instead of hiding it. The effect is the same, except on memory usage.)

That means:

  • “active” applications and windows are displayed and accessible; I can switch among them with Exposé and Command-Tab (and the cool combination of the two).
  • “inactive” windows are minimized, so they (purposely) don’t show up in my window switching.
  • other applications are “hidden” (Command-Option-H really helps me focus on the application I’m using “now”).
  • When I need a current application’s window, I either command-(shift-) tilde or Exposé the windows.
  • When I need a different app’s window, I Command-Tab (or use QuickSilver) to that application and then Exposé/command-tilde its windows.

Because Exposé makes it easy for me to access my available windows, I don’t care how many of them there are for any particular application, so if I “need” it, I tend to leave it up (not minimized). E.g. Camino currently has eight open windows, and my 10 open applications have 20 open windows in total.

Now, maybe this is all a massive workaround for the “limitation” Cédric’s noted of not being able to switch to any open window, but I must ask, not being a Windows person, what is the reason for minimizing windows under Windows. What problem is solved by doing this? For me under OS X, minimizing gets a window I want to remain open, but don’t need right now, out of the way. If I need a window, I just leave it open, because I don’t lose anything by doing this.

In short, I leave my windows open because I don’t have a need to minimize them. When I decide to minimize them, it’s because I want to get it out the way (e.g. not in my Command-Tilde window cycling). For me, it’s actually a feature, not a bug.

Update: The application of choice for this seems to be Witch, by Peter Maurer (of Butler and TextExpander (nee Textpander) fame).