#include <X11/extensions/sync.h>
#include <X11/extensions/scrnsaver.h>
-static Display *dpy = NULL;
-void reset_idle_time()
+int reset_idle_time()
{
- if (!dpy) {
- if (!(dpy = XOpenDisplay(NULL))) {
+ Display *display = NULL;
+ if (!display) {
+ if (!(display = XOpenDisplay(NULL))) {
fputs("Could not open X11 display.\n", stderr);
- return;
+ return -1;
}
}
-
- XScreenSaverSuspend(dpy, True);
- XSync(dpy, False);
- XScreenSaverSuspend(dpy, False);
- XSync(dpy, False);
+ int x_force_screen_saver;
+ int screen_saver_mode = ScreenSaverReset;
+ x_force_screen_saver = XForceScreenSaver(display, screen_saver_mode);
+ return x_force_screen_saver;
}