I think much of X programming reference material is stranded in published paper form, unfortunately, though I could be wrong. There are API manpages in package libx11-doc
(Debian) – somewhat helpful – and some more documentation in xorg-docs
– probably less helpful for what you’re looking into. Sometimes a targeted web search about a specific question or function has helped.
Your best bet may be to take the plunge and clone relevant repositories: xorg · GitLab
Especially: xorg / xserver · GitLab
And then, a further step, set up your editor with LSP on each repo. When you have an LSP working you can jump around the source (which, regrettably, is not a work of art) pretty easily and this is probably better in the long run than reference material. But this means building X, effectively. It’s much easier to build than in the past but it will surely still take some time to get all dependencies in place.
This will get you pretty far:
apt-get build-dep xserver-xorg-core
Then, the xorg build system needs these packages:
meson
cmake
pkg-config
Standard gcc/autotools stuff if the build-dep
step didn’t catch them:
gcc
make
autoconf
automake
libtool
In my notes, some more X stuff, but probably these are already captured by the build-dep
step:
xorg-dev
libx11-dev
xcvt
libxcvt0
libxcvt-dev
Good luck!
(All named packages are as under Debian)