xnotes
xnotes copied to clipboard
some notes on Xlib programming
XNOTES(1) X Notes NOTESO(1)
NAME xnotes - some notes on Xlib programming
DESCRIPTION This is a collection of programs and notes I wrote back when I was learning how to program X11 clients, and some notes I am adding to help people who are learning how to program using the Xlib library. You can use these notes to help your learning, but don't use them as the only sources. I recomment you to use Guy Keren's tutorial and Adrian Nye's book (and the man pages, of course).
Each directory contains a program that teaches a lesson. Begin with
xhello, as it is teaches the basics of Xlib programming. All lessons
are introductions; you must refer to the manuals, when available.
When you're in a directory, first compile and run the program, for you
to understand how it works. Then read the source code and try to grasp
its structure. Then read its README along with the code to understand
the main concepts applied in the code and how stuff are implemented.
FILES xhello/ Create and display a simple blank window. Lesson: Introduction to Xlib programming.
xcount/
A counter window that counts button presses.
Lesson: Introduction to event handling.
xpaint1/
A paint-like program, with a serious bug.
Lesson: Introduction to drawing and graphics context.
xpaint2/
A paint-like program.
Lesson: Introduction to pixmaps.
xwindow/
Create and display a simple blank window with title.
Lesson: Introduction to X Properties and window hints.
xmenu/
A menu window.
Lesson: Introduction to override-redirect, atoms and EWMH.
xcircle/
Create and display a simple round window.
Lesson: Introduction to X Shape.
xinput/
A window that reads the characters the user types and print them.
Lesson: Introduction to X Input Method.
xoutput1/
Display text on window.
Lesson: Introduction to core X11 font system.
xoutput2/
Display text on window.
Lesson: Introduction to Xft.
xoutput3/
Display text on window.
Lesson: Using Xft with manually created fontset.
xoutput4/
Display text on window.
Lesson: Using Xft with fontset provided by fontconfig.
BUGS Some paragraphs were copied as is from other sources when I was learning how to program using Xlib. I need to fix that.
SEE ALSO Guy Keren, Basic Graphics Programming With The Xlib Library.
Adrian Nye, Xlib Programming Manual, O'Reilly Media, 1992,
ISBN 1-56592-002-3.
Xlib - C Language X Interface
https://www.x.org/releases/current/doc/libX11/libX11/libX11.html
https://venam.nixers.net/blog/unix/2018/05/10/reparenting-redirecting-composition-rendering.html