summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Taylor <rob.taylor@codethink.co.uk>2007-08-18 17:21:06 +0100
committerRob Taylor <rob.taylor@codethink.co.uk>2007-08-22 15:17:50 +0100
commit516af01cdf9a852ae94075acb6b4d4e6a7d4ca08 (patch)
treecd8275d41e85113b579c0680f3fde1145b616b68
parent74fa413f385a77194bddfdef23793838fee2f413 (diff)
fix up changes to idle plugin
Fix build errors in idle plugin. Listen for idle.state being set to 0 and if so, reset to the current timeout.
-rw-r--r--plugins/glue/idle/ohm-plugin-idle.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/plugins/glue/idle/ohm-plugin-idle.c b/plugins/glue/idle/ohm-plugin-idle.c
index 1571671..74aed96 100644
--- a/plugins/glue/idle/ohm-plugin-idle.c
+++ b/plugins/glue/idle/ohm-plugin-idle.c
@@ -30,6 +30,7 @@ static LibIdletime *idletime = NULL;
enum {
CONF_XORG_HASXAUTH_CHANGED,
CONF_IDLE_TIMEOUT_CHANGED,
+ CONF_IDLE_STATE_CHANGED,
CONF_LAST
};
@@ -43,7 +44,7 @@ ohm_alarm_expired_cb (LibIdletime *idletime, guint alarm, gpointer data)
/* activity, reset state to 0 */
ohm_plugin_conf_set_key (plugin, "idle.state", 0);
} else {
- ohm_plugin_conf_get_key (plugin, "idle.state", &tate);
+ ohm_plugin_conf_get_key (plugin, "idle.state", &state);
ohm_plugin_conf_set_key (plugin, "idle.state", state+1);
}
g_print ("[evt %i]\n", alarm);
@@ -70,7 +71,7 @@ plugin_connect_idletime (OhmPlugin *plugin)
ohm_plugin_conf_set_key (plugin, "idle.state", 0);
- ret = idletime_alarm_set (idletime, 1, momentary);
+ ret = idletime_alarm_set (idletime, 1, timeout);
if (ret == FALSE) {
g_error ("cannot set alarm");
}
@@ -108,12 +109,18 @@ plugin_initalize (OhmPlugin *plugin)
static void
plugin_notify (OhmPlugin *plugin, gint id, gint value)
{
+ gint timeout;
if (id == CONF_XORG_HASXAUTH_CHANGED) {
if (value == 1) {
plugin_connect_idletime (plugin);
}
} else if (id == CONF_IDLE_TIMEOUT_CHANGED ) {
idletime_alarm_set (idletime, 1, value);
+ } else if (id == CONF_IDLE_STATE_CHANGED ) {
+ if (value == 0) {
+ ohm_plugin_conf_get_key (plugin, "idle.timeout", &timeout);
+ idletime_alarm_set (idletime, 1, timeout);
+ }
}
}
static void
@@ -135,7 +142,9 @@ OHM_PLUGIN_DESCRIPTION (
OHM_PLUGIN_REQUIRES ("xorg");
-OHM_PLUGIN_PROVIDES ("idle.state", "idle.timeout");
+OHM_PLUGIN_PROVIDES ("idle.state");
-OHM_PLUGIN_INTERESTED ({"xorg.has_xauthority", CONF_XORG_HASXAUTH_CHANGED});
-OHM_PLUGIN_INTERESTED ({"idle.timeout", CONF_IDLE_TIMEOUT_CHANGED});
+OHM_PLUGIN_INTERESTED (
+ {"xorg.has_xauthority", CONF_XORG_HASXAUTH_CHANGED},
+ {"idle.timeout", CONF_IDLE_TIMEOUT_CHANGED},
+ {"idle.state", CONF_IDLE_STATE_CHANGED});