XCB 1.0 RC2 review
DownloadXCB (X protocol C-language Binding) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the prot
|
|
XCB (X protocol C-language Binding) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.
It has several advantages over Xlib, including size (small library and lower memory footprint), latency hiding (batch several requests and wait for the replies later), direct protocol access (one-to-one mapping between interface and protocol), thread support (access XCB from multiple threads, with no explicit locking), and easy creation of new extensions (automatically generates its interface from machine-parsable XML protocol descriptions).
Xlib can also use XCB as a transport layer, allowing software to make requests and receive responses with both, which eases porting to XCB. However, client programs, libraries, and toolkits will gain the most benefit from a native XCB port.
Requirements:
xcb-proto
What's New in This Release:
XID wrapper structures were removed and replaced with uint32_t typedefs.
The API conversion script was updated. xcb_generate_id was moved from xcbext.h to xcb.h.
The error out-parameter for xcb_poll_for_event was removed; connection error objects should be used instead.
The XCB IO lock for Xlib is no longer exposed; xcb_xlib_lock and xcb_xlib_unlock are provided instead.
The code generator no longer implicitly imports xproto for extensions.
Generated protocol headers now declare struct/union/enum foo, not just a typedef "foo" of an unnamed struct/union/enum type.
Checked requests now work correctly. xcb_generate_id was documented.
The tutorial was updated.
XCB 1.0 RC2 keywords