После восьми месяцев разработки анонсирован выход новой версии GTK 4.8.0, которая продолжает разработку ветки GTK 4.x в рамках нового процесса разработки, который пытается предоставить разработчикам приложений стабильный и совместимый с многолетним API, который можно использовать, не опасаясь, что приложения нужно будет перерабатывать каждые шесть месяцев из-за Изменения API.
Для тех, кто плохо знаком с GTK, вы должны знать, что это кроссплатформенная библиотека графических компонентов для разработки графических пользовательских интерфейсов (GUI). Он распространяется под лицензией GNU LGPL, поэтому позволяет создавать как свободное, так и проприетарное программное обеспечение.
Основные новые возможности GTK 4.8
В представленной новой версии библиотека ГДК, который обеспечивает прослойку между GTK и графической подсистемой, оптимизировано преобразование пиксельных форматов. В системах с драйверами NVIDIA включено расширение EGL EGL_KHR_swap_buffers_with_damage.
Библиотека ГСК, который обеспечивает возможность рендеринга графических сцен через OpenGL и Vulkan, поддерживает обработку больших видимых областей (окна просмотра), помимо библиотек для рисования глифов с помощью текстур.
для Linux в Wayland, реализована поддержка протокола «xdg-activation», что позволяет переносить фокус между разными поверхностями первого уровня (например, с помощью xdg-активации одно приложение может переключать фокус на другое).
В GTK 4.8 Виджет GtkTextView уменьшил количество ситуаций, приводящих к повторным перерисовкам и реализовали функцию GetCharacterExtents для определения области с глифом, определяющим символ в тексте (функция, запрашиваемая инструментами для людей с ограниченными возможностями).
Класс gtkviewport, который используется для организации прокрутки в виджетах, включен режим «прокрутки до фокуса» по умолчанию, в котором содержимое автоматически прокручивается, чтобы сохранить представление элемента, находящегося в фокусе ввода.
Виджет GtkSearchEntry, отображающий область для ввода поискового запроса, предлагает возможность настроить задержку между последним нажатием клавиши и отправкой сигнала об изменении содержимого (GtkSearchEntry::search-changed).
Кроме того, также в GTK 4.8 подчеркивает расширенные возможности отладчика, для se реализована визуализация данных приложения и разрешил отображение свойств PangoAttrList во время проверки.
Также подчеркивается, что движок CSS оптимизировал перегруппировку связанных элементов с одним и тем же родителем и позволял использовать нецелые значения при определении размера промежутка между буквами.
к macOS, добавлена поддержка полноэкранного режима и воспроизведения видео с помощью OpenGL, а также улучшенное обнаружение монитора, работа над настройками нескольких мониторов, размещением окон и выбором размера для диалогового окна файла. приложениям было разрешено работать в фоновом режиме.
В Windows улучшено размещение окон на экранах HiDPI., добавлен интерфейс определения цвета, реализована поддержка событий колеса мыши с высоким разрешением и улучшена поддержка тачпада.
Из другие выделяющиеся изменения:
- Данные эмодзи обновлены до набора CLDR 40 (Unicode 14).
- Добавлена поддержка новых локалей.
- В утилиту gtk4-builder-tool добавлена команда screenshot для создания снимка экрана, которая используется при создании снимков экрана для документации.
- В интерфейсе выбора шрифта (GtkFontChooser) улучшена поддержка функций форматирования OpenType.
- Виджет GtkCheckButton теперь имеет возможность назначать собственный дочерний виджет с кнопкой.
- Свойство content-fit было добавлено в виджет GtkPicture, чтобы подогнать содержимое под заданный размер области.
- Оптимизирована производительность прокрутки в виджете GtkColumnView.
- Установлена утилита gtk4-node-editor.
- В бэкэнд ffmpeg добавлена звуковая поддержка.
- Ограничение памяти для загрузчика изображений JPEG было увеличено до 300 МБ.
- Изменен стиль интерфейса палитры цветов (GtkColorChooser).
Наконец, если вы заинтересованы в том, чтобы узнать больше об этом, вы можете ознакомиться с подробностями в по следующей ссылке.
кстати, есть новый проект под названием CTK, который является форком gtk3, который работает с cafe-desktop, форком mate-desktop, который использует ctk, который еще не закончен, но некоторые компоненты уже работают. Его намерение состоит в том, чтобы сохранить классический рабочий стол, что-то несовместимое с gtk4.
https://github.com/cafe-desktop/ctk
https://github.com/cafe-desktop
Привет!