GnomeIdleMonitor

GnomeIdleMonitor

Synopsis

struct              GnomeIdleMonitor;
struct              GnomeIdleMonitorClass;
void                (*GnomeIdleMonitorWatchFunc)        (GnomeIdleMonitor *monitor,
                                                         guint id,
                                                         gpointer user_data);
GnomeIdleMonitor *  gnome_idle_monitor_new              (void);
GnomeIdleMonitor *  gnome_idle_monitor_new_for_device   (GdkDevice *device);
guint               gnome_idle_monitor_add_idle_watch   (GnomeIdleMonitor *monitor,
                                                         guint64 interval_msec,
                                                         GnomeIdleMonitorWatchFunc callback,
                                                         gpointer user_data,
                                                         GDestroyNotify notify);
guint               gnome_idle_monitor_add_user_active_watch
                                                        (GnomeIdleMonitor *monitor,
                                                         GnomeIdleMonitorWatchFunc callback,
                                                         gpointer user_data,
                                                         GDestroyNotify notify);
void                gnome_idle_monitor_remove_watch     (GnomeIdleMonitor *monitor,
                                                         guint id);
gint64              gnome_idle_monitor_get_idletime     (GnomeIdleMonitor *monitor);

Object Hierarchy

  GObject
   +----GnomeIdleMonitor

Implemented Interfaces

GnomeIdleMonitor implements GInitable.

Properties

  "device"                   GdkDevice*            : Read / Write / Construct Only

Description

Details

struct GnomeIdleMonitor

struct GnomeIdleMonitor;


struct GnomeIdleMonitorClass

struct GnomeIdleMonitorClass {
        GObjectClass          parent_class;
};


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);

device :

A GdkDevice to get the idle time for.

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);

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);

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().

monitor :

A GnomeIdleMonitor

id :

A watch ID

gnome_idle_monitor_get_idletime ()

gint64              gnome_idle_monitor_get_idletime     (GnomeIdleMonitor *monitor);

monitor :

A GnomeIdleMonitor

Returns :

The current idle time, in milliseconds, or -1 for not supported

Property Details

The "device" property

  "device"                   GdkDevice*            : Read / Write / Construct Only

The device to listen to idletime on.