Two of my favorite features of Mac OS X (10.3 or later) are the command+tab application switcher and Exposé. Using the former, I can quickly switch to any running application by simply pressing command+tab. Using Exposé, I can easily find any open window in any running application by pressing the hotkey for All windows (on my computers, F11) and then choosing the desired window.
The problem is that as much as I like Exposé’s functionality, it’s not as quick as the command+tab feature—it requires that I either take my hand off the keyboard and click on the desired window with the mouse, or use the arrow (and possibly tab) keys to navigate to that window. I wish there was a way to use the command+tab feature—or something like it—to navigate directly to a particular window. (Some applications support Mac OS X’s “window switcher” feature that lets you cycle through open windows in the current application by pressing command+`, but a good number of applications don’t. Plus, this feature still requires that you switch to the preferred application first.)
OK, OK, so I’m picky. And lazy. And possibly obsessed with efficiency. But I’ve just never found a way to get to a window buried beneath many others that makes me say, “that’s it!” Until now, that is. Thanks to my colleague (and Macworld Contributing Editor) Rob Griffiths, I recently came across a beta version of a new utility called Witch . What Witch does, at the most simple level, is provide an “switcher” much like OS X’s command+tab feature, but one that gives you quick access to every window in every open application.
When you press the appropriate keyboard shortcut (option+tab, by default, but you can choose your own shortcut), an overlay appears on the screen showing a vertical list of open applications along with each application’s windows (grouped by application, of course). By pressing the tab key repeatedly, or holding it down, you choose the window to which you wish to switch; releasing the option key brings that window to the front and makes its application active. Like OS X’s application switcher, applications and their windows are listed in the order of recent use—the current application first, then the next-most-recently used application, and so on. The list even includes minimized windows, which makes Witch the only way to access minimized windows using the keyboard.
But Witch provides many additional features for working with windows. By pressing Z while a window’s name is highlighted in Witch, that window is “zoomed” (the equivalent of clicking on the window’s green zoom button—thus providing one of the only ways to access this feature via the keyboard); by pressing M, the window is minimized to the Dock; and by pressing W, the window is immediately closed. All of these actions happen without the window actually being brought to the front, which means that you can zoom/minimize/close every open window from within Witch without having to switch to those windows individually.
You can also set up different keyboard shortcuts that restrict Witch’s overlay to subsets of windows. For example, you can set option+command+tab to only list windows that aren’t current minimized or control+option+command+m to show only minimized windows. Other options include showing only windows of the currently active application (replicating OS X’s command+` feature, except that Witch works with all applications); and showing only minimized or non-minimized windows of the active application.
Witch also lets you set up keyboard shortcuts for window-related features that function all the time (not just when Witch’s switcher overlay is on the screen): unminimize all minimized windows, close all minimized windows, zoom the current window, minimize the frontmost window, and close the frontmost window. (The latter two are normally available in OS X using command+m and command+w, respectively, but Witch lets you assign your preferred keyboard shortcut.)
Finally, Witch provides a number of options for customizing the appearance of the switcher overlay, including translucency, background and text color, shadows, and whether or not to display application names next to window names.
Witch is currently an early beta, which means it may have some issues, but based on my use of it over the past week, it’s one of the more stable pieces of “beta” software I’ve used, and it’s certainly a “Promising Prospect" that I’ll be keeping an eye on.