From 1e941c775f36817747715152e147452ce78a8d8b Mon Sep 17 00:00:00 2001 From: toni Date: Thu, 8 Oct 2015 14:10:35 +0200 Subject: stuff --- xidle.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 xidle.c (limited to 'xidle.c') diff --git a/xidle.c b/xidle.c new file mode 100644 index 0000000..ade5407 --- /dev/null +++ b/xidle.c @@ -0,0 +1,40 @@ +#include +#include +#include + + +/* Report amount of X server idle time. */ +/* gcc xidle.c -o xidle -lX11 -lXext -lXss */ + +int main(int argc, char *argv[]) +{ + Display *display; + int event_base, error_base; + XScreenSaverInfo info; + float seconds; + unsigned int d_seconds = 0; + + if (argc == 2) { + d_seconds = atoi(argv[1]); + } + + display = XOpenDisplay(""); + + if (XScreenSaverQueryExtension(display, &event_base, &error_base)) { + XScreenSaverQueryInfo(display, DefaultRootWindow(display), &info); + + seconds = (float)info.idle/1000.0f; + if ( d_seconds > 0 ) { + if (d_seconds <= (unsigned int) seconds) { + return 1; + } + } else { + printf("%f\n",seconds); + } + return 0; + } else { + fprintf(stderr,"Error: XScreenSaver Extension not present\n"); + return -1; + } +} + -- cgit v1.2.3