Thank you for your helpful, thoughtful post!
It triggered an entire diatribe, which I then deleted before publishing, about obstructive advice, people saying not to use Xlib or XCB, even saying not to bother learning C, that it’s not relevant. HUH?
If I want to learn how to, for example, paint my car, telling me to go to Maaco to get my car painted is just, well, not even an answer. It’s just a statement based on word association.
I just read in it’s documentation that Cairo has a facility for working with X windows so in my Xlib-XCB program I can call on Cairo to draw stuff I don’t feel like learning about pixmaps and mapped windows, which is pretty neat.
As a hobbyist all I want are straight answers to simple questions.
I found these URLS to be especially super-helpful, and also asking questions at stackoverflow.com often draws straightforward answers to the question asked.
XCB has been created to eliminate the need for programs to actually implement the X protocol layer. This library gives…www.x.org
Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol…wayland.freedesktop.org