Проект GNOME выпустила версию библиотеки libadwaita 1.2, библиотека Либадвайта используется совместно с GTK4 и включает компоненты из скина Adwaita, используемого в GNOME, который был перемещен из GTK в отдельную библиотеку.
Переместите изображения GNOME в отдельную библиотеку позволяет разрабатывать необходимые изменения GNOME отдельно от GTK, что позволяет разработчикам GTK сосредоточиться на основах, а разработчикам GNOME — быстрее и гибче вносить изменения в собственный стиль, не затрагивая GTK.
Библиотека включает в себя стандартные виджеты, охватывающие различные элементы интерфейса, такие как списки, панели, блоки редактирования, кнопки, вкладки, формы поиска, диалоговые окна и т.д. Предлагаемые виджеты позволяют создавать универсальные интерфейсы, плавно работающие как на больших экранах ПК и ноутбуков, так и на небольших сенсорных экранах смартфонов.
Интерфейс приложения динамически меняется в зависимости от размера экрана и доступных устройств ввода. Библиотека также включает в себя набор стилей Adwaita, которые приводят внешний вид в соответствие с рекомендациями GNOME без необходимости ручной настройки.
Основные новые функции libadwaita 1.2
В новой версии представлены добавлен виджет Adw.EntryRow для использования в качестве элемента списков. виджет предоставляет поле ввода и заголовок с возможностью прикрепить дополнительные виджеты до и после поля ввода (например, кнопки подтверждения ввода или индикатор того, что данные можно редактировать). Дополнительно доступен вариант Adw.PasswordEntryRow, предназначенный для ввода паролей.
Помимо этого добавлен виджет Adw.MessageDialog для отображения диалога с сообщением или вопросом. Виджет является расширенной заменой Gtk.MessageDialog, который может подстраивать расположение элементов под размер окна.
Например, в широких окнах кнопки могут отображаться в одну строку, а в узких — разбиты на несколько столбцов. Еще одно отличие состоит в том, что виджет не является дочерним элементом класса GtkDialog и предоставляет совершенно новый API, не привязанный к предопределенным типам кнопок GtkResponseType (в Adw.MessageDialog все действия обрабатываются приложением), что упрощает для встраивания других виджетов, использующих свойство extra-child и предоставляющих отдельные стили для заголовка и основного текста.
Кроме того, также Я знаю, что это подчеркивает, что был добавлен виджет Adw.AboutWindow для отображения окна с информацией о программе. Виджет заменяет Gtk.AboutDialog и имеет адаптивный дизайн и расширенные разделы справки, такие как журнал изменений, окно благодарности, информация о сторонней лицензии, ссылки на информационные ресурсы и данные отладки.
Также подчеркивается, что расширены возможности виджетов Adw.TabView и Adw.TabBar, где переработан механизм обработки горячих клавиш для решения проблемы с рабочими комбинациями, пересекающимися с драйверами GTK4 (например, Ctrl+Tab). Новая версия также предлагает свойство для установки всплывающих подсказок для индикаторов и кнопки вкладок.
Кроме того, происходит уменьшение высоты вертикальных разделителей, который позволяет заголовку и строке поиска удалить отвлекающие светлые границы в пользу темных границ, установленных с помощью @headerbar_shade_color, и добавить стиль фона, соответствующий панелям заголовков.
Из другие изменения которые выделяются из этой новой версии:
- Класс стиля «.large-title» устарел, вместо него следует использовать «.title-1».
- Уменьшено заполнение виджета Adw.ActionRow, чтобы его внешний вид был ближе к виджету и панелям Adw.EntryRow.
- Добавлен класс Adw.PropertyAnimationTarget, чтобы упростить анимацию свойств объектов.
- Существенно изменен стиль панели вкладок (Adw.TabBar): более четко выделена активная вкладка, а также повышена контрастность элементов в темном варианте макета.
- Виджеты Gtk.Actionbar и Adw.ViewSwitcherBar используют те же стили, что и строка заголовка, панель поиска и панель вкладок.
В конце концов если вам интересно узнать об этом больше вы можете проверить детали По следующей ссылке.