[Xcb] Docs?

Patrick patrick at spellingbeewinnars.org
Mon Aug 11 16:40:33 PDT 2014

I don't really know anything, I am just learning too.

I am reading old X windows books I bought on Abebooks, mostly for $1-$5.

Could someone tell me where zlib is? I can only find the compression 

I also want to mention that I have been tinkering with toolkits like 
WxPython, GTK with many bindings, including native C, QT, FLTK, TK and more.

They are all fine but make assumptions that the user is using a mouse. 
With touch screens dropping in price, I feel that a lot could be done 
with a weeny toolkit just on top of xcb. I am trying to write a kiosk 
like program.

Having only X could improve performance on single board computer like 
BeagleBoard and Raspberry PI. Shipping a Live CD/DVD without large 
toolkits may also be a good thing. I am toying with the idea of shipping 
just Debian stable with IceWm. It would not have a lot of features but I 
am hoping it would be a reliable graphical appliance to serve a single 

I have been using Linux for 10 years now and it seems to me that most 
bugs occur in graphical user interfaces. I wonder if plain old X and xcb 
API will make it easier to write responsible, reliable code.

Robert, my code is still crap but if you want any one-to-one help just 
contact me offlist.

On 11/08/14 07:03 PM, Alan Coopersmith wrote:
> On 08/11/14 03:52 PM, Sam Varshavchik wrote:
>> Robert Koretsky writes:
>>> I don't want to be a developer, nor install the source to get to 
>>> some simple
>>> yet complete documentation on Request and Event functions. I'm also 
>>> VERY new
>>> to C programming, and don't want to write programs that contain the 
>>> functions
>>> that are in the tutorial.
>> XCB is a very thin layer on top of the X protocol. The documentation 
>> you're
>> looking for is here
>> http://www.x.org/releases/X11R7.7/doc/xproto/x11protocol.html
>> XCB's function map directly onto the messages and events.
>> For example, TranslateCoordinates is mapped directly onto the
>> xcb_translate_coordinates() function, and the reply message,
>> xcb_translate_coordinates_reply_t, is returned by
>> xcb_translate_coordinates_reply().
>> The same convention holds true for all X messages. Additional work is 
>> needed to
>> handle replies, and events.
> And the doxygen generated docs for the C functions for those can be 
> seen at:
> http://xcb.freedesktop.org/manual/group__XCB__Core__API.html
> or for the various extensions:
> http://xcb.freedesktop.org/manual/modules.html
>> Finally, neither XCB, nor the X documentation, will actually explain 
>> you how the
>> X protocol works, aside from the terse documentation for each 
>> message. You must
>> know how X works, if you don't, you'll be lost. This documentation is 
>> for the
>> API, it's not an X protocol tutorial. The two are not the same.
> And for most programs, you don't want to involve the X protocol & xcb 
> directly.
> Higher level toolkits, like Qt & GTK+ solve many problems that you'll 
> face trying to write to the low-level interfaces like xcb - especially 
> as a new programmer, the higher levels will make much more sense than 
> trying to figure
> out what's going into the sausage without getting disgusted or losing 
> a finger.
> http://www.x.org/wiki/guide/ tries to explain the basics, but is still 
> a bit
> incomplete.

More information about the Xcb mailing list