May 28th, 2008 • 11:33 am
I don’t think I can be the only one out there who is experiencing substantial window focus problems in Leopard. Here’s a simple screen shot to illustrate the main problem:
There is something very fundamental that is very wrong with this picture: There are two windows in the foreground at the same time.
In this particular case, there is a Pages document window (on the right) that is in the foreground, as indicated by the coloured status of its three title bar buttons, but the “Activity” window behind it, which belongs to the Safari application and looks like it is in the background, based on the drop shadow effect around the edges of the Pages document window, also has the coloured title bar buttons and dark grey title bar of a foreground window. (I should note that my mouse pointer is nowhere near any of these buttons. If it were, the additional “+” and “-” symbols would be visible inside the amber and green buttons of the corresponding title bar.)
How can this happen? Well, in my experience with Leopard, very easily. All I have to do is use my mouse to click on a background window to bring it to the foreground. Instead of fully bringing it to the foreground, with all the associated consequences (switching to the parent application, relegating the previous foreground window to the background, etc.), sometimes Leopard only brings it partly to the foreground, changing the visual appearance of its title bar, including the three coloured buttons—but the OS fails to complete the other steps.
Now, of course, this does not happen every time I click on a background window, far from it. But it sure does happen, as the screen shot above demonstrates, and it happens often enough for me to consider it a major bug in Mac OS X 10.5.
Mac OS X has a history of weird window focus and layering issues. Several years ago, I described a problem that occurs when you use the “ ” command to switch from one document window to another in an application that you’ve just brought to the foreground by clicking on one of its document windows… That problem is still not fixed in Mac OS X 10.5.
But the problem described above is most definitely new in Leopard, and I really find it hard to believe that Apple’s own engineers have not noticed it by now and done something about it. After all, we are talking about a pretty fundamental problem, since Mac OS X can only have one document window in the foreground at any given time. (I am not counting all the inspector/palette windoids, of course.)
Unfortunately, the difficulty here is that the problem is not easy to reproduce. It is obvious when it occurs (as the screen shot above demonstrates), but you might try the exact same steps, with the exact same windows, two minutes later and the problem does not reoccur. This makes it very hard to submit a bug report to Apple, since their whole bug reporting procedure is based on providing very specific steps to reproduce the problem you are reporting on.
But there is only so much that we lowly end users can do to try and help Apple better circumscribe and eliminate problems in their software. At some point, Apple’s own engineers have to take responsibility for what is a pretty obvious bug and work on reproducing it reliably in-house, and then fix it.
Unless my own system is a very unique configuration that makes this behaviour much more frequent than it is on other people’s machines (which I find rather unlikely), then anyone using Mac OS X 10.5 on a daily basis and with a keen eye for UI glitches should have noticed it by now.
Granted, it is not a deal-breaking type of bug. It does not cause applications to crash, and normally no data is lost (unless, after clicking on a background window and believing that it and its parent application are in the foreground, you use a keyboard shortcut for what you think is command A in application X and end up triggering an undoable command B in application Y instead).
But it still an obvious enough bug, which creates a situation that is likely to disorient unsuspecting users quite a bit. And since Apple’s engineers often seem to operate under the assumption that, for the most basic tasks (such as window switching, in this case), people are using their mouse more than they are using their keyboard, this assumption means that they should take such a bug, which concerns mouse clicking exclusively, as a pretty serious matter.