Я бы ещё добавил, что в юниксовых десктопах довольно серьёзная проблема в отсутствии стандартной библиотеки контролов: единственный де-факто стандарт - оконный сервер, умеющий только низкоуровневую диспетчеризацию графики и ввода, даже управление окнами на сторонней программе, а виджетами занимается несколько несовместимых тяжеловесных библиотек с регулярно ломающимися ABI и API. Чтобы привести GUI в унифицированный вид, нужно подбирать совместимые темы для WM, для GTK2, для GTK3, для QT4, для QT5, и ещё останется немного экзотики. В Wayland ситуация, похоже, только усугубляется.
В то же время, в Win32 есть user32,shell32,comctl32,etc со стабильным API, есть стандартизированная ресурсная секция с диалогами и графикой. Можно написать линкующееся лишь с системными библиотеками двухкилобайтное GUI приложение на ассемблере и оно будет работать и одинаково консистентно выглядеть на системах выпущенных в последние 26 лет. Там конечно тоже не всё так радужно, и ещё со времён MFC любят накручивать кастомные свистоперделки, но хотя бы есть возможность ими не пользоваться, а от GTK и QT на линуксе или кроссплатформе хрен уйдёшь.