click on the Menu bar item to show a window
-
19-09-2019 - |
Question
Here's my code:
if ([window isVisible]) {
[NSApp activateIgnoringOtherApps:YES];
[window orderOut:nil];
return;
}
[NSApp activateIgnoringOtherApps:YES];
[window makeKeyAndOrderFront:nil];
return;
but if the user clicks/changes the current window and then clicks on menu bar it will close the window. How do I stop that?
Solution
Instead of testing whether the window is ordered in (isVisible
), test whether it is the active window ([NSApp mainWindow]
or [NSApp keyWindow]
—details) and whether your application is active ([NSApp isActive]
).
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow