After the application switcher… the window switcher

Posted by Pierre Igot in: Macintosh
May 5th, 2004 • 3:44 am

The application switcher feature in Panther (Mac OS X 10.3) is a significant improvement over the previous behaviour (which used the Dock), to the point that I find myself using it constantly now. In particular, I like the fact that it rearranges the order of the application icons depending on which application you visited last. When you switch from Application A to Application B, A automatically becomes the second icon in the switcher, and the default destination when you hit cmd-Tab again.

This makes it easy to switch back and forth between two applications.

Now I find myself wishing that we had a similar facility for switching between windows within an application.

I am aware of the Mac OS X shortcuts for cycling through windows, which work in most Mac OS X applications, even though they are not always properly documented. (On my Canadian CSA keyboard, the shortcut for “Next Window” is cmd-ù and the shortcut for “Previous Window” is cmd-shift-ù.)

But these shortcuts are not nearly as useful for switching between windows as the application switcher is for switching between applications. The problem is that there is no visual aid indicating where you are going. For example, say you have 10 browser windows open in Safari. There’s nothing in the Safari interface that indicates which window is #1, which is #2, #3, etc. Window #1 might be the one in the foreground, while Window #2 might be buried nine levels below in the background. So essentially using the “Next Window” shortcut is equivalent to shooting in the dark. If you hit the window you need, fine; if you don’t, shoot again.

In that respect, the shortcuts for switching between tabs in a Safari window (cmd-shift-Right and cmd-shift-Left) work better, because the area where the tabs are displayed gives you a sense of where you are and where you are going.

It would be great if there were some kind of visual aid when switching between windows. I am not sure exactly what form it should take, but it’s something that should be explored, in my opinion.

Of course, this wouldn’t address the core problem, which is that Mac OS X is still an application-centric computing environment, rather than a document-centric one. In that respect, our best hope in the immediate future might be in third-party tools such as LaunchBar or Quicksilver, which are becoming increasingly powerful as universal switchers.

And there is also a similar problem when using full keyboard access in Mac OS X, which makes every control in dialog boxes accessible via the keyboard (except in applications that fail to properly support the feature, like, ahem, FileMaker). Here again, when you press the Tab key to go from one control to the next, you have no idea where you are going to end up, because it completely depends on what tab order the software developer has defined in his design. In that case, the problem could be significantly alleviated if the tab order was visually predictable, but it rarely is.

So I guess we also need a better “control switcher”…


8 Responses to “After the application switcher… the window switcher”

  1. David Magda says:

    Trt Cmd-` (the tick below the tilde) for switching between windows.

  2. Pierre Igot says:

    I am aware of this shortcut. That’s the one for the “Cycle through windows” command and I mentioned it above. (It’s cmd-ù on my Canadian CSA keyboard layout.) What I am looking for, however, is something that’s a bit smarter and comes with better visual support.

  3. Pierre Igot says:

    An additional problem is that the application switcher automatically brings all of the application’s windows to the foreground. So there is no way to use the keyboard to just switch between the foreground window of application A and the foreground window of application B without bringing other windows in applications A and B in the foreground.

    It all boils down to making Mac OS X more document-centric than application-centric, really.

  4. plop says:

    I totally agree with you and often find myself using cmd-Tab when I want to swicth windows! Apple should really add this to the next release of OS X ;)

  5. Dan Rogers says:

    Try using Expose, it’s very powerful. Let’s make an example: say you have 10 windows open in Safari and you want to switch. All you have to do is press F10 and it resizes all 10 of those windows to fit on the screen at once. When you move your mouse over each one, it displays the name of the document, but this is usually not necessary because you can visually see each pane. Although this is a bit more inefficient than a keyboard shortcut, when you’re dealing with so many windows it’s pretty much a moot point. The windows are also actually live updated, so if you’re on iChat for example, you could keep tabs on 4 conversations at once, clicking on one when you see that someone written to you.

    Other useful shortcuts are F9, which does the resize thing but for every single pane you have open, and F11, which moves all panes off of the screen so you can see your entire desktop. I hope this helps.

    P.S. I agree that a lot of mac shortcuts are poorly documented. I found this article because I was looking for the switch tab shortcut.

  6. Pierre Igot says:

    For some reason, I am having a hard time getting used to even thinking of using Exposé. I think it comes from the fact that, for years, I have had to resort to other strategies to achieve what Exposé is supposed to achieve. So now I’m used to these other strategies. For example, I use DragThing and have a keyboard shortcut to hide all applications except for those whose window needs to be visible at all times. I use that shorcut all the time.

    Part of the problem might also be that I tend to have lots of windows open. I think I can see Exposé’s usefulness in a context where there are only a few windows — but not when you have more than a dozen of them. As well, I tend to use keyboard shortcuts (cmd-Tab, cmd-ù to cycle through windows, cmd-shift-Left/Right to cycle through tabs in Safari, etc.) to navigate and am used to these shortcuts.

    I can see that Exposé might address some of the needs highlighted in my post (providing a visual aid for switching between windows) but my problem with it is that it’s a multiple-step process. First hit the shortcut to show all application windows. Then use the cursor keys to navigate to the one that you want. Then use the space bar to select it. I’d prefer something in the same vein as the application switcher, which is quicker. Something like control-Tab showing a row of icons for all the document windows, and then letting you go back and forth in the row. And it would be a smart row that puts the last accessed document windows first, like the application switcher puts the most recently used applications first. Control-tab would switch between the last two most recently accessed document windows.

    See what I mean?

  7. Dan Rogers says:

    Indeed, although I should point out that you can also click or press F10 again to make it switch. Anyway I totally agree and don’t really understand how apple could neglect to include something like that. For one it would make switching much easier (something I recently did). I guess they figure expose solves this problem…

    I use shortcuts a lot too – that’s actually how I found this page. I was trying to figure out a shortcut for switching between tabs, because I couldn’t find it anywhere. BTW, what exactly is drag thing? It sounds useful.

  8. Pierre Igot says:

    DragThing is a Dock-like utility. It’s been around for a long time, and comes pretty close to eliminating the need for Apple’s own Dock, which is still, after all these years, a bit of a UI abomination.

    I use DragThing less now that I use LaunchBar for a lot of things, but I still appreciate the flexibility it provides for certain things — and I use its Disk Dock all the time, which, unlike Apple’s desktop disk icons, can be brought to the front without having to hide all other applications.

Leave a Reply

Comments are closed.