Re: How to make an app quit
Re: How to make an app quit
- Subject: Re: How to make an app quit
- From: Gil Dawson via AppleScript-Users <email@hidden>
- Date: Thu, 22 Oct 2020 16:03:09 -0700
Thanks, Andrew--
Thanks for the very clear explanation.
The Quit Event must've been timing out during the delay, so I never saw it Quit.
Works fine now.
Thanks.
--Gil
> On Oct 21, 2020, at 4:39 PM, Andrew Oliver <email@hidden> wrote:
>
> You should switch this to an idle() handler rather than run.
>
> As written, 99.9% of the time your script is stuck in the ‘delay 60’
> statement. It won’t respond to other events (such as Quit) during this time.
> It might respond on the next iteration, but you’d have to wait up to 59.9
> seconds to find that out.
>
> By comparison, an idle handler is designed to sit in the background,
> automatically waking up on schedule to perform its task. It should then
> respond to Quit commands appropriately.
>
> The change is simple, replace your repeat… end repeat loop with an on idle…
> end idle handler, and instead of including ‘delay 60’, return 60 as the
> number of seconds before the handler should run again. E.g.:
>
> property Done: false
>
> on idle
> doSomething()
>
> return 60
> end idle
>
> on quit
> set done to true — not sure if you need this, but your internal code might
> reference it
> continue quit
>
>
> When you save the app you need to enable the ’Stay Open’ option so that the
> idle handler is called appropriately.
> Now the doSomething() block will run every 60 seconds until quit.
>
>
>> On Oct 21, 2020, at 3:39 PM, Gil Dawson via AppleScript-Users
>> <email@hidden> wrote:
>>
>> Hi--
>>
>> I made an app to check some stuff. Once it was working, I made a few
>> changes so that it would run every minute, then saved it as an app.
>>
>> It works fine, EXCEPT that it won't quit when I tell it to Quit. (But Force
>> Quit works.)
>>
>> Below is a skeleton of my code. Is this enough to figure out what I'm
>> missing?
>>
>> --Gil
>>
>>
>> property Done : false
>>
>> repeat until Done
>> try
>>
>> # tell...
>> # if (X) then error...
>>
>> # The "--" lines allow me to ⌘R this script for testing.
>>
>> -- return
>>
>> delay 60 -- not used when testing
>>
>> on error errm number errn
>> -- log "Error: " & errm & " (" & errn & ")"
>> -- return
>> end try
>> end repeat
>>
>> on quit
>> set Done to true
>> continue quit
>> end quit
>>
>>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> AppleScript-Users mailing list (email@hidden)
>> Help/Unsubscribe/Update your Subscription:
>> Archives: http://lists.apple.com/archives/applescript-users
>>
>> This email sent to email@hidden
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
AppleScript-Users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
Archives: http://lists.apple.com/archives/applescript-users
This email sent to email@hidden