g_idle_add (
  GSourceFunc function,
  gpointer data


Adds a function to be called whenever there are no higher priority events pending to the default main loop. The function is given the default idle priority, G_PRIORITY_DEFAULT_IDLE. If the function returns 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 g_idle_source_new() and attaches it to the global GMainContext using g_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.

This function is not directly available to language bindings.

The implementation of this method is provided by g_idle_add_full() in language bindings



Type: GSourceFunc

Function to call.


Type: gpointer

Data to pass to function.

The argument can be NULL.
The data is owned by the caller of the function.

Return value

Type: guint

The ID (greater than 0) of the event source.