Программирование Иксов - это не фунт изюма, и даже не два
Есть несколько уровней программных интерфейсов.
Самый низкий - это использовать примитивы из Xlib. Позволяет сделать с Иксами почти всё, что угодно, но сродни программированию в ассемблере - масса усилий ради мизерного результата.
Следущий уровень - использовать старые библиотеки графических элементов (тулкиты), Athena (бесплатная и визуально уродская) и Motif (немного красивее, обычно платный, но есть более-менее полная бесплатная реализация Lesstif). На этом уже можно писать, но сделать насыщенное графическое приложение будет весьма не просто.
Рекомендуемый уровень - воспользоваться продвинутыми наборами графических библиотек. Это прежде всего GTK и QT, а также wxWidgets. В них почти удобно разрабатывать графические приложения, причём для всёх трёх есть реализации на MS Windows, что (в теории) позволяет разрабатывать кросс-платформенные приложения, которые переносятся с Linux на Windows просто перекомпиляцией.