GIO Reference Manual: GAppInfoMonitor

## GAppInfoMonitor GAppInfoMonitor — Monitor application information for changes |

## Functions

GAppInfoMonitor * | g_app_info_monitor_get ()

## Signals

void | changed | Run First

## Types and Values

| GAppInfoMonitor

## Object Hierarchy

        GObject
        ╰── GAppInfoMonitor

## Description

GAppInfoMonitor is a very simple object used for monitoring the app info database for changes (ie: newly installed or removed applications).

Call `g_app_info_monitor_get()` to get a GAppInfoMonitor and connect to the "changed" signal.

In the usual case, applications should try to make note of the change (doing things like invalidating caches) but not act on it. In particular, applications should avoid making calls to GAppInfo APIs in response to the change signal, deferring these until the time that the data is actually required. The exception to this case is when application information is actually being displayed on the screen (eg: during a search or when the list of all applications is shown). The reason for this is that changes to the list of installed applications often come in groups (like during system updates) and rescanning the list on every change is pointless and expensive.

## Functions

### g_app_info_monitor_get ()

    GAppInfoMonitor *
    g_app_info_monitor_get (void);

Gets the GAppInfoMonitor for the current thread-default main context.

The GAppInfoMonitor will emit a "changed" signal in the thread-default main context whenever the list of installed applications (as reported by `g_app_info_get_all()`) may have changed.

You must only call `g_object_unref()` on the return value from under the same main context as you created it.

#### Returns

a reference to a GAppInfoMonitor.

[transfer full]

Since 2.40

## Types and Values

### GAppInfoMonitor

    typedef struct _GAppInfoMonitor GAppInfoMonitor;

The only thing you can do with this is to get it via `g_app_info_monitor_get()` and connect to the "changed" signal.

Since 2.40

## Signal Details

### The `“changed”` signal

    void
    user_function (GAppInfoMonitor *gappinfomonitor,
                   gpointer         user_data)

Flags: Run First