summaryrefslogtreecommitdiff
path: root/index.mdwn
blob: d5b17ca8063311b51e2e9fd3fe7ab63ac0cb2215 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[[!img KittyLogo/neko.png link="KittyLogo"]]

# Introduction

The X protocol C-language Binding (XCB) is a replacement for Xlib [[featuring|Features]] a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.

# News

October 2012: New releases of the XCB packages have been published, including autogenerated man pages for XCB API's - see the linked announcements for full details of what's changed in each one:
- [xcb-proto 1.8](http://lists.freedesktop.org/archives/xcb/2012-October/007892.html)
- [libxcb 1.9](http://lists.freedesktop.org/archives/xcb/2012-October/007893.html)

# Download

- You can obtain released versions of XCB from <http://xcb.freedesktop.org/dist>.
- Follow the instructions from the [[developer's guide|DevelopersGuide]] to build, except that you can use released versions of the dependencies, and you don't need git, automake, autoconf, or libtool.

# Development

- If you wish to work on XCB, please read the [[developer's guide|DevelopersGuide]].
- **Mailing list**: Discussion of XCB and Xlib/XCB is through the [XCB mailing list](http://www.freedesktop.org/mailman/listinfo/xcb).
- **IRC**: XCB developers also hang out on [[IRC]], and have occasional [[meetings]].
- Of course, there's still a lot [[to do|TODO]] .

# Documentation

- The [[XCB API|XcbApi]] is documented. There is also a [[tutorial]] and some random [[notes|XcbNotes]].
- People wanting to implement higher level applications can use [[xcb-util|XcbUtil]].
- XCB is built atop an XML description of the X core protocol and common extension protocols called [[XML/XCB|XmlXcb]]. This protocol can be used in other interesting ways. Documentation of the X Window System protocol is also available at [X.org's website](ftp://ftp.x.org/pub/X11R7.0/doc/PDF/proto.pdf), and can be used in combination with XCB documentation as XCB functions largely reflect the protocol.
- To aid in porting applications, you can configure Xlib to use XCB for the transport layer. We call this [[Xlib/XCB|XlibXcb]].
- There is automatically-generated [documentation for the XCB protocol bindings](http://xcb.freedesktop.org/manual/).
- The Windows (32 bit) port of XCB will be merged into the main code base soon. You can read more on that [[here|Win32Port]].

# Miscellaneous

The XCB project has a long [[history]], during which it has produced many academic [[publications]]. Various projects have [[adopted|adoption]] XCB.