Какая вкуснотища-то накопалась
Вот такой баянец.
http://blogs.gnome.org/mortenw/2014/06/23/how-does-one-create-a-gtk-application/
Избранное:
«Как вообще создавать работающие приложения на Gtk+? Это вообще возможно?
Не, ну я серьезно.
Версия для тех, кому многабукв — ABI у Gtk+ так поломан, что бинарники из дистрибутива редко когда работают.»
«Представьте себе, что сейчас то время, когда как раз выпустили Gtk+ 3.0. У вас красивейшее приложение без багов. Допустим. Дистрибутивы поставляют собранную версию, и жизнь прекрасна.
Потом дистрибутивы обновляют Gtk+ и все, основывавшееся на GtkGrid, ломается. Вы, конечно, обходите это в коде, но дистрибутивы не будут обновлять вашу программу до релиза.
Тем временем, в Gtk+ ломают бинарную совместимость для скроллинга колесиком мышки. Дистрибутивы обновляют Gtk+, и в вашей программе отваливается скроллинг колесом мышки. Вы втыкаете в код очередной костыль, но пока не сделаете релиз, дистрибутивы не почешутся ее обновлять.
Тем временем, в Gtk+ ломают бинарную совместимость окон со скроллингом. Окна, у которых раньше были вменяемые размеры, схлопываются до околонулевых размеров, и когда дистрибутивы обновляют Gtk+, пользователи вашей программы сильно огорчаются. Вы втыкаете еще один костыль в свой код, но пока не сделаете релиз, дистрибутивы не почешутся.
Тем временем, в Gtk+ ломают бинарную совместимость с перерисовкой. Те части GUI, которые раньше работали правильно, теперь не перерисовываются вообще. Дистрибутивы обновляют Gtk+, и ваша программа перестает работать вообще. Вы втыкаете еще один костыль в свой код, но пока не сделаете релиз, дистрибутивы не почешутся.
Где-то между всей этой возней, в Ubuntu решают поломать полосы прокрутки плагином Gtk+. О случившемся вы узнаете, когда к вам набегают пользователи Ubuntu со своими багрепортами.
Тем временем, правила расположения для GtkGrid сменяются опять. Когда дистрибутивы обновляют Gtk+, ваша программа приобретает ужасный вид. Вы снова втыкаете костыль в свой код, но пока не сделаете релиз, дистрибутивы не почешутся.
Ваша программа работает с несколькими экранами. Ой, она РАБОТАЛА с несколькими экранами, а потом в Gtk+ убили поддержку этой фичи без предупреждения.
А теперь я вот слышу, перерисовку будут опять ломать, потому что надо обходить какой-то кривой дефект в Wayland. Похоже на то, что там придется проверять версию в рантайме. Если какой-то дистрибутив вдруг выйдет с обновленным Gtk+, но не с вашей программой, она опять сломается.»
2015 год объявляется годом линакса на... Короче, сдаюсь. Ну его нафиг.
