Ken,

I want to open another application (say, Safari) in the "layer" just behind my application.

"Solution" 2:
        [ws launchApplication:@"Safari"]; // opens Safari in front
[NSApp activateIgnoringOtherApps:YES]; // pushes my app in front, effectively right above Safari

Problem with solution 2: I must be doing it wrong, because my own application's window doesn't ever get its focus back and the GUI seems to hang.

I think that -activateIgnoringOtherApps: is being done "too soon". The NSApplicationDeactivatedEventType event is pending and hasn't had a chance to be processed, yet. (…) So, you have to implement a simple trampoline method.

Thanks for pointing out the potential cause. I read up on Obj-C trampoline methods/objects (pretty cool, actually!) and understand the basic idea, but honestly I'm not seeing the connection to my problem. Why and how would such a trampoline object help in delaying the call to -activateIgnoringOtherApps:? Could you maybe sketch out how the trampoline might look?

Thanks,
Yang_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to