idle

Typemessage
DictionaryLCS
LibraryLiveCode Script
Syntax
idle
Associationscard
Summary

Sent periodically to the current card if no other message is being sent.

Introduced1.0
OSmac, windows, linux, ios, android
Platformsdesktop, server, mobile
RelatedCommand: revVideoGrabIdle, send, wait
Glossary: object, current card, variable, handler, handle, execute, message, message path, command
Property: idleRate, idleTicks, properties
Description

Handle the idle message to check constantly on the status of an object, the content of a variable, and so forth, or to do periodic tasks.

The period between idle messages is specified by the idleRate and idleTicks properties.

Note: Usually, it is easier and more efficient to use the send in time form of the send command than to use an idle handler, especially if a task needs to be executed at regular intervals. This example shows an idle handler that updates a clock timer:

on idle -- avoid if possible
    global startTime
    if the seconds > startTime + 60 then -- 60 seconds have gone by
        put the time into field "Clock Face"
        put the seconds into startTime
    end if
    pass idle
end idle

The following example does the same thing more efficiently, since it only needs to handle a single message every sixty seconds:

on updateClock -- a better way
    put the time into field "Clock Face"
    send "updateClock" to me in 60 seconds
end updateClock

Executing an idle handler slows down other LiveCode actions, so handle the idle message only in the rare cases where the send command cannot be used instead.

Note: If there is no idle handler anywhere in the message path, no idle message is sent.

Tagsui