Lumail - The console email client

Lua primitives: on_idle()

If you define the function on_idle it will be called approximately once a second when the the client is idle.

For example:

function on_idle()
   msg( "The client is idle " .. );

By default on_idle will be invoked too regularly to sync your email from a remote source with imapsync, getmail, etc.

But using this function you can schedule regular tasks. For example the following will execute imapsync approximately once every five minutes:

   -- last sync time.
   local ls = os.time()

   function on_idle()

      -- get current time
      ct = os.time()
      if ( ( ct - ls ) >= ( 60 * 5 ) ) then
         ls = ct
         os.execute( "imapsync" );

      -- now handle the normal on_idle stuff..


This function has been available since version 0.07.

See Also

See also on_complete, on_exit, on_key, on_read_message, sleep.