README.md
1About xcb-proto
2===============
3
4xcb-proto provides the XML-XCB protocol descriptions that libxcb uses to
5generate the majority of its code and API. We provide them separately
6from libxcb to allow reuse by other projects, such as additional
7language bindings, protocol dissectors, or documentation generators.
8
9This separation between the XCB transport layer and the
10automatically-generated protocol layer also makes it far easier to write
11new extensions. With the Xlib infrastructure, client-side support for
12new extensions requires significant duplication of effort. With XCB and
13the XML-XCB protocol descriptions, client-side support for a new
14extension requires only an XML description of the extension, and not a
15single line of code.
16
17Python libraries: xcb-proto also contains language-independent Python
18libraries that are used to parse an XML description and create objects
19used by Python code generators in individual language bindings. These
20libraries are installed into $(prefix)/lib/pythonX.X/site-packages. If
21this location is not on your system's Python path, scripts that import
22them will fail with import errors. In this case you must add the
23install location to your Python path by creating a file with a `.pth'
24extension in a directory that _is_ on the Python path, and put the
25path to the install location in that file. For example, on my system
26there is a file named 'local.pth' in /usr/lib/python2.5/site-packages,
27which contains '/usr/local/lib/python2.5/site-packages'. Note that
28this is only necessary on machines where XCB is being built.
29
30Please report any issues you find to the freedesktop.org bug tracker at:
31
32 https://gitlab.freedesktop.org/xorg/proto/xcbproto/issues
33
34Discussion about XCB occurs on the XCB mailing list:
35
36 https://lists.freedesktop.org/mailman/listinfo/xcb
37
38You can obtain the latest development versions of xcb-proto using GIT from
39the xcbproto code repository at:
40
41 https://gitlab.freedesktop.org/xorg/proto/xcbproto
42
43 For anonymous checkouts, use:
44
45 git clone https://gitlab.freedesktop.org/xorg/proto/xcbproto.git
46
47 For developers, use:
48
49 git clone git@gitlab.freedesktop.org:xorg/proto/xcbproto.git
50