| 123456789101112131415161718192021222324252627282930313233 | 
							- /* This header file is provided by the libxss-dev package on Debian,
 
-  * by the libXss-devel rpm on openSUSE, and the libXScrnSaver-devel
 
-  * rpm on Fedora.
 
-  */
 
- #include <X11/extensions/scrnsaver.h>
 
- #include <stdio.h>
 
- /* Based on code from
 
-  * http://coderrr.wordpress.com/2008/04/20/getting-idle-time-in-unix/
 
-  *
 
-  * compile with 'gcc -l Xss x11idle.c -o x11idle' and copy x11idle into your
 
-  * path
 
-  */
 
- int main() {
 
-     XScreenSaverInfo *info = XScreenSaverAllocInfo();
 
-     //open the display specified by the DISPLAY environment variable
 
-     Display *display = XOpenDisplay(0);
 
-     //display could be null if there is no X server running
 
-     if (info == NULL || display == NULL) {
 
-     return -1;
 
-     }
 
-     //X11 is running, try to retrieve info
 
-     if (XScreenSaverQueryInfo(display, DefaultRootWindow(display), info) == 0) {
 
- 	return -1;
 
-     }
 
-     //info was retrieved successfully, print idle time
 
-     printf("%lu\n", info->idle);
 
-     return 0;
 
- }
 
 
  |