Профиль: Аноним (вход | регистрация) не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 обязательно


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:01, 12/09/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Добавлена возможность привязки (snapping) содержимого к границам физических пикселей устройства

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

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

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

     
     
  • 2.8, sage (??), 12:05, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Кажется это работа дисплей сервера, а не гуи-тулкита уровня аппликашки.

    И как же композитор должен перестраивать готовый растр, у которого пискельная сетка не соответствует сетке дисплея?
    Может быть как раз у приложения должен быть способ выдать правильный растр сразу?

     
     
  • 3.14, Аноним (14), 13:54, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Можно пояснить, как это пискельная сетка композитора не соответствует сетке дисплея?
     
     
  • 4.20, 14yoexpert (?), 14:22, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ести котелок хоть иногда пробовать использовать по назначению то можно вспомнить про масштабирование и логические размеры
     
  • 3.18, Укропатолог (?), 14:13, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Пипец, ты не ведаешь что несешь...
     
  • 2.17, Укропатолог (?), 14:13, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Кажется это работа дисплей сервера, а не гуи-тулкита уровня аппликашки.

    Как всегда разброд и шатание.
    Не знаю почему, но всё что GUI из opensource - исключительно вырвиглазное.

     
  • 2.27, Кирилл (??), 14:53, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы не поняли главной концепции вайланда, как единственной целевой платформы гтк4+. Нужно передать максимум геморроя на сторону кого нибудь другого чтобы на любой провокационный вопрос отвчать "это не наше дело, виноват кто то другой".
     

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

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

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

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

     
  • 2.6, Аноним (6), 11:45, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Про переключения языка на отпускание сочетания я так смотрю уже никто даже и не заикается.
     
     
  • 3.10, sage (??), 12:13, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так о том и речь. Не понятно только почему поведение XKB должны исправлять в GTK.
     
     
  • 4.16, Аноним (14), 13:59, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вроде, как-то n00b говорил, что в Иксах с отпусканием всё в порядке, это вот в KDE ему этого не хватает.
     
  • 2.28, Кирилл (??), 14:55, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Какая мелочь...
    Может для начала попросить их реализовать темы оформления и нормальную софтовую отрисовку, которая не тормозит всегда и везде?
     

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

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

     
  • 1.7, Аноним (6), 11:46, 12/09/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Вот что происходит когда ос не имеет ни четкой отлаженной архитектуры ни даже единого UX.
     
     
  • 2.9, Аноним (9), 12:06, 12/09/2026 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 3.26, Аноним (26), 14:51, 12/09/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.13, Аноним (13), 13:16, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это вы про винду, у которой часть интерфейса некоторых утилит с нулевых не обновлялась?
     
     
  • 3.24, Аноним (26), 14:34, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Берём приложение 20 летней давности от вин. Запускаем - выглядит более менее в одном стиле.
    Берём линух....
    Во первых оно не запускается.
    Во вторых попытка пересобрать останавливается из-за сломаного опенсурс гуя. Попытка поставить старый фреймворк натыкается на проблемы со сборкой.
    Всё порешали, запускаем старое. И... Оно выглядит черт пойми как.

    Но конечно же в другой системе всё по другому - плохо, очень плохо.
    Прямо неуловимо напоминает анекдот кто чем гордится и последними словами: а у американцев 26см.

     
  • 2.15, Аноним (14), 13:56, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какая именно ОС ? А то, вроде как, графические тулкиты для разных ОС позиционируются.
     
  • 2.29, Смузихеб забывший пароль (?), 15:03, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    то ли дело академические академики, вот у них-то всё по науке )
     

  • 1.11, Аноним (11), 12:18, 12/09/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А про GTK5 новости заглохли? Помню, в 2023 обещали начать разрабатывать, и с тех пор тишина.
     
  • 1.12, sunjob (ok), 12:23, 12/09/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > что значительно улучшило качество отрисовки при использовании дробного масштабирования

    а это, случайно, не ломает отрисовку шрифта?

     
     
  • 2.19, Аноним (19), 14:15, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    О, не сомневайся. Поскольку всеми шрифтовыми либами заведуют гномеры, у меня уже были довольно эпические баги с отрисовкой шрифтов (в программах, которые всегда работали).
     
  • 2.21, 14yoexpert (?), 14:25, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да нет, именно благодаря этому самому шрифты в оффотпике выглядят не как гуано немного наплевав на полет художественной мысли автора самого шрифта независимо от ppi экрана
     

  • 1.22, Tita_M (ok), 14:28, 12/09/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто знает, они вернули отрисовку через OpenGL 2.1/OpenGL ES 2.0? Были новости, что в GTK 4.18 или 4.16 удалили этот способ. А то довольно много старых встроек и карточек ещё тянут интерфейс GTK 4 программ, но теперь владельцы таких устройств остались без аппаратного ускорения интерфейса.
     
     
  • 2.23, 14yoexpert (?), 14:30, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не думаю, настолько старье что ни в каком виде не может в вулкан и так бы гнум не потянуло бы
     
     
  • 3.25, Tita_M (ok), 14:41, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Я недавно пробовал ливку Ubuntu 26.04.1 на старом ноутбуке на котором у встройки только, по моему, OpenGL 2.1 и интерфейс Гнома хорошо работал. Да, программы медленно запускались, но каких-то тормозов отрисовки я не заметил, правда разрешение чуть больше HD, но всё же. Вот я и думаю, может они вернули ускорение для старых видях в новых версиях или это всё таки патченный Убунтой GTK?
     
     
  • 4.30, Malinovsky (?), 15:27, 12/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Настолько старое железо должно быть из нулевых годов. Если оно не может на этот случай есть Plasma. Там вроде есть еще старый вариант OpenGL.
    Но у плазмы свои приколы. Вот при выборе опции Степень хинтинга или Тип субпиксельной отрисовки в разделе Текст и Шрифты при выборе опций оно там показывает такое, что офигеваешь. Сами что хотите думайте как реагировать на фразу в описании:

    Широкая электрификация южных губерний даст мощный толчок подъему сельского хозяйства.

     

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



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

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