17.04.2024

Выпуск библиотеки Libadwaita 1.3 для создания интерфейсов в стиле GNOME

Проект GNOME опубликовал выпуск библиотеки Libadwaita 1.3, включающей набор компонентов для стилевого оформления интерфейса пользователя, соответствующего рекомендациям GNOME HIG (Human Interface Guidelines). Библиотека включает в себя готовые виджеты и объекты для построения приложений, соответствующих общему стилю GNOME, интерфейс которых может адаптивно подстраиваться под экраны любого размера. Код библиотеки написан на языке Си и распространяется под лицензией LGPL 2.1+.

Библиотека libadwaita используется в сочетании с GTK4 и включает компоненты используемой в GNOME темы оформления Adwaita, которые были вынесены из GTK в отдельную библиотеку. Вынос элементов визуального оформления GNOME в отдельную библиотеку позволяет развивать необходимые для GNOME изменения отдельно от GTK, что даёт возможность разработчикам GTK сосредоточиться на базовых вещах, а разработчикам GNOME более быстро и гибко продвигать необходимые для себя изменения стилевого оформления, не затрагивая сам GTK.

В библиотеку входят типовые виджеты, охватывающих различные элементы интерфейса, такие как списки, панели, блоки редактирования, кнопки, вкладки, формы поиска, диалоговые окна и т.п. Предложенные виджеты позволяют создавать универсальные интерфейсы, которые органично функционируют как на крупных экранах ПК и ноутбуков, так и на небольших сенсорных экранах смартфонов. Интерфейс приложений динамически меняется в зависимости от размера экрана и доступных устройств ввода. Библиотека также включает набор стилей Adwaita, приводящих внешний вид в соответствие с рекомендациями GNOME, без необходимости выполнения ручной адаптации.

Основные изменения в libadwaita 1.3:

  • Реализован виджет AdwBanner, который можно использовать вместо GTK-виджета GtkInfoBar для отображения окон-баннеров, содержащих заголовок и одну необязательную кнопку. Содержимое виджета трансформируется в зависимости от размера, а при показе и скрытии может применяться анимация.
  • Добавлен виджет AdwTabOverview, предназначенный для наглядного обзора вкладок или страниц, показываемых при помощи класса AdwTabView. Новый виджет можно использовать для организации работы с вкладками на мобильны устройствах без создания собственной реализации переключателя.
  • Добавлен виджет AdwTabButton для отображения кнопок с информацией о числе открытых вкладок в AdwTabView, которые могут использоваться на мобильном устройстве для открытия режима обзора вкладок.
  • Для виджетов AdwViewStack, AdwTabView и AdwEntryRow реализована поддержка средств для людей с ограниченными возможностями.
  • В класс AdwAnimation добавлено свойство для игнорирования отключения анимации в системных настройках.
  • В классе AdwActionRow появилась возможность выделения субтитров.
  • В класс AdwExpanderRow добавлены свойства title-lines и subtitle-lines.
  • В класс AdwEntryRow по аналогии с GtkEntry добавлен метод grab_focus_without_selecting().
  • В класс AdwMessageDialog по аналогии с GtkAlertDialog добавлен метод async choose().
  • В класс AdwTabBar добавлены вызовы API, связанные с интерфейсом drag-n-drop.
  • В классе AdwAvatar обеспечено корректное масштабирование изображений.
  • Добавлена возможность использования тёмного стиля и высококонтрастного режима при работе на платформе Windows.
  • Выделенные элементы списков и сеток теперь подсвечиваются цветом, применяемым для выделения активных элементов (accent).

Источник: https://www.opennet.ru/opennews/art.shtml?num=58822 Источник.