As forewarned in the stream chat, my holiday project is to write an XCB (X protocol C-language Binding) platform layer for Handmade Hero.
XCB is the lowest-level X (the Linux and other Unix windowing system) protocol library. Xlib is the more common client library, which is a level up from there. XCB is a retroactive lower-level library, so there are still a lot of rough edges. And the documentation is fairly horrible.
I started over the weekend, and here's what I've got so far:
Completed (at least partially) so far:
* Game memory allocation
* Keyboard input
* Mouse input (x/y only)
* Load and calling UpdateAndRender game code (and hot reloading)
* Frame timing and locking
* XBox360 controller support
* Debug platform functions (read file, write file, free memory)