Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги |    ]

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

12.09.2026 09:56 (MSK)

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

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

  • Добавлена возможность привязки (snapping) содержимого к границам физических пикселей устройства, что значительно улучшило качество отрисовки при использовании дробного масштабирования на экранах с высокой плотностью пикселей (HiDPI). Для включения выравнивания размещения логических пикселей по границам физических пикселей преложена функция gtk_snapshot_set_snap().

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

  • Продолжено развитие встроенного движка отрисовки и разбора изображений в формате SVG, а также класса Gtk.Svg, позволяющего обойтись без внешних зависимостей при отрисовке векторных пиктограмм и ресурсов. В новой версии добавлен класс GtkSvgWidget, позволяющий отрисовывать изображения в формате SVG с интерактивными элементами, такими как <a> и <view>, непосредственно в приложении. Добавлена функция gtk_svg_set_stylesheet() для применения стилей к SVG-элементам.

    Для оторисовки всех пиктограмм в GTK применён класс GtkSvg. В виджете GtkSpinner задействованы анимированные SVG-изображения. Добавлены новые возможности, такие как фильтры feTurbulence, свойства текста dominant-baseline, baseline-shift, text-decoration, медиа-запросы в CSS и 3D-трансформации.

  • В GSK (GTK Scene Kit) добавлена поддержка отрисовки форматов изображений с 10-битным представлением цветовых каналов. Переработан механизм выделения памяти под кэш. Для исключения отрисовки за пределами видимой области задействованы маски отсечения (clip mask).
  • В виджетах GtkSpinner, GtkStack и GtkRevealer обеспечен учёт системных настроек для сокращения анимированных эффектов.
  • В бэкенде для работы в Wayland-окружениях реализована поддержка Wayland-протокола Text Input 3.2, стандартизирующего взаимодействие между композитным сервером и приложениями при передаче вводимого текста, обработке событий об изменении фокуса ввода и учёте специфики полей ввода (язык, выделение текста, тип контента).
  • Реализована возможность сохранения и восстановления сеансов, используя Wayland-протокол xdg-session-management, который предоставляет возможности для восстановления состояния и позиции окон прерванного сеанса, например, после аварийного завершения композитного сервера или приложения. В финальном релизе GTK 4.24 данная функциональность отключена и запланирована для активации в GTK 4.26.
  • В бэкенде для платформы Android реализована поддержка Android SDK 36 (Android 16). Для синхронизации кадров с вертикальной разверткой (vsync) задействован API Choreographer.
  • Добавлены функции gdk_display_get_prefer_vulkan() и gdk_display_set_prefer_vulkan() для управления включением в графическом бэкенде отрисовки интерфейса через API Vulkan.
  • Добавлена функция gtk_editable_set_input_interceptor() для перехвата ввода. Функция gtk_event_controller_key_forward() переведена в число устаревших.
  • Для класса GtkShortcutTrigger предложены функции gtk_alternative_trigger_newv, gtk_shortcut_trigger_create_with_aliases и gtk_shortcut_trigger_create_for_menu для обработки клавиатурных комбинаций с учётом продублированных клавиш (например, с цифрового блока клавиатуры).
  • В виджете GtkEntry реализовано открытие меню при долгом касании на сенсорном экране.
  • Переработан механизм поиска по мере ввода (type-to-search), который переведён с модели опроса приложением ("pull") на модель передачи событий ("push").
  • Добавлен класс GtkEnumList для вывода выпадающих списков.
  • Исправлены проблемы с выделением памяти в GtkList, GtkGrid и GtkColumnView.
  • Добавлена поддержка CSS-свойства font-width для указания промежуточной ширины шрифта в процентах.
  • Повышены требования к выпуску библиотеки Pango (необходим как минимум выпуск 1.58).


  1. Главная ссылка к новости (https://github.com/GNOME/gtk/r...)
  2. OpenNews: Представлен GTK2-NG, форк библиотеки GTK2
  3. OpenNews: Выпуск Cambalache 1.0, инструмента для разработки GTK-интерфейсов
  4. OpenNews: Доступен графический тулкит GTK 4.22 со встроенным движком отрисовки SVG
  5. OpenNews: Представлена библиотека Servo GTK для интеграции движка Servo с GTK-приложениями
  6. OpenNews: Выпуск библиотеки Libadwaita 1.8 для создания интерфейсов в стиле GNOME
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66259-gtk
Ключевые слова: gtk
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (5) RSS
  • 1, Аноним (1), 11:01, 12/09/2026 [ответить]  
  • –2 +/
    > Добавлена возможность привязки (snapping) содержимого к границам физических пикселей устройства

    Кажется это работа дисплей сервера, а не гуи-тулкита уровня аппликашки.

    > Добавлена поддержка CSS-свойства font-width...

    Проклятый веб-дев.

     
  • 2, Аноним (2), 11:26, 12/09/2026 [ответить]  
  • +/
    Лучше бы они исправили баг, которому сто лет в обед, из-за которого, на любой раскладке кроме латинской, ломаются сочетания клавиш с шифтом. Собсна из-за этого гном и использует супер+пробел, вместо альт+шифт. Ибо пока раскладка английская сочетание сработает, а вот с любой другой уже не переключишься.
     
     
  • 3, eugener (ok), 11:34, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Собсна из-за этого гном и использует супер+пробел

    Думаю не из-за этого, это глобальные веяния. У меня есть блютус-клава для планшета, так там на пробеле стоит иконка переключения раскладки, в связке с command или fn.

     
  • 5, sunjob (ok), 11:40, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > супер+пробел

    из макaки вытянули...

     

  • 4, sunjob (ok), 11:38, 12/09/2026 [ответить]  
  • +/
    > который пытается предоставить
    > который можно использовать не опасаясь, что каждые полгода придётся переделывать приложения из-за изменения

    ну браво, мама, танцуйте!

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить новость, Поддержать