xlib вовсе не сложен. Можно даже без xlib, голым X11-протоколом пользоваться, и оставаться при этом в здравом уме и трезвой памяти. Иногда такое бывает нужным.
Интересно зачем? Я помнится читал какую-то книгу по программированию Хlib, там автор в самом начале пишет, что надо использовать тулкиты, поскольку они стандартизированные и поддерживаются большим числом платформ.