Комментарии 4
С GTK сталкивался очень эпизодически (немного пользовался линуксом с ним, немного в кроссплатформенных виндовских приложениях). И вот что меня удивляет - это и на картинке к статье видно: откуда такие огромные расстояния между элементами? Там можно в 2, а то и в 3 раза все ужать. На диалогах огромные кнопки с маленькими надписями, так что на каких-нибудь 10-дюймовых нетбуках диалоговые окна не влезают в экран.
Оформление обычно в CSS задаётся (хотя для графических библиотек некоторая часть указывается в коде). В рамках окружения рабочего стола CSS для GTK задаётся темой оформления. Для разных устройств можно создавать разные темы оформления. На свой вкус можно менять уже существующие.
Можно было бы в одной теме всё задать, но в GTK не поддерживается @media
. Нашёл тему об этом ещё 2016 года, там же объясняется, почему поддержку правила @media
до сих пор не добавили в GTK: responsive design.
Почему не использовали Vala? Выглядело бы все попроще
С Vala пришлось бы разбираться и читать документацию, поскольку на Vala до сих пор не писал, ушло бы больше времени. Статья же родилась в ходе тестового задания, на которое мне давали неделю (дерево с ленивой подгрузкой данных). Я и так выбрал GTK 4 с расчётом написания статьи на Хабр, зная, что большая часть времени уйдёт на эксперименты, чтение документации и изучение существующих примеров (которых почти нет), поскольку до этого работал только с GTK 3. А так, да, с Vala код был бы читабельнее, хотя своего какого-либо мнения (плюсы/минусы) у меня по этому языку пока нет.
Реализация дерева на GtkListView в GTK 4