Випуск бібліотеки Libadwaita 1.2 для створення інтерфейсів у стилі GNOME

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

Випуск бібліотеки Libadwaita 1.2 для створення інтерфейсів у стилі GNOME

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

До бібліотеки входять типові віджети, що охоплюють різні елементи інтерфейсу, такі як списки, панелі, блоки редагування, кнопки, вкладки, форми пошуку, діалогові вікна тощо. Запропоновані віджети дозволяють створювати універсальні інтерфейси, що органічно функціонують як на великих екранах ПК та ноутбуків, так і на невеликих сенсорних екранах смартфонів. Інтерфейс програм динамічно змінюється залежно від розміру екрана та доступних пристроїв введення. Бібліотека також включає набір стилів Adwaita, що приводять зовнішній вигляд у відповідність до рекомендацій GNOME, без необхідності виконання ручної адаптації.

Основні зміни в libadwaita 1.2:

  • Додано віджет Adw.EntryRow, призначений для використання як елемент списків. Віджет надає поле введення та заголовок з можливістю прикріплення додаткових віджетів перед та після поля введення (наприклад, кнопки підтвердження введення або індикатор того, що дані можна редагувати). Додатково доступний варіант Adw.PasswordEntryRow, розрахований на введення паролів.
    Випуск бібліотеки Libadwaita 1.2 для створення інтерфейсів у стилі GNOME
  • Додано віджет Adw.MessageDialog для виведення діалогу з повідомленням або питанням. Перегляд є розширеною заміною Gtk.MessageDialog, яка може підлаштовувати компонування елементів до розміру вікна. Наприклад, у широких вікнах кнопки можуть виводитися в одному рядку, а у вузьких — розбиватися на кілька колонок. Іншою відмінністю є те, що віджет не є дочірнім класом GtkDialog і надає повністю новий API, не прив'язаний до певних типів кнопок GtkResponseType (в Adw.MessageDialog обробка всіх дій виконується додатком), що спрощує вбудовування інших віджетів за допомогою якості extra-child стилі для заголовка та основного тексту.
    Випуск бібліотеки Libadwaita 1.2 для створення інтерфейсів у стилі GNOME
  • Додано віджет Adw.AboutWindow для виведення вікна з інформацією про програму. Віджет замінює Gtk.AboutDialog і відрізняється застосуванням адаптивного компонування елементів та розширеними допоміжними секціями, такими як список змін, вікно з подяками, інформація про ліцензії сторонніх компонентів, посилання на інформаційні ресурси та дані для спрощення налагодження.
    Випуск бібліотеки Libadwaita 1.2 для створення інтерфейсів у стилі GNOMEВипуск бібліотеки Libadwaita 1.2 для створення інтерфейсів у стилі GNOME
  • Розширено можливості віджетів Adw.TabView та Adw.TabBar, у яких перероблено механізм обробки гарячих клавіш для вирішення проблеми з роботою комбінацій, що перетинаються з обробниками GTK4 (наприклад, Ctrl+Tab). У новій версії також запропоновано властивість для встановлення підказок для індикаторів і кнопок вкладок.
  • Додано клас Adw.PropertyAnimationTarget для спрощення анімації властивостей об'єктів.
  • Значно змінено стиль панелі вкладок (Adw.TabBar) — більш явно виділено активну вкладку та збільшено контрастність елементів у варіанті для темного оформлення.
    Випуск бібліотеки Libadwaita 1.2 для створення інтерфейсів у стилі GNOME
    Випуск бібліотеки Libadwaita 1.2 для створення інтерфейсів у стилі GNOME
  • Зменшена висота вертикальних розділювачів, що дозволило в панелі із заголовком і рядком пошуку позбавиться від відволікаючих світлих кордонів на користь темних кордонів, що задаються за допомогою @headerbar_shade_color, і додати стиль фону, що поєднується з панелями в заголовку.
  • Оголошено застарілим клас стилю ".large-title", замість якого слід використовувати ".title-1".
  • Зменшено відступи у віджеті Adw.ActionRow для наближення його зовнішнього вигляду до панелей та віджету Adw.EntryRow.
  • У віджетах Gtk.Actionbar і Adw.ViewSwitcherBar використані самі стилі, що застосовуються в панелях заголовка, пошуку та вкладок.
    Випуск бібліотеки Libadwaita 1.2 для створення інтерфейсів у стилі GNOME

Джерело: opennet.ru

Додати коментар або відгук