Выпуск библиотеки 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 для отображения окон-баннеров, содержащих заголовок и одну необязательную кнопку. Содержимое виджета трансформируется в зависимости от размера, а при показе и скрытии может применяться анимация.

    CFD0C5CECEC5D4_1679251641.png

  • Добавлен виджет AdwTabOverview, предназначенный для наглядного обзора вкладок или страниц, показываемых при помощи класса AdwTabView. Новый виджет можно использовать для организации работы с вкладками на мобильны устройствах без создания собственной реализации переключателя.

    CFD0C5CECEC5D4_1679251690.pngCFD0C5CECEC5D4_1679251677.png

  • Добавлен виджет AdwTabButton для отображения кнопок с информацией о числе открытых вкладок в AdwTabView, которые могут использоваться на мобильном устройстве для открытия режима обзора вкладок.

    CFD0C5CECEC5D4_1679251722.png

  • Для виджетов 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).



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

© OpenNet