Use profanity input for idle time when libxss not availalbe

This commit is contained in:
James Booth
2012-12-01 18:39:34 +00:00
parent fae848ea64
commit 1029c43002
3 changed files with 25 additions and 8 deletions

View File

@@ -74,6 +74,8 @@ static int max_cols = 0;
static Display *display;
#endif
static GTimer *ui_idle_time;
static void _set_current(int index);
static void _create_windows(void);
static void _cons_splash_logo(void);
@@ -127,6 +129,7 @@ ui_init(void)
#ifdef HAVE_LIBXSS
display = XOpenDisplay(0);
#endif
ui_idle_time = g_timer_new();
dirty = TRUE;
}
@@ -171,18 +174,28 @@ ui_refresh(void)
inp_put_back();
}
#ifdef HAVE_LIBXSS
unsigned long
ui_get_desktop_idle(void)
ui_get_idle_time(void)
{
#ifdef HAVE_LIBXSS
XScreenSaverInfo *info = XScreenSaverAllocInfo();
XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);
unsigned long result = info->idle;
XFree(info);
return result;
}
#else
gdouble seconds_elapsed = g_timer_elapsed(ui_idle_time);
unsigned long ms_elapsed = seconds_elapsed * 1000.0;
return ms_elapsed;
#endif
}
void
ui_reset_idle_time(void)
{
g_timer_start(ui_idle_time);
}
void
ui_close(void)