I have solved the problem. It seems that XCheckTypedWindowEvent() does not return a GenericEvent. I found https://github.com/gnif/LookingGlass and https://github.com/xfce-mirror/xfwm4 as some examples to go by.
-- Ryan McClue, Sydney ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, September 23rd, 2021 at 11:35 AM, Ryan McClue <re.mcc...@protonmail.com> wrote: > I'm trying to use XPresent, however I seem unable to receive GenericEvent. I > initialize: > > int present_op = 0, event = 0, error = 0; > > XPresentQueryExtension(xlib_display, &present_op, &event, &error); > > XPresentSelectInput(xlib_display, xlib_window, PresentCompleteNotifyMask); > > In my event loop: > > XEvent xlib_event = {}; > > while (XPending(xlib_display) > 0) > > { > > XNextEvent(xlib_display, &xlib_event); > > switch (xlib_event.type) > > { > > case GenericEvent: > > { > > XGenericEventCookie *cookie = (XGenericEventCookie *)&xlib_event.xcookie; > > if (cookie->extension == present_op) > > { > XGetEventData(xlib_display, cookie); > if (cookie->evtype == PresentCompleteNotify) > > { > XRenderComposite(display, PictOpSrc, src_pict, 0, dst_pict, > 0, 0, 0, 0, 0, 0, > window_width, window_height); > } > XFreeEventData(xlib_display, cookie); > } break; > } > > > } > > I never receive any GenericEvent. > > Am I doing something wrong? > ----------------------------------------------------------------- > > Ryan McClue, Sydney > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > > On Thursday, September 23rd, 2021 at 3:33 AM, Keith Packard kei...@keithp.com > wrote: > > > Ryan McClue re.mcc...@protonmail.com writes: > > > > > I want this to sync with the monitor's VBLANK, i.e. vsync. > > > > > > How can this be achieved? > > > > Draw to an offscreen pixmap and use the Present extension. > > > > -keith