LINUXTALKS.CO

Доступен графический тулкит GTK 4.12

 

L


0

0

После пяти месяцев разработки опубликован релиз многоплатформенного тулкита для создания графического интерфейса пользователя - GTK 4.12.0. GTK 4 развивается в рамках нового процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложения из-за изменения API в очередной ветке GTK.

В конце года планируется сформировать экспериментальную ветку 4.90, в которой будет развиваться функциональность для будущего выпуска GTK5. В ветку GTK5 будут включены изменения нарушающие совместимость на уровне API, например, связанные с переводом в разряд устаревших некоторых виджетов, таких как старый диалог выбора файлов. Также обсуждается возможность прекращения в ветке GTK5 поддержки протокола X11 и оставления возможности работы только с использованием протокола Wayland.

Среди наиболее заметных улучшений в GTK 4.12:

  • Добавлен интерфейс GtkSectionModel для группировки элементов списка в секции. Поддержка разделения на секции добавлена в большинстве виджетов для вывода списков, включая GtkDropDown (выпадающее меню), GtkListView (список элементов) и GtkColumnView (многостолбцовый список).
  • В класс Gtk.FileLauncher добавлено свойство always-ask для показа диалога выбора приложения для открытия файла.
  • Обеспечена автоматическая установка параметров шрифта (gtk-hint-font-metrics) на основе выставленного коэффициента масштабирования. Изменение позволило улучшить отрисовку шрифтов в приложениях, поставляемых в формате flatpak.
  • Для Wayland реализована возможность заморозки (suspend) состояния окна. Решены проблемы при использовании кнопок стилуса в окружениях на базе Wayland. Решены проблемы с Drag&Drop. Добавлена поддержка протокола fractional-scale, позволяющего использовать нецелые значения масштаба. Задействован протокол "viewporter", позволяющий клиенту выполнять действия по масштабированию и обрезанию краёв поверхности на стороне сервера. Для сборки с поддержкой Wayland теперь необходимо наличие пакета wayland-protocols как минимум версии 1.31.
  • Добавлена новая утилита gtk4-rendernode-tool для отрисовки узлов сцены при помощи GskRenderer.
  • В интерфейсе GtkFileChooser по умолчанию включён режим сортировки, в первую очередь показывающий каталоги, а уже потом файлы. Обеспечена работа столбцов с местоположением, датой и временем.Добавлена обработка ссылок WebDav в строке с файловыми путём.
  • В виджетах GtkLabel и GtkLinkButton возвращена поддержка URI "file://\".
  • В виджетах GtkListView, GtkColumnView и GtkGridView улучшена обработка смены фокуса ввода и предложены новые свойства "::tab-behavior" и "GtkListItem::focusable". Добавлен класс GtkColumnViewCell для представления элементов в ячейке. В GtkColumnView добавлена поддержка "фабрик строк" (row factories) для генерации виджета ColumnViewCell для каждого столбца и каждого видимого элемента (в ячейке элементы показываются вместе в форме строки).
  • Значительно расширены средства для людей с ограниченными возможностями. Соответствующие изменения внесены в виджеты GtkButton, GtkPasswordEntry, GtkFontChooserDialog, GtkColorChooserDialog, GtkShortcutsWindow, GtkMenuButton, GtkAboutDialog, GtkFileChooserDialog, GtkStackSidebar, GtkStackSwitcher, GtkMediaControls, GtkColorDialogButton, GtkDropDown, GtkInfoBar, GtkNotebook, GtkPrintUnixDialog, GtkModelButton.
  • В режим инспектирования (GTK inspector) добавлена новая секция "Accessibility" и реализован интерфейс для выявления проблем, которые могут возникнуть у людей с ограниченными возможностями. Расширена информация, показываемая во вкладке a11y. Добавлены дополнительные сведения, специфичные для Wayland.
  • Улучшена поддержка графического API Vulkan. Добавлена возможность задействования Vulkan для сглаживания градиентов. Реализована поддержка разных форматов изображений и добавлена возможность повтора (redo) загрузки изображения. Добавлен кэш для pipeline-операций и переработано кэширование глифов. Добавлена поддержка нецелых значений при масштабировании.
  • В движке отрисовки на базе OpenGL реализован API GdkGLTextureBuilde для создания текстур. Предоставлена возможность настройки областей обновления текстур.
  • В библиотеке GDK, предоставляющей прослойку между GTK и графической подсистемой, реализована поддержка загрузки и сохранения текстур с прозрачностью и палитрой в оттенках серого. Реализована поддержка нецелых значений масштаба. При использовании Wayland нецелое масштабирование используется при сборке с cairo или OpenGL при указании опции GDK_DEBUG=gl-fractional.
  • В библиотеке GSK (GTK Scene Kit), предоставляющей возможности отрисовки графических сцен через OpenGL и Vulkan, при рендеринге через OpenGL добавлена поддержка текстур с прозрачностью и палитрой в оттенках серого. Улучшен экспериментальный код для рендеринга при помощи API Vulkan. Добавлен параметр GSK_MAX_TEXTURE_SIZE для ограничения размера текстур. Повышена эффективность работы с текстурами.
  • В виджет GtkCenterBox добавлено свойство shrink-center-last для сжатия центрального виджета в последнюю очередь, когда сжатие уже применено к остальным дочерним виджетам. В GtkButton и GtkMenuButton добавлено свойство can-shrink, разрешающее сжатие кнопок до размера, меньше, чем исходный размер содержимого кнопки.
  • В видежете GtkBox добавлена поддержка направляющих в вертикальной ориентации.
  • В движок тем оформления для некоторых виджетов добавлены отдельные классы стилей. Из библиотеки Adwaita перенесена поддержка стиля ".boxed-list". Добавлена возможность отображения второстепенных изображений в оттенках серого.
  • Поведение клавиши backspace в классе GtkTextView унифицировано с классом GtkEntry.
  • В виджеты для работы со списками добавлен API scroll_to, для прокрутки в указанную позицию.
  • В утилите gtk4-node-editor улучшено масштабирование, для текстур обеспечено сохранение коэффициента соотношения сторон, упрощено редактирование узлов.
  • В реализацию механизма Drag-and-Drop добавлен сигнал GdkDragSurface::compute-size для передачи сведений об изменении размера перемещаемой области.
  • Переведены в разряд устаревших функции:
  • gtk_css_provider_load_from_data
  • gdk_wayland_toplevel_unexport_handle
  • gdk_pixbuf_get_from_surface
  • gdk_pixbuf_get_from_texture
  • gtk_image_new_from_pixbuf
  • gtk_image_set_from_pixbuf
  • gtk_picture_new_for_pixbuf
  • gtk_picture_set_pixbuf
  • gtk_widget_translate_coordinates
  • gdk_surface_create_similar_surface

// cc-by opennet.ru
// converted with crypt’s opennet autoreposter

>>> Подробности

★★☆☆☆

реализован интерфейс для выявления проблем, которые могут возникнуть у людей с ограниченными возможностями.

для людей с нормальными возможностями только все меньше делается

crypt    
★★☆☆☆
FreeBSD / Chrome

Пользуюсь этой ебало́й только в виде готовых программ, написаных на этой ебале́.

Не нужно. Есть культи.

deep-purple    
★★★★★★★★★★
Android / Firefox

графического интерфейса пользователя - GTK 4.12.0

Графический интерфейс для сек. меньшинств. Короче, для извращенцев.

odalist    
★★★★★★★
FreeBSD / Firefox
Ответ на: комментарий от deep-purple

Полупроприетарный комбайн, который пытается работать везде, а в результате не работает нормально нигде.

sorrow    
★★★★★★★★★★★
Linux / Firefox
Ограничение на отправку комментариев: только для зарегистрированных пользователей, score>=90