[Xcb] xcb-screensaver notify_event_t structure

Philip Rushik prushik at gmail.com
Thu Jul 17 08:49:08 PDT 2014


Hi everybody,
So I posted awhile ago about XCB and the screensaver extension. I got
that all working on my machine, but now I want to use the same code on
another machine and it's not working...... here's the details:

In my code, I do this:
xcb_screensaver_notify_event_t *e =
(xcb_screensaver_notify_event_t*)xcb_wait_for_event(conn);


if ((e->response_type)==xss_event_base+XCB_SCREENSAVER_NOTIFY)
     if ((uint8_t)e->code==XCB_SCREENSAVER_STATE_OFF)


Which looks like it should be totally fine, and worked fine on my
development machine with xcb-1.8.1 I think. The new machine I am
trying to compile the code on has xcb-1.10, the newest version.
Compilation fails saying that xcb_screensaver_notify_event_t has no
member named "code". I checked out xcb/screensaver.h where it's
defined, and sure enough, there is no member called "code", but in
1.8.1 there was.
http://www.x.org/releases/current/doc/man/man3/xcb_screensaver_notify_event_t.3.xhtml
says there should be a code member also, but xcb documentation isn't
exactly known for it's correctness.

So, what happened to the code member? is there some other way that I
don't know about to differentiate between cycle and
activate/deactivate events? Why has the "code" member of
screensaver_notify_event_t been removed? How can I fix this?

Thanks,
--Philip


More information about the Xcb mailing list