ປ່ອຍຫ້ອງສະໝຸດ Libadwaita 1.0 ເພື່ອສ້າງສ່ວນຕິດຕໍ່ແບບ GNOME

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

ປ່ອຍຫ້ອງສະໝຸດ Libadwaita 1.0 ເພື່ອສ້າງສ່ວນຕິດຕໍ່ແບບ GNOME

Библиотека libadwaita используется в сочетании с GTK4 и включает компоненты используемой в GNOME темы оформления Adwaita, которые были вынесены из GTK в отдельную библиотеку. Код libadwaita основан на библиотеке libhandy и позиционируется как идущий на смену данной библиотеке, которая была изначально создана для построения адаптивного интерфейса в мобильных платформах на базе технологий GNOME, и была отточена в GNOME-окружении Phosh для смартфона Librem 5.

ຫ້ອງສະຫມຸດປະກອບມີ widget ມາດຕະຖານທີ່ກວມເອົາອົງປະກອບການໂຕ້ຕອບຕ່າງໆ, ເຊັ່ນ: ລາຍຊື່, ແຜງ, ບລັອກການແກ້ໄຂ, ປຸ່ມ, ແຖບ, ແບບຟອມຄົ້ນຫາ, ກ່ອງໂຕ້ຕອບ, ແລະອື່ນໆ. widgets ທີ່ສະເຫນີອະນຸຍາດໃຫ້ທ່ານສ້າງການໂຕ້ຕອບແບບທົ່ວໆໄປທີ່ເຮັດວຽກຢ່າງບໍ່ຢຸດຢັ້ງທັງໃນຫນ້າຈໍ PC ແລະຄອມພິວເຕີຂະຫນາດໃຫຍ່, ແລະໃນຫນ້າຈໍສໍາຜັດຂະຫນາດນ້ອຍຂອງໂທລະສັບສະຫຼາດ. ການໂຕ້ຕອບຂອງແອັບພລິເຄຊັນຈະປ່ຽນແປງແບບເຄື່ອນໄຫວຂຶ້ນກັບຂະໜາດໜ້າຈໍ ແລະອຸປະກອນປ້ອນຂໍ້ມູນທີ່ມີຢູ່. ຫ້ອງສະຫມຸດຍັງປະກອບມີຊຸດຂອງຮູບແບບ Adwaita ທີ່ນໍາເອົາຮູບລັກສະນະທີ່ສອດຄ່ອງກັບຄໍາແນະນໍາຂອງ GNOME ໂດຍບໍ່ຈໍາເປັນຕ້ອງມີການປັບຕົວດ້ວຍຕົນເອງ.

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

Основное недовольство разработчиков сторонних окружений касается проблем с переопределением цветов элементов интерфейса, но разработчики libadwaita работают над предоставлением API для гибкого управления цветами, которое войдёт в состав одного из следующих выпусков. Из нерешённых проблем также называется корректная работа виджетов управления жестами только на сенсорных экранах — для тачпадов корректная работа подобных виджетов будет обеспечена позднее, так как требует внесения изменений в GTK.

Основные изменения в libadwaita по сравнению с libhandy:

  • Полностью переработанный набор стилей. Используемая в GNOME тема оформления Adwaita вынесена из состава GTK и модернизирована, а старая тема оформления зафиксирована в GTK по именем «Default». Из наиболее заметных отличий libadwaita от темы «Default» отмечается изменение оформления заголовков окон.
    ປ່ອຍຫ້ອງສະໝຸດ Libadwaita 1.0 ເພື່ອສ້າງສ່ວນຕິດຕໍ່ແບບ GNOME
  • Изменены механизмы привязки цветов к элементам и смены цветов во время работы приложения (проблемы связаны с тем, что libadwaita перешёл на SCSS, который требует пересборки для замены цвета). Для изменения цветов элементов, что например, требуется в GNOME Web для пометки перехода в режим инкогнито, применён метод, предложенный в elementary OS и основанный на задании фиксированного списка именованных цветов через «@define-color». При этом цвета многих элементов интерфейса теперь вычисляются относительно базового цвета текста и меняются автоматически, что не позволяет приложениям полностью контролировать цветовую схему (разработчики работают над устранением данного ограничения).
    ປ່ອຍຫ້ອງສະໝຸດ Libadwaita 1.0 ເພື່ອສ້າງສ່ວນຕິດຕໍ່ແບບ GNOMEປ່ອຍຫ້ອງສະໝຸດ Libadwaita 1.0 ເພື່ອສ້າງສ່ວນຕິດຕໍ່ແບບ GNOME
  • Увеличено качество отображения при использовании тёмных тем оформления за счёт более контрастного выделения элементов. Акцентирующий цвет (accent) сделан более ярким, а также добавлен ещё один цвет для выделения, который может меняться для тёмной и светлой тем оформления.
    ປ່ອຍຫ້ອງສະໝຸດ Libadwaita 1.0 ເພື່ອສ້າງສ່ວນຕິດຕໍ່ແບບ GNOMEປ່ອຍຫ້ອງສະໝຸດ Libadwaita 1.0 ເພື່ອສ້າງສ່ວນຕິດຕໍ່ແບບ GNOME
  • Добавлена большая порция новых классов стилей для использования в приложениях. Например, «.pill» для больших скруглённых кнопок, возможность использования «.flat» в GtkHeaderBar, «.accent» для выставления цвета акцентирования в метках, «.numeric» для табличной типографики, «.card» для использования фона и тени как в списках.
    ປ່ອຍຫ້ອງສະໝຸດ Libadwaita 1.0 ເພື່ອສ້າງສ່ວນຕິດຕໍ່ແບບ GNOME
  • Большие монолитные файлы SCSS разделены на коллекцию из мелких файлов со стилями.
  • Добавлен API для настройки тёмного стиля оформления и режима высокой контрастности.
    ປ່ອຍຫ້ອງສະໝຸດ Libadwaita 1.0 ເພື່ອສ້າງສ່ວນຕິດຕໍ່ແບບ GNOME
  • Переработана документация, для генерации которой теперь применяется инструментарий gi-docgen.
    ປ່ອຍຫ້ອງສະໝຸດ Libadwaita 1.0 ເພື່ອສ້າງສ່ວນຕິດຕໍ່ແບບ GNOME
  • Добавлен API для анимации, которую можно использовать для создания переходных эффектов при замене одного состояния на другое, а также для создания пружинящих эффектов (spring animation).
    ປ່ອຍຫ້ອງສະໝຸດ Libadwaita 1.0 ເພື່ອສ້າງສ່ວນຕິດຕໍ່ແບບ GNOME
  • Для вкладок на базе AdwViewSwitcher добавлена возможность вывода меток с числом непросмотренных уведомлений.
    ປ່ອຍຫ້ອງສະໝຸດ Libadwaita 1.0 ເພື່ອສ້າງສ່ວນຕິດຕໍ່ແບບ GNOME
  • Добавлен класс AdwApplication (подкласс GtkApplication) для автоматической инициализации Libadwaita и загрузки стилей.
  • Добавлена подборка виджетов для упрощения типовых операций: AdwWindowTitle для выставления заголовка окна, AdwBin для упрощения создания дочерних подклассов, AdwSplitButton для комбинированных кнопок, AdwButtonContent для кнопок с пиктограммой и меткой.
  • Проведена чистка API.

ແຫຼ່ງຂໍ້ມູນ: opennet.ru

ເພີ່ມຄວາມຄິດເຫັນ