From e4773774abeb21f9b04c1d7a0ff8dee395719f0b Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 16 Jul 2010 16:46:56 -0500 Subject: Starting to smartly choose when to update the time. --- src/indicator-datetime.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/indicator-datetime.c b/src/indicator-datetime.c index 7f8b58d..c351e3d 100644 --- a/src/indicator-datetime.c +++ b/src/indicator-datetime.c @@ -558,8 +558,20 @@ setup_timer (IndicatorDatetime * self) g_source_remove(self->priv->timer); self->priv->timer = 0; } + + if (self->priv->show_seconds) { + self->priv->timer = g_timeout_add_seconds(1, timer_func, self); + } else { + time_t t; + struct tm *ltime; + + t = time(NULL); + ltime = localtime(&t); + + /* Plus 2 so we're just after the minute, don't want to be early. */ + self->priv->timer = g_timeout_add_seconds(60 - ltime->tm_sec + 2, timer_func, self); + } - self->priv->timer = g_timeout_add_seconds(60, timer_func, self); return; } -- cgit v1.2.3