Lorsque Smile est inactif (idle), il envoie périodiquement l'événement idle aux fenêtres (ou plutôt à leur script) dont la propriété want idle est à true.
Les événements idle se gèrent avec la fonction :
on idle the_window
-- do whatever suitable such as polling some process
return 3
end idle
idle doit retourner un nombre. Ce nombre indiquera la durée que Smile attendra avant de renvoyer à nouveau l'événement idle à la fenêtre.
Par défaut, la propriété want idle d'un objet est à false. Vous pouvez la mettre à true ou à false par script. Dans l'exemple ci-dessous, les appels à idle sont activés dès que l'objet est créé, et ils ne sont stoppés que dans le cas où une erreur intervient dans la fonction idle.
on prepare the_window
set want idle of the_window to true
end prepare
on idle the_window
try
-- perform some perioric task
return 5 -- next call after 5 seconds
on error s
msg("An error occurred in the idle handler: " & s)
set want idle of the_window to false
end try
end idle
|