summaryrefslogtreecommitdiff
path: root/xscreensaversuspendtest.c
blob: 0032289ea1aff01ca284059b48005eeea18f3434 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

//
// XScreenSaverSuspend() test program
//
// gcc -g -Wall -o xscreensaversuspendtest xscreensaversuspendtest.c -lX11 -lXss
//

#include <assert.h>
#include <stdio.h>
#include <stdbool.h>
#include <unistd.h>
#include <X11/extensions/scrnsaver.h>

int
main()
{
  Display *dpy = XOpenDisplay(NULL);
  assert(dpy);

  int event_base;
  int error_base;
  assert(XScreenSaverQueryExtension(dpy, &event_base, &error_base));

  int major_version;
  int minor_version;
  assert(XScreenSaverQueryVersion(dpy, &major_version, &minor_version));
  printf("Xscreensaver version %d.%d\n", major_version, minor_version);

  XScreenSaverSuspend(dpy, true);
  XFlush(dpy);

  // suspend screensaver until we are killed
  while (true)
    {
      sleep(1);
    }

  return 0;
}