Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [swflint@curry] git:(master 2↑) 1M~/bin% nix-shell -p xlibs.libXScrnSaver
- [nix-shell:~/bin]$ cat x11idle.c
- #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;
- }
- [nix-shell:~/bin]$ gcc -l xSS x11idle.c -o x11idle
- x11idle.c:1:38: fatal error: X11/extensions/scrnsaver.h: No such file or directory
- compilation terminated.
- [nix-shell:~/bin]$
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement