Проект Linux Mint создал LibAdapta, форк библиотеки LibAdwaita

Разработчики дистрибутива Linux Mint опубликовали первый выпуск библиотеки libAdapta, созданной как форк libAdwaita. Первый выпуск libAdapta 1.5 основан на libAdwaita 1.5 и отличается поддержкой тем оформления и некоторыми дополнительными возможностями. В остальном libAdapta поддерживает всю функциональность libAdwaita и по умолчанию обеспечивает идентичный внешний вид приложений.

Создание своего форка объясняется трудностями с передачей развиваемых проектом расширенных возможностей в основной состав libAdwaita. Мягкий форк, кодовая база которого периодически переводится на новые версии libAdwaita для продолжения поддержания совместимости, рассматривается как оптимальное решение для реализации некоторых новых идей. Поддерживая собственное ответвление разработчики Linux Mint не ограничены в реализации своих идей и могут оперативно добавлять изменения, независимо от их одобрения разработчиками libAdwaita.

Проект LibAdwaita преподносится как поддерживающий только платформу GNOME, из-за чего разработчики данной библиотеки отклоняют запросы на изменения, связанные с интеграцией средств управления темами оформления и поддержкой возможностей, отсутствующих в GNOME. Разработчики libAdwaita также отклонили идею добавления расширения, похожего на libGranite.

Проблема в том, что разработчики libAdwaita принципиально отказываются интегрировать поддержку тем оформления, предлагая только базовое оформлением в стиле GNOME. Из-за отсутствия поддержки тем, приложения на базе libAdwaita всегда выглядят как приложения GNOME, а не как приложения GTK, и плохо сочетаются с оформлением других сред рабочего стола.

Приложения, собранные с libAdapta, при запуске в средах рабочего стола, поддерживающих выбор темы оформления, подхватывают настройки тем и используют соответствующие им элементы интерфейса. Библиотека libAdapta проверяет каталог текущей темы оформления GTK и при наличии подкаталога libadapta-* использует иной набор файлов со стилями. Если подкаталог отсутствует, то выполняет откат на набор стилей libAdwaita. Для совместимости с libAdwaita предоставляется отдельный заголовочный файл, позволяющий легко переключаться между libAdwaita и libAdapta без внесения изменений в код.

Напомним, что libAdwaita предоставляет набор компонентов для стилевого оформления интерфейса пользователя, соответствующего рекомендациям GNOME HIG (Human Interface Guidelines). Библиотека включает в себя готовые виджеты и объекты для построения приложений (списки, панели, блоки редактирования, кнопки, вкладки, формы поиска, диалоговые окна и т.п.), соответствующих общему стилю GNOME, интерфейс которых может адаптивно подстраиваться под экраны любого размера. Библиотека используется в сочетании с GTK4 и включает компоненты используемой в GNOME темы оформления Adwaita, которые были вынесены из GTK, что позволило разработчикам GTK сосредоточиться на базовых вещах, а разработчикам GNOME более быстро и гибко продвигать необходимые для себя изменения стилевого оформления, не затрагивая сам GTK.

Release. Ссылка here.