В своих постоянных усилиях по обеспечению единообразного и настраиваемого рабочего стола, Разработчики Linux Mint объявили о выпуске libAdapta, новая библиотека, которая родилась как прямое ответвление libAdwaita.
Хотя обе библиотеки имеют общее ядро и идентичный внешний вид по умолчанию, libAdapta отличается тем, что вводит поддержку тем и других ключевых улучшений, которые невозможны в исходной библиотеке из-за ограничений, накладываемых моделью разработки GNOME.
Почему вилка?
Команда Mint упоминает, что причина создания форка libАдвайта, связано с что ты нашел Повторяющиеся препятствия на пути интеграции их улучшений непосредственно в libAdwaita, которая ориентирована исключительно на рекомендации среды GNOME и не рассматривает расширения или совместимость за пределами своей экосистемы.
Это привело к созданию libAdapta как ответвления, которое регулярно синхронизируется с новыми версиями libAdwaita для поддержания совместимости, но в то же время предоставляет свободу внесения изменений вне зависимости от решений команды GNOME.
libAdapta — это libAdwaita с поддержкой тем и некоторыми дополнениями.
По умолчанию предоставляет те же функции и внешний вид, что и libAdwaita.
В средах рабочего стола, которые позволяют выбирать тему, приложения libAdapta следуют теме и используют соответствующие элементы управления окном.
libAdwaita также предоставляет заголовок совместимости, который позволяет разработчикам легко переключаться между libAdwaita и libAdapta без каких-либо изменений кода.
Эта стратегия позволяет Linux Mint развиваться независимо, адаптируя библиотеку к потребностям пользователей, особенно те, кто использует среды рабочего стола, отличные от GNOME, и ценит интегрированный визуальный интерфейс.
Реальная поддержка тем
Один из самых критических моментов что мотивировало это раздвоение является отказ libAdwaita от поддержки пользовательских тем и ограничение себя одним визуальным стилем GNOME. В результате приложения, созданные с помощью libAdwaita, часто выглядят неуместно на остальной части рабочего стола в таких средах, как Cinnamon, Xfce или MATE.
libAdapta решает эту проблему, позволяя приложениям наследовать стиль темы GT.К в использовании. Для этого библиотека определяет активную системную тему и ищет определенный подкаталог (libadapta-*), содержащий соответствующие стили. Если его нет, библиотека возвращается к стилю libAdwaita по умолчанию, обеспечивая совместимость.
Преимущество представлено libAdapta является его двоичная и исходная совместимость с libAdwaita, поскольку В комплект поставки входит специальный заголовочный файл, который позволяет разработчикам переключаться с одной библиотеки на другую, не изменяя свой код, что упрощает эксперименты с libAdapta или ее внедрение в существующие проекты без существенного переписывания.
Если вы хотите создать официальное приложение GNOME, посетите libAdwaita. Это официальная библиотека платформы. Если вы хотите быть включенным в GNOME Circle и официально признанным в качестве приложения GNOME, то это ваш путь.
Если вы хотите создать приложение, работающее в GNOME, используйте любую из библиотек. Оба варианта одинаковы. LibAdwaita будет развиваться быстрее. Это имеет свои преимущества и недостатки. Вам придется следить за своим кодом, но вы получите новые функции быстрее, чем если бы вы ждали, пока libAdapta выполнит перебазирование.
Библиотека libAdwaita была разработана с учетом рекомендаций GNOME Human Interface Guidelines (HIG) и тесно сотрудничает с GTK4. Его интеграция со стилем Adwaita и его высокоуровневыми компонентами, такими как списки, кнопки, формы и диалоговые окна, обеспечивает его согласованность в среде GNOME, но также изолирует его от других рабочих столов и визуальных стилей.
Входя в libAdapta, Linux Mint возвращает гибкость экосистеме GTK что многие пользователи и разработчики считается необходимым. Форк не предназначен для конкуренции с GNOME, а скорее для восстановления возможностей тематизации приложений GTK4, сохраняя при этом преимущества libAdwaita.
Стоит отметить, что этот первый выпуск libAdapta основан на версии libAdwaita 1.5 и предлагает большинство функций и поддержки этой версии.
Наконец, если вы хотите узнать больше об этом, вы можете ознакомиться с подробностями в по следующей ссылке.