idleAdd
fn
uint idleAdd(int priority, glib.types.SourceFunc function_)Adds a function to be called whenever there are no higher priority events pending.
If the function returns [glib.types.SOURCE_REMOVE] or false it is automatically removed from the list of event sources and will not be called again.
See [memory management of sources][mainloop-memory-management] for details on how to handle the return value and memory management of data.
This internally creates a main loop source using [glib.global.idleSourceNew] and attaches it to the global #GMainContext using [glib.source.Source.attach], so the callback will be invoked in whichever thread is running that main context. You can do these steps manually if you need greater control or to use a custom main context.
Parameters
priority | the priority of the idle source. Typically this will be in the range between [glib.types.PRIORITY_DEFAULT_IDLE] and [glib.types.PRIORITY_HIGH_IDLE]. |
function_ | function to call |
Returns
the ID (greater than 0) of the event source.