libaxl is a currently under develop X library, and is not in a fully usable state (please help write man pages if you want it ready sooner). The goals of libaxl are: * Use asynchronous communication model (unlike libX11) * Use as few memory allocations as possible (unlike XCB) * Always use proper namespacing (unlike libX11) * Do not use aggregate returns (unlike XCB) * Abstract away as little as reasonably possible (unlike XCB and libX11) * But do not require the user to know about the order of bits in bitmasks (unlike XCB) * Be as tiny as possible without removing functionality (unlike XCB and libX11) * Be thread-safe by default (unlike libX11) * Use liberror for error handling (unlike XCB and libX11, obviously) libaxl is faster than Xlib because it is asynchronous, however it is slower than xcb because it parses format strings rather than specialised functions.