≡

wincent.dev

  • Products
  • Blog
  • Wiki
  • Issues
You are viewing an historical archive of past issues. Please report new issues to the appropriate project issue tracker on GitHub.
Home » Issues » Bug #124

Bug #124: Menu Extras become active after clicking on Synergy menu bar buttons

Kind bug
Product Synergy
When Created 2005-03-05T23:12:31Z, updated 2010-08-12T09:54:22Z
Status closed
Reporter Julius Mapalad
Tags no tags

Description

When I play or pause the track using the Synergy menu bar items, and then move across the menu bar, the menus from other items appear as if I was holding the mouse button down. This did not occur with previous versions of Synergy. In my menu bar, I have the Airport status, Bluetooth status, battery bar, and the dot Mac menu extension.

Comments

  1. Greg Hurrell 2005-03-06T00:24:49Z

    This is a known bug in Apple's NSStatusItem API, which Synergy uses. Basically what happens is Synergy receives the click, but for some reason the system *also* passes the "below" to the SystemUIServer as well. Then when you move the mouse over the NSMenuExtras they pop down because as far as they are concerned you've clicked in the menu bar.

    The next time you click on Synergy, Mac OS X passes *another* click to the SystemUIServer and this means that when you move the mouse over the NSMenuExtras the menus will no longer pop down because they think you've clicked in the menu bar again. Clicking elsewhere on the screen (even outside of Synergy) will have the same effect (it breaks out of the "menu down" state); this is just like when you click once on a menu extra (the menu pops down) and then you click elsewhere on the screen (and the menu pops up).

    I am convinced that this is an Apple bug, but I am marking this as ASSIGNED. I have considered a number of tricky workarounds to suppress the behaviour of the bug, but I don't particularly like any of them. One that I am thinking of is the following: for each click on a Synergy button, generate *another* mouse click event at the same location, ignore that event (ie. Synergy only responds to the first event, the real one, not the generated one) and let it fall through to the system; in this way the SystemUIServer will "see" two clicks, thus causing it to toggle state twice ie. go back to its original state.

    I am not sure if this hack will work, and it strikes me as very elegant, so I am hoping Apple will fix the bug in their NSStatusItem/SystemUIServer implementation.

  2. Greg Hurrell 2005-03-06T00:26:14Z

    Correction: in my comment above I meant to say, "it strikes me as very inelegant"!

  3. Greg Hurrell 2006-07-05T02:04:18Z

    Changing assignment to reflect my new email address.

    https://wincent.dev/a/news/archives/2006/05/change_of_email.php

  4. Greg Hurrell 2010-08-12T09:54:16Z

    As this is an issue that only Apple can fix, I am going to close this issue. I encourage anyone interested in getting the behavior in Mac OS X changed to submit feedback to Apple here.

  5. Greg Hurrell 2010-08-12T09:54:22Z

    Status changed:

    • From: new
    • To: closed
Add a comment

Comments are now closed for this issue.

  • contact
  • legal

Menu

  • Blog
  • Wiki
  • Issues
  • Snippets