This is a conglomeration of links to various references materials that may be useful.
1. X References
A lot of bits of X documentation are commonly referenced.
-
https://www.x.org/releases/current/doc/ is the current version of X.org’s documentation. This includes many things that are very commonly called for, like the Xlib manual and the ICCCM description.
-
https://www.freedesktop.org/ also hosts a number of things related to current X. In particular, the EWMH specification.
There are also various other bits of X discussion that can be useful.
-
The X New Developer’s Guide talks a lot about how the pieces of X are put together.
-
Jasper St. Pierre has talked a lot about X in his blog, most particularly in the original The Linux Graphics Stack post, and later in the full Xplain guide.
2. Programming Language Refs
If you’re messing with the source, you better know C already. But there are always corner cases.
-
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf is a draft of the C99 standard with all the current amendments and corrections; ctwm defines C99 as the standard we’re writing to.
-
http://pubs.opengroup.org/onlinepubs/009695399/ is "
Issue 6
" of POSIX.1-2004 or IEEE 1003.1 or SUS or whatever you want to call it. This is generally the minimum system conformance level we expect.-
http://pubs.opengroup.org/onlinepubs/9699919799/ is "
Issue 7
", POSIX.1-2008. This is a little newer (though still almost a decade old as of this writing), and may tell a little more in some cases. Things this requires but the -2004 above doesn’t may be useful, but should be approached with a little more caution.
-