drw-monitor.c Raise the threshold for detecting activity, makes totem not

2004-05-02  Richard Hult  <richard@imendio.com>

	* drw-monitor.c Raise the threshold for detecting activity, makes
	totem not trigger typing breaks. Fixes bug #121876.
This commit is contained in:
Richard Hult 2004-05-02 12:05:36 +00:00 committed by Richard Hult
parent 5048e133c5
commit 03b0594911
2 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2004-05-02 Richard Hult <richard@imendio.com>
* drw-monitor.c Raise the threshold for detecting activity, makes
totem not trigger typing breaks. Fixes bug #121876.
2004-04-15 Jody Goldberg <jody@gnome.org> 2004-04-15 Jody Goldberg <jody@gnome.org>
* Release 2.6.1 * Release 2.6.1

View file

@ -38,6 +38,8 @@ struct _DrwMonitorPriv {
XScreenSaverInfo *ss_info; XScreenSaverInfo *ss_info;
guint timeout_id; guint timeout_id;
unsigned long last_idle; unsigned long last_idle;
time_t last_activity;
}; };
/* Signals */ /* Signals */
@ -139,12 +141,19 @@ static gboolean
drw_monitor_timeout (DrwMonitor *monitor) drw_monitor_timeout (DrwMonitor *monitor)
{ {
DrwMonitorPriv *priv; DrwMonitorPriv *priv;
time_t now;
priv = monitor->priv; priv = monitor->priv;
if (XScreenSaverQueryInfo (GDK_DISPLAY (), DefaultRootWindow (GDK_DISPLAY ()), priv->ss_info) != 0) { if (XScreenSaverQueryInfo (GDK_DISPLAY (), DefaultRootWindow (GDK_DISPLAY ()), priv->ss_info) != 0) {
if (priv->ss_info->idle < priv->last_idle) { if (priv->ss_info->idle < priv->last_idle) {
g_signal_emit (monitor, signals[ACTIVITY], 0, NULL); now = time (NULL);
if (now - priv->last_activity < 25) {
g_signal_emit (monitor, signals[ACTIVITY], 0, NULL);
}
priv->last_activity = now;
} }
priv->last_idle = priv->ss_info->idle; priv->last_idle = priv->ss_info->idle;
@ -168,6 +177,8 @@ drw_monitor_setup (DrwMonitor *monitor)
priv->ss_info = XScreenSaverAllocInfo (); priv->ss_info = XScreenSaverAllocInfo ();
priv->last_activity = time (NULL);
priv->timeout_id = g_timeout_add (3000, (GSourceFunc) drw_monitor_timeout, monitor); priv->timeout_id = g_timeout_add (3000, (GSourceFunc) drw_monitor_timeout, monitor);
return TRUE; return TRUE;