#include #include #include /* Get the idle time from the X Screen Saver extionsion. * * Returns: * long: Idle time in milliseconds */ Display *xorgDisplay; XScreenSaverInfo *xorgScreensaverInfo; unsigned long getIdleTime(void) { unsigned long idle = 0; if (NULL == xorgDisplay) { xorgDisplay = XOpenDisplay(NULL); } if (!xorgDisplay) { return idle; } if (NULL == xorgScreensaverInfo) { xorgScreensaverInfo = XScreenSaverAllocInfo(); } XScreenSaverQueryInfo(xorgDisplay, DefaultRootWindow(xorgDisplay), xorgScreensaverInfo); idle = xorgScreensaverInfo->idle; return idle; }