Незаметное, но очень важное изменение в новой версии libadwaita. Теперь все диалоговые окна будут использовать Adw.Dialog. Что это значит?
– Красивые анимации;
– Закрытие окна через клавишу Esc по-умолчанию.
– Закрытие окна со свайпом и работа с диалогом как с button sheets;
– Теперь диалог не может быть меньше окна-предка, из-за чего разработчики обязаны учитывать это. Никаких окон, уходящих за края экрана и никаких внештатных ситуаций.
– Диалоги считаются частью окна (даже скриншоты окна теперь берут всё окно с диалогом). Никаких больше ситуаций, в которых диалоги считаются отдельным окном на мобильных устройствах и их нужно закрывать через обзор приложений.
– Можно не таскать всюду основное окно, в Adw.Dialog.present() указать любой виджет окна, и диалог возьмет окно, которое считается top-level виджетом для него.
– Нужно учитывать размеры основного окна (см. выше) и адаптировать содержимое диалога под устройство пользователя.
@alt_gnome
@alt_gnome_chat
#GNOME46 #GTK #Development
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышла новая версия языка разметки интерфейсов GTK приложений Blueprint.
Adw.Dialog
, Adw.AlertDialog
, Adw.AboutDialog
, Adw.PreferencesDialog
.Также добавлены действия в IDE:
— Поддержку символов (
Ctrl+Shift+O
в VSC);— Возможность перейти к определению при ошибке;
— Быстрое действие для добавление отсутствующих пространств имён.
@alt_gnome
@alt_gnome_chat
#GTK #Development
Please open Telegram to view this post
VIEW IN TELEGRAM
Cambalache — приложение для создания GTK3/4 интерфейсов. Крайне интересный проект как минимум потому, что интерфейс параметров виджетов приложение строит по gir (GObject Introspection), из-за чего разработчику при повышении версии нужно всего лишеь повысить версию используемого Sdk, кстати о нём и других изменениях...
— Версия gnome.Sdk в новой версии была повышена до 46;
— Приложение перешло на GTK4, пусть по внешнему виду и не скажешь..;
— Добавлено действие контекстного меню "Добавить виджет-родитель";
— Добавлена поддержка "фрагментов" пользовательских виджетов;
— Свойство
AdwSplitButton.dropdown-tooltip
помечено как переводимое.Приложение развивается, хотя всё ещё далеко до завершенного состояния. Приложение часто вылетает и не умеет сохранять интерфейс в .blp формате, только в .ui.
Ставьте
Всем пис ✌️
@alt_gnome
@alt_gnome_chat
#GTK #Development
Please open Telegram to view this post
VIEW IN TELEGRAM
org.gnome.Sdk//master
.Gtk.ListBox
.Он позволяет сделать со свои содержимым:
— выделение виджетов;
— фильтрацию;
— сортировку;
— активацию (одинарным или двойным кликом по виджету);
— в целом удобное API для работы со списком объектов.
Но у него существуенный недостаток в рамках дизайна Adwaita — внешний вид. По-умолчанию он выглядит как на первом скриншоте. То есть список имеет фон, как и каждый элемент списка. Не очень красиво...
Однако libadwaita содержит css стиль для
Gtk.ListBox
— boxed-list
. Внешний вид списка с этим стилем можно видеть в любом окне настроек. Строки слипаются, углы списка скругляются, а цвета при наведении меняются постепенно.boxed-list-separate
. Он делает то же самое, что и boxed-list
, но делит строки между собой. Это больше напоминает, будто каждый элемент списка имеет css класс card
. Будет полезно для создания вертикального ряда кнопок. Кстати о кнопках...Появится новый виджет
Adw.ActionRow
— Adw.ButtonRow
. От обычной кнопки её отличает возможность поставить иконку как в начале надписи на кнопку, так и в конец.Также для
Adw.PreferencesGroup
будет доступно свойство separate-rows
для использования вышеописанного стиля для группы параметров.На этом всё, ждём подобные стилей для
Gtk.ListView
…Всем пис ✌️
@alt_gnome
@alt_gnome_chat
#GTK #Development
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
libadwaita
на новые переменные CSS, добавила –window-radius
, синхронизировала AdwComboRow
с изменениями в GtkDropDown
, добавила размер AdwApplicationWindow
по умолчанию (теперь он 360 на 200 пикселей, что может быть означает постепенное приближение к тайлингу в GNOME Shell), исправила некоторые ошибки фокусировки диалогового окна и улучшила стили диалогового окна оповещения в дополнение к различным другим исправлениям ошибок, рефакторингу и обзорам.Nautilus
, проведя некоторый рефакторинг, чтобы минимизировать дублирование кода между Nautilus
и средством выбора файлов, и внедрив адаптивную компоновку средства выбора файлов, следуя последним макетам.ostree
на sysupdate
, завершая работу над systemd
dbus сервисом sysupdate
и внедряя плагин sysupdate
в GNOME Software.Также небольшие изменения и багфиксы.
Всем пис ✌️
@alt_gnome
@alt_gnome_chat
#GTK #Development
Please open Telegram to view this post
VIEW IN TELEGRAM
libadwaita
теперь также использует их. Это означает, что приложения теперь могут использовать их вместо старых именованных цветов. Таким образом, теперь их можно переопределять для каждого виджета, а не глобально.Новые цвета описаны здесь — по большей части это просто изменение синтаксиса, а не доступных цветов - поскольку старые цвета все еще должны работать, мы не можем вносить более радикальные изменения до версии 2.0.
.error
, .warning
и .success
классы стилей теперь также меняют цвет акцента соответственно. Например, это означает, что выбираемая метка с классом стилей .error
также будет выделена красным цветом вместо синего (или акцентного цвета в системе)..opaque
класс стилей для кнопок устарел — вместо этого приложения могут просто использовать .suggested-action
и переопределять цвет акцента на нем. Это также изменит обводку при фокусе, и аналогично, на .destructive-action
кнопках теперь есть красная обводка фокуса.@accent_color
можно заменить на var(--accent-color)
, обратите внимание на тире в названиии вместо подчеркиваний. Смотрите документацию для получения дополнительной информации.Всем пис ✌️
@alt_gnome
@alt_gnome_chat
#GTK #Development
Please open Telegram to view this post
VIEW IN TELEGRAM