thanks!  your way seems much easier :)

On Wed, Jan 14, 2009 at 10:36 AM, Jean-Daniel Dupas
<devli...@shadowlab.org> wrote:
> The proper way to do it is probably to listen for Finder death using a
> timeout, not polling the process list.
>
> You can either use the NSWorkspaceDidTerminateApplicationNotification or use
> the low level kqueue function which provide such facility.
>
> Le 14 janv. 09 à 16:25, Chunk 1978 a écrit :
>
>> my goal is to quit an app, check to see if it has quit, and then
>> relaunch the app if it has quit successfully.  i'm sending
>> quit/relaunch commands with applescripts (tell application "Finder" |
>> quit | end tell, tell application "Finder | launch | end tell), and
>> i'm attempting to make this code work without using any type of delay
>> mechanism but i'm lost.
>>
>> the following code works very well on quitting and relaunching the
>> Finder, except if the Finder is busy (copying a file, or something),
>> the program will continuously try to quit the finder while the finder
>> prompts that it's busy - it's a continuous loop... a bad scene...
>>
>> essentially i need to somehow figure out how to have this loop quit
>> the finder, but stop the loop if it's busy...
>>
>> -=-=-=-
>>
>> - (IBAction)restartFinder:(id)sender
>>        {
>>        //Quit Finder
>>        NSDictionary* errorDict = nil;
>>        NSAppleEventDescriptor *returnDescriptor = nil;
>>        returnDescriptor = [quitFinderScriptObject
>> executeAndReturnError:&errorDict];
>>
>>        //Check To See If Finder Has Quit
>>        NSWorkspace *ws = [NSWorkspace sharedWorkspace];
>>        NSArray *runningAppDictionaries = [ws launchedApplications];
>>        NSDictionary *aDictionary;
>>
>>        for (aDictionary in runningAppDictionaries)
>>                {
>>                //If Finder Hasn't Quit Then Return
>>                if ([[aDictionary
>> valueForKey:@"NSApplicationBundleIdentifier"]
>> isEqualToString:@"com.apple.finder"])
>>                        {
>>                        [self restartFinder:nil];
>>                        return;
>>                        break;
>>                        }
>>                }
>>
>>        //If Finder Has Quit Then Continue To Relaunch Finder
>>        NSDictionary* errorDict = nil;
>>        NSAppleEventDescriptor *returnDescriptor = nil;
>>        returnDescriptor = [startFinderScriptObject
>> executeAndReturnError:&errorDict];
>>        }
>>
>> -=-=-=-
>> _______________________________________________
>>
>> 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/devlists%40shadowlab.org
>>
>> This email sent to devli...@shadowlab.org
>>
>
>
_______________________________________________

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