Ты опоздал лет на 20. Лучше изучай вяленого. Знания иксов устареют прежде, чем ты их освоишь. Ну да ладно.- Вначале учишь от корки до корки, чтоб от зубов отскакивало: https://tronche.com/gui/x/ - описано нормально, используется Xlib.
- Далее понимаешь, что Xlib задизайнен хреновато, и что ему есть адекватная замена - XCB. Изучаешь от корки до корки: https://xcb.freedesktop.org/tutorial/
- При использовании XCB вооружаешься непосредственно спеками по протоколу, скажем, https://www.x.org/releases/current/doc/xproto/x11protocol.html
- Далее понимаешь, что и этого недостаточно, т.к. в самом протоколе по сути нет многого из того, что нужно "на практике". Изучаешь ICCCM, EWMH и прочие сопутствующие стандарты. Стандартов тьма, изучаешь только те, что нужны лично тебе.
- Вооружаешься инструментом "глобальный поиск по сишному коду по гитхабу".
Это список ресурсов для хладнокровного убийства времени, бессмысленного прожига молодости, спуска ее вникуда. Знания, которые не пригодятся никому уже через несколько лет. Не рекомендую.