iCal: Can’t cycle through windows

Posted by Pierre Igot in: Macintosh
November 23rd, 2006 • 5:57 pm

iCal has a rather weird way of attracting your attention when an alarm “rings.” If the alarm is set to display a message at a given time, then at the time in question, wherever you are in Mac OS X (i.e. probably in another application doing some unrelated work), Mac OS X displays the alarm window with the message in front of your current window without switching you to the iCal application. In other words, the foreground window remains your current application window, but somehow the iCal message window is in front, even though it’s a background window:

Background window in front

I have always found this quite strange. (How can you be in the foreground and in the background at the same time?) But I suppose it serves a purpose, i.e. it grabs your attention, wherever you are.

The problem is that it’s not the only thing that iCal does. When this message window appears, the iCal application icon in the Dock also starts bouncing, and it continues to bounce endlessly until you manually switch to the iCal application. Yes, even if you click on the message window’s Close button (the red blob in the top-left corner), the iCal icon in the Dock continues to bounce endlessly until you switch to iCal—even though there is nothing there waiting for you that justifies this. (You’ve already closed the message window.) I have already described this particular problem in another post about various basic flaws in the iCal user interface.

Obviously, Apple actually expects you to respond to the alarm by clicking on the little “x” button in the middle of the message window, which actually not only closes the alarm window, but also switches you to iCal (which stops the bouncing).

Alternatively, if you are the type of person who’s inclined to use the keyboard, you can use command-Tab to switch to iCal. But then, how do you close that alarm window with the keyboard? Even after you’ve switched to iCal, the alarm window is still a background window, even though it’s in front of the main iCal window:

Background window in iCal

If you still have your hands on the keyboard, then obviously you’d like to be able to switch to that window with the keyboard, so that you can close it with command-W and be done with it.

So, how do you switch to the alarm window? Normally, in Mac OS X applications, you can use a poorly documented command called “Cycle Through Windows,” which is not actually a menu item in the “Window” menu, but should be one, because it’s usually available in any Mac OS X application that has a “Window” menu.

(“Cycle Through Windows” actually is a menu item in BBEdit’s “Window” menu, and BBEdit even lists the keyboard shortcut for it next to it. But, as far as I am aware, BBEdit is the only application that does that. Certainly Apple’s own applications never list that command in their “Windows” menu, even when it is available as a keyboard shortcut.)

Now, iCal does have a “Window” menu, and this alarm window certainly does look like a regular Mac OS X window, right? So you’d expect to be able to use the “Cycle Through Windows” shortcut to switch to that alarm window with the keyboard, right?

Wrong! Even though iCal has a “Window” menu and even though the alarm window looks like a regular Mac OS X window belonging to the iCal application, you cannot switch to it with the keyboard. The “Cycle Through Windows” shortcut simply does not work. (As far as I can tell, it’s not possible to have more than one main calendar window open in iCal at the same time, so I guess they just consider that the application never has more than one window open and doesn’t need a “Cycle Through Windows” command. The trouble is that alarm windows, for all intents and purposes, seem to be regular Mac OS X windows. They are not floating palettes or anything like that. So the user expects them to behave like normal windows, and expects Mac OS X to let him cycle through the windows in iCal.)

In other words, even though you want to use the keyboard, you are forced by Apple to use the mouse to dismiss this particular alarm window. There is no other solution, I am afraid.

I strongly believe that Mac OS X users who prefer to use the keyboard should be allowed to do so in all circumstances where it is feasible. In this case, it’s perfectly feasible. You are in the middle of typing text in BBEdit or Pages, and an iCal alarm window pops up. OK, you’ve seen the alarm, you’ve been reminded of your appointment, so you just want to close that alarm window now. Your hands are on the keyboard, so you want to do it quickly without having to grab the mouse. Command-Tab to switch to iCal. Command-Ù (on my Canadian CSA keyboard) to cycle from the main iCal window to the alarm window. Command-W to close it. Command-Tab to switch back to where you were. It should be possible to do all this quickly with the keyboard.

But it isn’t, because Apple just hasn’t bothered to support it properly.

Comments are closed.

Leave a Reply

Comments are closed.