GnomeIdleMonitor: GNOME Desktop Library Reference Manual

## GnomeIdleMonitor GnomeIdleMonitor |

## Functions

void | (*GnomeIdleMonitorWatchFunc) ()
GnomeIdleMonitor * | gnome_idle_monitor_new ()
GnomeIdleMonitor * | gnome_idle_monitor_new_for_device ()
guint | gnome_idle_monitor_add_idle_watch ()
guint | gnome_idle_monitor_add_user_active_watch ()
void | gnome_idle_monitor_remove_watch ()
guint64 | gnome_idle_monitor_get_idletime ()

## Properties

GdkDevice * | device | Read / Write / Construct Only

## Types and Values

struct | GnomeIdleMonitor
struct | GnomeIdleMonitorClass

## Object Hierarchy

        GObject
        ╰── GnomeIdleMonitor

## Implemented Interfaces

GnomeIdleMonitor implements GInitable.

## Description

## Functions

### GnomeIdleMonitorWatchFunc ()

    void
    (*GnomeIdleMonitorWatchFunc) (GnomeIdleMonitor *monitor,
                                  guint id,
                                  gpointer user_data);

### gnome_idle_monitor_new ()

    GnomeIdleMonitor *
    gnome_idle_monitor_new (void);

#### Returns

a new GnomeIdleMonitor that tracks the server-global idletime for all devices. To track device-specific idletime, use `gnome_idle_monitor_new_for_device()`.

### gnome_idle_monitor_new_for_device ()

    GnomeIdleMonitor *
    gnome_idle_monitor_new_for_device (GdkDevice *device,
                                       GError **error);

#### Parameters

device | A GdkDevice to get the idle time for. |
error | A pointer to a GError or `NULL`. |

#### Returns

a new GnomeIdleMonitor that tracks the device-specific idletime for `device` . If device-specific idletime is not available, `NULL` is returned, and `error` is set. To track server-global idletime for all devices, use `gnome_idle_monitor_new()`.

### gnome_idle_monitor_add_idle_watch ()

    guint
    gnome_idle_monitor_add_idle_watch (GnomeIdleMonitor *monitor,
                                       guint64 interval_msec,
                                       GnomeIdleMonitorWatchFunc callback,
                                       gpointer user_data,
                                       GDestroyNotify notify);

#### Parameters

monitor | A GnomeIdleMonitor |
interval_msec | The idletime interval, in milliseconds |
callback | The callback to call when the user has accumulated `interval_msec` milliseconds of idle time. | [allow-none]
user_data | The user data to pass to the callback. | [allow-none]
notify | A GDestroyNotify |

#### Returns

a watch id

Adds a watch for a specific idle time. The callback will be called when the user has accumulated `interval_msec` milliseconds of idle time. This function will return an ID that can either be passed to `gnome_idle_monitor_remove_watch()`, or can be used to tell idle time watches apart if you have more than one.

Also note that this function will only care about positive transitions (user's idle time exceeding a certain time). If you want to know about when the user has become active, use `gnome_idle_monitor_add_user_active_watch()`.

### gnome_idle_monitor_add_user_active_watch ()

    guint
    gnome_idle_monitor_add_user_active_watch
                                   (GnomeIdleMonitor *monitor,
                                    GnomeIdleMonitorWatchFunc callback,
                                    gpointer user_data,
                                    GDestroyNotify notify);

#### Parameters

monitor | A GnomeIdleMonitor |
callback | The callback to call when the user is active again. | [allow-none]
user_data | The user data to pass to the callback. | [allow-none]
notify | A GDestroyNotify |

#### Returns

a watch id

Add a one-time watch to know when the user is active again. Note that this watch is one-time and will de-activate after the function is called, for efficiency purposes. It's most convenient to call this when an idle watch, as added by `gnome_idle_monitor_add_idle_watch()`, has triggered.

### gnome_idle_monitor_remove_watch ()

    void
    gnome_idle_monitor_remove_watch (GnomeIdleMonitor *monitor,
                                     guint id);

Removes an idle time watcher, previously added by `gnome_idle_monitor_add_idle_watch()` or `gnome_idle_monitor_add_user_active_watch()`.

#### Parameters

monitor | A GnomeIdleMonitor |
id | A watch ID |

### gnome_idle_monitor_get_idletime ()

    guint64
    gnome_idle_monitor_get_idletime (GnomeIdleMonitor *monitor);

#### Parameters

monitor | A GnomeIdleMonitor |

#### Returns

The current idle time, in milliseconds

## Types and Values

### struct GnomeIdleMonitor

    struct GnomeIdleMonitor;

### struct GnomeIdleMonitorClass

    struct GnomeIdleMonitorClass {
            GObjectClass          parent_class;
    };

## Property Details

### The `“device”` property

      “device”                   GdkDevice *

The device to listen to idletime on.

Flags: Read / Write / Construct Only