После шести месяцев разработки запуск новая версия кроссплатформенного инструментария для создания графического пользовательского интерфейса, «ГТК 4.10.0».
Новая ветка GTK 4 разрабатывается в рамках нового процесса развивающий что вы пытаетесь предоставить разработчикам приложений стабильный и совместимый API на несколько лет, которым можно пользоваться, не опасаясь, что приложения нужно будет переделывать каждые полгода из-за изменений API в следующем GTK.
Основные новые возможности GTK 4.10
В этой новой версии GTK 4.10 подчеркивается, чтоДобавлены новые классы GtkColorDialog, GtkFontDialog, GtkFileDialog и GtkAlertDialog. с реализацией диалогов выбора цветов, шрифтов и файлов, показом предупреждений. новые опции отличается переходом на более согласованный API и сбалансированный, работающий в асинхронном режиме (GIO async). Новые диалоговые окна используют порталы Freedesktop (xdg-desktop-portal) везде, где это возможно и доступно, которые используются для предоставления доступа к ресурсам пользовательской среды из изолированных приложений.
Еще одна новинка, которая выделяется из новой версии, заключается в том, что добавлен новый бэкэнд CPDB (общий диалог печати), который предоставляет общие драйверы для использования в диалогах печати. Поддержка ранее использовавшегося бэкэнда печати lpr устарела.
в виджете GtkFileChooserWidget cС реализацией открытого диалога выбора файлов в приложениях, реализован режим представления содержимого каталогов в виде сети иконок. По умолчанию по-прежнему используется классический вид списка файлов, а в правой части панели появилась отдельная кнопка для переключения в режим значков.
Библиотека ГДК, который обеспечивает прослойку между GTK и графической подсистемой, предлагает структуру GdkTextureDownloader, которая используется для загрузки текстур в класс GdkTexture и может использоваться для преобразования различных форматов, улучшено масштабирование текстур с помощью OpenGL.
Кроме того, библиотека ГСК (GTK Scene Kit), обеспечивающий возможность рендеринга графических сцен через OpenGL и Vulkan, поддерживает узлы со скинами и настраиваемой фильтрацией масштабируемых текстур.
Также подчеркивается, что реализована поддержка новых версий расширений протокола Wayland, потому что был улучшен вывод в уведомлениях о запуске при использовании протокола "xdg-activation" и что были решены проблемы с размером курсора на экранах с высокой плотностью пикселей.
Из других изменений которые выделяются из новой версии:
- Класс GtkMountOperation был адаптирован для работы в средах, отличных от X11.
- В серверную часть Broadway добавлена поддержка модальных окон, позволяющая отображать вывод библиотеки GTK в окне веб-браузера.
- Класс GtkFileLauncher предлагает новый асинхронный API для замены gtk_show_uri.
- Улучшена обработка шаблонов в gtk-builder-tool.
- В виджет GtkSearchEntry добавлена поддержка отображения фиктивного текста, когда поле пусто и фокус ввода отсутствует.
- Класс GtkUriLauncher был добавлен для замены функции gtk_show_uri, которая используется для определения того, какое приложение запускать для отображения заданного URI или для выдачи ошибки при отсутствии контроллера.
- В класс GtkStringSorter добавлена поддержка нескольких методов «сопоставления», позволяющих сопоставлять и сортировать на основе значения символов (например, при наличии знака ударения).
- Устарела большая часть API и виджетов, которые решено не поддерживать в будущей ветке GTK5 и заменить аналогами, работающими в асинхронном режиме.
- Портирован на общедоступный интерфейс GtkAccessible, который позволяет подключать сторонние интерфейсные контроллеры для людей с ограниченными возможностями. Добавлен интерфейс GtkAccessibleRange.
- В macOS поддерживается перетаскивание (DND).
- В Windows улучшена интеграция с системными настройками.
- Унифицированный формат вывода отладки.
- Ограничение памяти для загрузчика изображений JPEG увеличено до 1 ГБ.
Наконец, если вам интересно узнать об этом больше, вы можете ознакомиться с подробностями По следующей ссылке.
Для тех, кому интересно, есть ответвление GTK3, называемое CTK, целью которого является сохранение всех тех функций, которые нужны классическому рабочему столу и которые были буквально загружены с GTK4.
Используется в десктопе CAFE (форк MATE).
https://github.com/cafe-desktop