Re: Receive custom url without bringing app to front?
Re: Receive custom url without bringing app to front?
- Subject: Re: Receive custom url without bringing app to front?
- From: Ken Thomases <email@hidden>
- Date: Wed, 29 Jun 2011 20:05:34 -0500
On Jun 29, 2011, at 7:32 PM, Jerry Krinock wrote:
> When I install a custom URL handler like this:
>
> NSAppleEventManager *aem = [NSAppleEventManager sharedAppleEventManager] ;
> [aem setEventHandler:self
> andSelector:@selector(handleGetURLEvent:withReplyEvent:)
> forEventClass:kInternetEventClass
> andEventID:kAEGetURL] ;
> still when such custom URL is received, the system still brings all of the app's windows to the front. I want the app to receive the message silently and then I'll display a window if needed.
>
> I was wondering if anyone knows any way to change the activation behavior. I've set breakpoints on -[NSApplication activateIgoringOtherApps:] and also NSWindow methods one would use to front or display a window, but they never break. It's like Apple is using some master 'activate' switch under the hood.
The app doesn't activate itself. It is being activated by Launch Services, in another process -- either the program which used Launch Services or launchd or some other system agent.
Being asked to open a URL is analogous to being asked to open a document (and identical for file URLs), and your app is brought forward for the same reason.
You could use a background-only sub-application to receive the URL and then pass it to your main application using some other IPC mechanism (e.g. Distributed Objects). I suppose you could even forward the Apple Event directly. Either way, your sub-application would have to launch your main application if it weren't already running.
Regards,
Ken
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden