За неделю-полторы изучения питона и GTK4 по часу в день, стало вырисовываться окончательное видение UI в DE.
Почти завершил элемент настроек внешнего вида, посему опять к вам будут вопросы.
Итак.
Первая вкладка «Темы»: https://ibb.co/VLWmSrM
По моему ИМХО, иконки и GTK нужно было объединить в одном пространстве, поскольку они относятся к подгружаемым темам внешнего вида.
Списки решил делать лаконичные и краткие, без метровых отступов а-ля G, и без кучи бесполезных надписей а-ля K. Зато решил добавить свистоперделку которую не видел в DE раньше - превью тем. Превью это формируется в реальном времени относительно каждой темы иконок или gtk. Пришлось здорово постараться. Если для списка иконок можно просто считать и вывести иконку директории, то для списка тем GTK пришлось считывать каждый gtk.css, выдирать оттуда основные цвета, которые могут быть как HTML так и RGB, и на основе их рисовать превьюху линиями и прямоугольниками. И то не везде получается, потому что создатели Г-тем зачем-то используют симлинки с симлинками, и если например gtk.css -> ../main/gtk-light.css отловить возможно, то вот @fg_color: @main-color, где @main-color: @theme-color, и уже @theme-color: #00FF00 отловить оказалось труднее.
Вторая вкладка «Настройки»: https://ibb.co/RSmB79n
Здесь все просто. Цветовой режим. Светлый \ темный \ адаптивный. Кнопки на окне. Тоже все понятно. Единственное что пока не разобрался, как заставить GTK-CSD перерисовать все окна в системе для применения настроек без перезапуска открытых программ. Но это временно.
Третья вкладка «Шрифты»: https://ibb.co/TWS0LDb
Со шрифтами в DE, ящитаю тоже должно быть все лаконично, без выбора любого шрифта на каждый чих: шрифт системы, шрифт заголовка окон. Если же приложение хочет использовать свои шрифты - пусть указывает это в своих настройках как Хромой и эмуляторы терминала.
Слаживание в 2023 году я думаю, должно быть включено у всех по умолчанию и быть неотключаемо. А вот хинтинг на каких-то разрешениях оправдан, на каких-то нет, невероятно но факт.
В общем и целом, данный ГУЙ работает не только под LXDE, и что самое интересное, неожиданно оказался 100% портабельным, т.е. я перезагрузился с дебиана в генту, запустил двумя кликами с дебиановского раздела - и свободно настроил там, без копирования пито-модулей и либ.
Так же в отличие от других ГУЕв, все настройки определяются с того места, где они должны работать, то есть без всяких промежуточных вело-xfsettings без которых контролька превращается в тыкву и не может понять куда и как настраивать. Все по freedesktop, короче говоря.
Общий видосик работы ГУЯ: https://www.youtube.com/watch?v=zory0nrzl40
p.s. а все-таки gtk делали дятлы. Только там можно увидеть «class_name deprecated since 3.8, use class_name_new / class_name_new deprecated since 4.0, use class_name_new_new / class_name_new_new deprecated since 4.10, use class_name_new_new_new»
Вопрос: что на ваш взгляд нужно еще добавить\изменить\убрать в меню настройки внешнего вида?
Спасибо.