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|https://www.x.org/releases/current/doc/libX11/libX11/libX11.html]] * [[pdf version|https://www.x.org/releases/current/doc/libX11/libX11/libX11.pdf]] * [[text version|https://www.x.org/releases/current/doc/libX11/libX11/libX11.txt]] The documentation for the xcb interfaces can be found at: * [[XCB wiki|https://xcb.freedesktop.org/]] * [[Basic Graphics Programming With The XCB Library|https://www.x.org/releases/current/doc/libxcb/tutorial/index.html]] [[O’Reilly & Associates|https://www.oreilly.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)|https://www.archive.org/details/xlibretmanver1102nyemiss]] * [[X Series Volume 2: Xlib Reference Manual, 2nd Edition (1990, covers X11R4)|https://www.archive.org/details/xlibrefmanv115ed02nyemiss]] * Xt & Xt-based toolkits: * [[X Series Volume 4: X Toolkit Intrinsics Programming Manual, 1st Edition (1990, covers X11R3)|https://www.archive.org/details/xtoolkitintrsin20400nyemiss]] * [[X Series Volume 4: X Toolkit Intrinsics Programming Manual, 2nd Edition (1990, covers X11R4)|https://www.archive.org/details/xtoolkitintrinsi04nyemiss]] * [[X Series Volume 4: X Toolkit Intrinsics Programming Manual, Motif Edition (1990, covers X11R4/Motif 1.1)|https://www.archive.org/details/xtoolktintrmotif04nyemiss]] * [[X Series Volume 4: X Toolkit Intrinsics Programming Manual, 3rd Edition (1993, covers X11R5)|https://www.archive.org/details/xtoolkitintrinsic04nyemiss]] * [[X Series Volume 5: X Toolkit Intrinsics Reference Manual (1990, covers X11R4)|https://www.archive.org/details/xtoolkitintrinsi04nyemiss]] * [[X Series Volumes 6A & 6B: Motif Programming & Reference Manuals|https://www.oreilly.com/openbook/motif/]] * [[X Series Volumes 7A & 7B: XView Programming & Reference Manuals|https://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_|https://paroj.github.io/gltut/]].