Я использовал NSMenu и NSStatusItem для отображения пользовательского меню в строке состояния в течение длительного времени следующим образом:
statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:18] retain];
[statusItem setImage:[NSImage imageNamed:@"myIcon"]];
[statusItem setMenu:myMenu];
[statusItem setHighlightMode:NO];
...
Он отлично работает, если начать щелкать значок изображения. Но я заметил, что меню Apple, расположенное в строке состояния, может быть вызвано простым перемещением мыши, например, меню аэропорта, меню питания, языковое меню и меню даты/времени. Все они автоматически всплывают, когда вы наводите курсор мыши. Как они это получили?
Я проверил «добавить прямоугольник отслеживания» для NSView с событием «mouseEntered», но, как мне кажется, все не так сложно.
Любой совет?