[Xcb] Wiki spring cleaning
Ian Osgood
iano at quirkster.com
Mon May 1 10:30:20 PDT 2006
Now that we've made a release, we should prepare for the huge flood
of new developers by updating our wiki web site.
Josh proposed streamlining the front page, so that it serves as a
single-screen introduction to the project, aimed at XCB users.
Cairo's site at http://cairographics.org/ seems like a good model.
Main pages would have only current information, with older
information moved to XcbHistory. Information on developing XCB
itself would move to XcbDevelopersGuide. The new site structure
would be:
xcb (one screen introduction, release download, index)
XcbApi
XlibXcb
XcbDevelopersGuide (availability, build instructions, resources)
XmlXcb
XcbToDo
XcbDevelopmentPlan (needs an update!)
UsingXcb (needs update?)
XcbHistory (papers, acknowledgements, XCL, M4)
XcbCompletedTasks
XcbRationale
Proposed front page:
The X protocol C-language Binding (XCB) is a replacement for Xlib
having the advantages of:
* Small footprint: Xlib is a large piece of code, and it is difficult
to make it smaller.
* Latency hiding: Xlib requests requiring a reply are effectively
synchronous: they block until the reply appears, whether the result
is needed immediately or not.
* Direct access to the protocol: Xlib does quite a bit of caching,
layering, and similar optimizations. While this is normally a
feature, it makes it difficult to simply emit specified X protocol
requests and process specific responses.
* Threaded applications: While Xlib does attempt to support
multithreading, the API makes this difficult and error-prone.
* New extensions: The Xlib infrastructure provides limited support
for the creation of X extension client side code.
You can obtain released versions of XCB from http://
xcb.freedesktop.org/dist . Follow the instructions from the
XcbDevelopersGuide to build, except that you can use released
versions of the dependencies, and you don't need git, automake,
autoconf, or libtool.
The XcbApi is documented. There is also a [http://
gitweb.freedesktop.org/?p=xcb;a=tree;f=xcb/doc/tutorial tutorial].
To aid porting applications, you can configure Xlib to use XCB for
the transport layer. We call this [:XlibXcb: Xlib/XCB].
If you wish to work on XCB, please read the XcbDevelopersGuide.
You may also wish to read the XcbHistory for technical papers and
acknowledgements.
===========
Let me know what you think.
Ian
More information about the Xcb
mailing list