Dual Monitor: invisible Visor is getting in the way

TF 1.5.30 on OS X 10.9.2 Mavericks.

I work with a Macbook + external Display above the MacBooks Display. External one is the primary display. TF visor is set to appear on the primary display.

I often have the effect that the Visor activates, although I did not meant to do so. It activates, if I want to click on an application on the secondary display, the south display (macbook). There are some situations this can happen during my day. I do use the Mavericks Spaces (Desktops), which has some influence I guess.

Anyway, to reproduce the issue I found one method which demonstrates the symptoms:

  • set TF visor to display on upper primary screen, set it half height
  • open some window on the secondary screen (e.g. Safari or Preview)
  • click on desktop to activate Finder.
  • open a currently not running application via Spotlight (for easy demonstration lets use Dictionary.app, cause this app quits if you hit red x)
  • with Dictionary.app active, now try to scroll the other window (safari or preview), try in different locations on the screen

normally the invisible Visor window is now in the way and prevents scrolling. If not:

  • make sure finder is active by clicking on the desktop
  • quit the demo app (Dictionary.app: just hit the red x)
  • finder should be active now, but visor should be hidden
  • try to scroll the window (safari or preview), try in different locations on the screen

The video below shows a demo. It is recorded on the south screen, the macbook display.

If you cannot view it in your browser, just download it.

We also see some other quirks here:

  • Right at the beginning: Clicking the desktop triggers Visor, clicking desktop the second time after having activated Preview.app does not, which I would always prefer.
  • If the invisible Visor is in the way, it prevents not only scrolling but also prevents activating Preview.app on the first click. This is the annoying part that happens quite some times during a day to me.
  • observing the primary monitor, I can see TF sometimes flicker when doing such tests (If you need a reproducible guide for the flickering, just ping me, I can try to create one.)

I was NOT able to reproduce this issue, if displays are arranged side by side.

I also have an idea for a possible fix. I ll write it down later …


Ok here my idea. I don’t know exact details of how TF visor is implemented, but from my observation it seems to me TF-visor, if hidden, is a (invisible) window outside of the display borders. And in my case with primary screen north of secondary screen, the TF visor sits invisible below the primary display, where the secondary display is. Normaly the invisible window should not interfere when clicking other windows on that secondary screen. But I found some situations when it does, above is one of them. I also have a reproducible case with just minimizing and unminimizing windows and then clicking into the secondary display.

My idea to make the hidden TF-visor surely not getting in the way on the secondary screen would be the following:

The hidden visor should be placed outside any display. And before starting the slide or fade animation it should invisibly jump to the start position of the animation. Then the animation should run.

Turned back when hiding the visor, TF should run the hide animation and then let the visor jump outside any display. To do so TF needs to be aware of the relative positions of displays to decide were such nice parking coordinates are. I think the NSRect returned by NSScreen.frame() contains position infos of displays. In my case the hidden visor could for example jump below the secondary display.

Of course @darwin, you are the insider. So maybe you can think of a better solution.

@darwin and others, have you been able to reproduce this one? I think it got overseen. I just wanted to know if this is a problem only on my Mac or if it can be reproduced on others.