[Xcb] client message event strangeness

Vincent Torri vtorri at univ-evry.fr
Tue Apr 10 16:03:05 PDT 2007



On Tue, 10 Apr 2007, Ian Osgood wrote:

>
> On Apr 10, 2007, at 10:11 AM, Vincent Torri wrote:
>
>> 
>> Hey,
>> 
>> I have a strange behavior with ecore_xcb, and another simple xcb prog, btw.
>> 
>> I want to get the event that is sent when I click on little cross of the 
>> title bar (to delete a prog).
>> 
>> It should be the event #33 (client message). It seems reasonnable, and Xlib 
>> sends it.
>> 
>> Now, with the cursor example (see the tutorial), if I add a printf when an 
>> event is found:
>> 
>>
>>    if (e) {
>>      printf ("event : %d\n", e->response_type);
>> 
>> nothing is displayed (xcb_poll_for_event is used) and the window disappear.
>> 
>> With ecore_xcb (which is my main concern, actually), I get the event #161, 
>> which is strange as X has only a maximum of event number of 35 (LASTEvent 
>> in Xlib, which is, btw, not defined in XCB. Has it been forgotten ?)
>> 
>> Is there a logical explanation of that mess ?
>> 
>> thank you
>> 
>> Vincent
>
> Don't forget that the 8th bit (0x80) is set if it is a client event. This is 
> exactly the case here (161 == 128 | 33).

does it mean that, when I get an event named e, the type of the response 
is (e->response_type & ~0x80) ?

Vincent


More information about the Xcb mailing list