I\'m using an MAAttachedWindow to display a custom window under a NSStatusItem in the Menubar. Everything works fine, but I can\'t find an easy way to hide it when the user
This is based on Carter Allen answer, but maybe will be helpfull to someone as i lost couple of hours trying to figure out the reason behind an EXEC_BAD_ACCESS
, in short you can't release
the attachedWindow
inside his windowDidResignKey
notification, so use autorelease
:
- (void)windowDidResignKey:(NSNotification *)aNotification {
NSLog(@"MainWinDelegate::windowDidResignKey: %@", [aNotification object]);
if (fAttachedWindow && [aNotification object] == fAttachedWindow) {
[window removeChildWindow:fAttachedWindow];
[fAttachedWindow orderOut:self];
[fAttachedWindow autorelease];
fAttachedWindow = nil;
}
}
You should be able to do this via the window's delegate method:
- (void)windowDidResignKey:(NSNotification *)notification
Set yourself as the window's delegate, and implement that to call through to your toggle method.