Anyone know of an Applescript to check if an app is NOT running?

Discussion in 'Mac Programming' started by amityweb, Oct 18, 2012.

  1. amityweb macrumors member

    Oct 5, 2010

    I have a script that moves email from Mail to Omnoficus. If both apps are running it works.

    But if one or both are not running, even though the tell application script will start the app, they crash, and my script does not end, and does not work.

    So I thought I would add in the activate command to start the apps if they are not running.

    I can only find online functions to tell if an app is running, and not NOT running. I tried modifying it but the whole thing still crashed the same even if I did not use it (so perhaps its not being called).

    This is what I have so far and wondered if anyone knows:

    if appIsNotRunning("OmniFocus") then
    	tell application "OmniFocus"
    		delay 10
    	end tell
    end if
    on appIsNotRunning(appName)
    	tell application "System Events" to (name of processes) does not contain appName
    end appIsNotRunning
    The delay was just because I thought I should wait a bit for the app to finish starting just in case.

  2. kryten2 macrumors 6502a

    Mar 17, 2012
    Try this :

    tell application "System Events"
    	set isOmnifocusRunning to (count of (every process whose bundle identifier is "com.omnigroup.OmniFocus")) > 0
    	set isMailRunning to (count of (every process whose bundle identifier is "")) > 0
    end tell
    if isOmnifocusRunning and isMailRunning then
    	-- if only one or none are running do nothing
    	-- if both apps are running do your stuff
    end if

Share This Page