On Feb 1, 2012, at 1:20 AM, Gerriet M. Denkmann wrote:

> I tried:
> 
> - (void)applicationWillBecomeActive:(NSNotification *)aNotification
> {
>       (void)aNotification;
> 
>       NSRunningApplication *currentApplication = [ NSRunningApplication 
> currentApplication ];
>       NSString *bundleIdentifier = currentApplication.bundleIdentifier;       
>       NSLog(@"%s current: %@",__FUNCTION__, bundleIdentifier);
>       
>       NSWorkspace *sharedWorkspace = [ NSWorkspace sharedWorkspace ];
>       NSArray *runningApplications = [ sharedWorkspace runningApplications ];
>       for( NSRunningApplication *ru in runningApplications )
>       {
>               if ( ru.isActive )
>               {
>                       NSString *bundleIdentifier = ru.bundleIdentifier;       
>                       NSLog(@"%s active: %@",__FUNCTION__, bundleIdentifier);
>               };
>       };
> }
> 
> But both the currentApplication and the active one is our app (NOT the 
> previously active one).
> 
> Although the name of the notification is applicationWillBecomeActive it acts 
> more like
> applicationIsAlreadySomehowActiveAndWIllBecomeFullyActiveRealSoonNow.

Well, remember that this is Cocoa responding to an event delivered from the 
system.  Events are delivered asynchronously.  The system can't afford to wait 
for an app to respond to an event before moving on.

There is bound to be an interval of time between when the system changed which 
app is active and when Cocoa actually acts on the event it received because of 
that change.

Regards,
Ken


_______________________________________________

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

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

Reply via email to