summaryrefslogtreecommitdiff
path: root/ProgrammingDocumentation.mdwn
blob: 339a24a325e5d5e8ffdde7271f5613f7bcec5cc1 (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
Most programmers who write applications for X will use third party toolkits.

If you are interested in writing an application that uses X primitives directly without the use of a toolkit, you can use the Xlib interface, painful though it is; or the xcb interface, which is missing many of Xlib’s warts, but still does not provide any of the widgets, internationalization, or accessibility support of a modern toolkit.  The [[X New Developer’s Guide|/guide/]] includes a chapter on [[Xlib and XCB|guide/xlib-and-xcb/]] that explains the different design approaches.

The documentation for the Xlib interface can be found at:

* [[html version|http://www.x.org/releases/X11R7.7/doc/libX11/libX11/libX11.html]]
* [[pdf version|http://www.x.org/releases/X11R7.7/doc/libX11/libX11/libX11.pdf]]
* [[text version|http://www.x.org/releases/X11R7.7/doc/libX11/libX11/libX11.txt]]

The documentation for the xcb interfaces can be found at:

* [[XCB wiki|http://xcb.freedesktop.org/]]
* [[Basic Graphics Programming With The XCB Library|http://www.x.org/releases/X11R7.7/doc/libxcb/tutorial/index.html]]

[[O’Reilly & Associates|http://www.ora.com/]] have also made freely available online some of their classic X programming manuals.   These are a bit older, dating from the [[X11R3|X11R3]], [[R4|X11R4]], or [[R5|X11R5]] eras, and the toolkit ones cover Xt-based toolkits which are no longer in widespread use for new applications, but much of the Xlib documentation still applies, it just doesn’t cover all the new additions:

* Xlib:
  * [[X Series Volume 2: Xlib Reference Manual (1989, covers X11R3)|http://www.archive.org/details/xlibretmanver1102nyemiss]]
  * [[X Series Volume 2: Xlib Reference Manual, 2nd Edition (1990, covers X11R4)|http://www.archive.org/details/xlibrefmanv115ed02nyemiss]]
* Xt & Xt-based toolkits:
  * [[X Series Volume 4: X Toolkit Intrinsics Programming Manual, 1st Edition (1990, covers X11R3)|http://www.archive.org/details/xtoolkitintrsin20400nyemiss]]
  * [[X Series Volume 4: X Toolkit Intrinsics Programming Manual, 2nd Edition (1990, covers X11R4)|http://www.archive.org/details/xtoolkitintrinsi04nyemiss]]
  * [[X Series Volume 4: X Toolkit Intrinsics Programming Manual, Motif Edition (1990, covers X11R4/Motif 1.1)|http://www.archive.org/details/xtoolktintrmotif04nyemiss]]
  * [[X Series Volume 4: X Toolkit Intrinsics Programming Manual, 3rd Edition (1993, covers X11R5)|http://www.archive.org/details/xtoolkitintrinsic04nyemiss]]
  * [[X Series Volume 5: X Toolkit Intrinsics Reference Manual (1990, covers X11R4)|http://www.archive.org/details/xtoolkitintrinsi04nyemiss]]
  * [[X Series Volumes 6A & 6B: Motif Programming & Reference Manuals|http://www.oreilly.com/openbook/motif/]]
  * [[X Series Volumes 7A & 7B: XView Programming & Reference Manuals|http://www.oreilly.com/openbook/openlook/]]

Programmers writing applications that will use OpenGL can learn more in the free online book [[_Learning Modern 3D Graphics Programming_|http://www.arcsynthesis.org/gltut/index.html]].