Simple output of idle/away

This commit is contained in:
James Booth
2012-11-30 21:26:28 +00:00
parent 846d3f848a
commit 020e516acf
4 changed files with 59 additions and 1 deletions

View File

@@ -25,6 +25,10 @@
#include <stdlib.h>
#include <string.h>
#ifdef HAVE_LIBXSS
#include <X11/extensions/scrnsaver.h>
#endif
#include <glib.h>
#ifdef HAVE_LIBNOTIFY
#include <libnotify/notify.h>
@@ -66,6 +70,10 @@ static int dirty;
// max columns for main windows, never resize below
static int max_cols = 0;
#ifdef HAVE_LIBXSS
static Display *display;
#endif
static void _set_current(int index);
static void _create_windows(void);
static void _cons_splash_logo(void);
@@ -116,7 +124,9 @@ ui_init(void)
status_bar_active(0);
create_input_window();
_create_windows();
#ifdef HAVE_LIBXSS
display = XOpenDisplay(0);
#endif
dirty = TRUE;
}
@@ -161,6 +171,19 @@ ui_refresh(void)
inp_put_back();
}
#ifdef HAVE_LIBXSS
unsigned long
ui_get_desktop_idle(void)
{
XScreenSaverInfo *info = XScreenSaverAllocInfo();
XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);
unsigned long result = info->idle;
XFree(info);
return result;
}
#endif
void
ui_close(void)
{