/* xvfb-run --auto-servernum --server-args="-screen 0 640x480x24 -screen 1 640x480x24" -e /dev/stdout ./foo */ #include #include #include #include int main (void) { int screen_number = 1; Display *display; Screen *screen; Window root; XSyncFence fence; int sync_major, sync_minor; display = XOpenDisplay (NULL); if (! display) { abort (); } if (screen_number >= ScreenCount(display)) { printf ("no screen number %d\n", screen_number); abort(); } screen = ScreenOfDisplay(display, screen_number); root = RootWindowOfScreen(screen); printf ("root window %X\n", root); if (! XSyncInitialize(display, &sync_major, &sync_minor)) { printf ("cannot SyncInitialize\n"); abort(); } printf ("SYNC extension %d.%d\n", sync_major, sync_minor); fence = XSyncCreateFence(display, root, 0); XSync(display, 0); printf ("fence created successfully\n"); return 0; }