Вышел графический тулкит GTK 4.20

от автора

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

По информации OpenNET, основные изменения и доработки в GTK 4.20:

  • для поддержки методов ввода задействован Wayland‑протокол text‑input. Для работы с композитными серверами без поддержи данного протокола можно вручную выставить переменную окружения «GTK_IM_MODULE=simple», возвращающую поддержку стиле X11 compose‑последовательностей и клавиш для ввода диакритических знаков;

  • добавлена поддержка Wayland‑протокола wl_seat_v10 и обработки на стороне сервера событий повторного нажатия, генерируемых при удержании клавиши;

  • при использовании Wayland добавлена поддержка обработки ограничений операций с краями поверхности верхнего уровня (xdg‑toplevel edge constraint). Возможность позволяет композитному менеджеру информировать Wayland‑клиентов об имеющихся ограничениях, например, о том, могут ли окна изменять свои размеры или нет;

  • лобавлена поддержка Wayland‑протокола «tablet‑v2» для организации ввода с графических планшетов;

  • улучшена обработка прокрутки при использовании Wayland;

  • для привязки пиктограммы к окнам задействован Wayland‑протокол xdg‑toplevel‑icon;

  • проведена чистка и упрощение всех символьных пиктограмм и ресурсов тем оформления, которые теперь могут быть обработаны встроенным парсером формата SVG. Прекращена поставка символьных пиктограмм и ресурсов тем в формате PNG;

  • расширены возможности по созданию тем оформления на базе CSS. Добавлена поддержка медиа‑запросов для цветовой схемы. Реализована функция light‑dark(). Улучшена настройка градиентов. Переработан код для отображения тени для текста;

  • улучшена обработка полей ввода паролей с учётом средств для людей с ограниченными возможностями;

  • реализована возможность вызова приложения gnome‑papers для предпросмотра вывода на печать. Добавлена поддержка xdg‑портала для организации вывода на печать;

  • в утилиты для разработчиков добавлены компоненты для автодополнения ввода в bash. В утилиту gtk4-rendernode‑tool добавлена опция «‑offload». В утилите инспектирования обеспечен вывод информации об операционной системе и улучшена визуализация событий. В gtk4-path‑tool добавлена поддержка показа пересечений путей и реализованы возможности для работы в интерактивном режиме. В gtk4-demo добавлены демонстрации «Path Explorer», «Sweep» и «Image Filtering»;

  • в отладчик добавлена комбинация Super+F для сохранения одного кадра. Добавлена режим GTK_DEBUG=touch‑ui для тестирования интерфейсов для сенсорных экранов;

  • в редактор CSS добавлены элементы для изменения цветовой схемы и контраста;

  • в библиотеке GSK (GTK Scene Kit), предоставляющей возможности отрисовки графических сцен через OpenGL и Vulkan, добавлен API gsk_path_foreach_intersection для вычисления пересечений путей. Улучшена отрисовка текста. Добавлены оптимизации производительности, например, реализован кэш масок для заливки. Предложены концепции загружаемых, не загружаемых и субсемплированных изображений;

  • в библиотеке GDK, предоставляющей прослойку между GTK и графической подсистемой, улучшена обработка изменения размера окон и добавлена поддержка относительных координат при работе с планшетами;

  • на платформе Android реализована корректная поддержка мультитач и начальная поддержка IME (Input Method Editor);

  • для платформы Windows добавлен API для работы с текстурами через D3D12. Улучшена поддержка WGL. Задействованы D3D11/D3D12 и DirectComposition;

  • добавлена поддержка многослойных форматов текстур;

  • в виджете GtkVideo реализована поддержка форматов YUV. Бэкенд gstreamer портирован на использование GskPlay. Улучшена поддержка форматов с субсемплингом. Добавлена поддержка программных декодеров для форматов с глубиной цвета 10, 12 и 16 бит;

  • класс GtkApplication переведён на использование порталов xdg вместо обращения к менеджеру сеансов;

  • в класс GtkBuilder добавлена поддержка трансляции выражений с константами;

  • в классе GtkIconTheme разрешено перечёркивание символьных пиктограмм и добавлен парсер для SVG‑файлов. В число обязательных зависимостей переведена библиотека librsvg;

  • для работы теперь требуется поддержка wayland‑protocols 1.44 и наличие расширений wl_output‑v2 и xdg_output‑v3;

  • объявлены устаревшими бэкенд Broadway (отрисовка в окне web‑браузера), API Pixbuf, свойство GtkApplication:register‑session и настройка gtk‑application‑prefer‑dark.


ссылка на оригинал статьи https://habr.com/ru/articles/942372/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *