[Xcb] progress report

Jamey Sharp jamey at minilop.net
Fri Aug 13 12:33:26 PDT 2004

On Fri, Aug 13, 2004 at 10:47:42PM +1000, Vince wrote:
> Hi Jamey,

Hi Vince!

> I haven't checked the page in a while... thumbs up on the new stuff!
> You've prodded me into building xcb again :)

Great! :-)

> One thing you haven't mentioned is the current state of XCL - how does
> one go about building it? I found no makefile or obvious way to
> generate one.  I'd really like to try out some more demo apps against
> XCB/XCL if I can, since it seems XCB is making great strides towards
> release of late.

That's because I'm trying not to call it XCL any more. The current
approach is to just build Xlib, but turn on some modifications I
created. So just look through my progress report for the Xlib stuff.
Also, if you're familiar with XCL, then you probably want to look at my
latest paper, which (among other things) explains the differences
between XCL and this new approach. I finally stuck that paper on the XCB
site just now.

I could have sworn the XCB web page documented how to build this patched
version of Xlib, but apparently not. So I've fixed that; see the
Availability section.

For what it's worth, I've been running my whole desktop on Xlib/XCB for
months. It was pretty awful at first, but I can't tell the difference
now. I'm not claiming it's correct yet, though. A few minutes ago I
found a rather nasty bug. So far I've converted it from "die by
spinning" to "die by assert()ing": I guess that's an improvement...

> I've been using 'check' a bit myself for unit testing at work... seems
> good.

I picked it to play with without any evidence that it was useful, so
it's good to hear that. :-)

> I have very little knowledge of the X protocol (any pointers on
> places to read up?), but I could possibly help write some tests.

Help with tests would be great! I guess I should commit the little bit I
already did.

I think the right place to start is with the non-protocol part of the
XCB API. (That would be the "Public API" on the XcbApi page.) When I
tried to come up with tests for functions other than XCBParseDisplay,
though, I found the task daunting. But at least it requires only minimal
knowledge of X; mostly it requires knowledge of POSIX and some skill at
devising tests.

Of course, since the code doesn't quite match the documentation yet, the
tests will fail; but extreme programming tells us that's OK, right?

Now, if you want to read up on the X protocol anyway, the X protocol
specification is the only document I've found useful. Its contents are
available a bunch of places, but few of them are particularly

In book form:
	Robert W. Scheifler, James Gettys, Jim Flowers, and David
	Rosenthal. X Window System: The Complete Reference to Xlib, X
	Protocol, ICCCM, and XLFD. Digital Press, third edition, 1992.

Softcopy source:
	in the X.org CVS tree, xc/doc/specs/XProtocol/

Debian package: xspecs

PDF on the web:

> -- 
>     Vincent Ho
> loki /at/ internode.on.net
> Every complex problem is a simple hierarchy of simple problems.

Perhaps... but decomposing the complex problem is a complex problem, and
generalizing the decomposition is also a complex problem. :-)
Jamey Sharp <jamey at minilop.net> - http://minilop.net/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://freedesktop.org/pipermail/xcb/attachments/20040813/86929442/attachment.pgp

More information about the xcb mailing list