GTK 4.6 поставляется с улучшениями, исправлениями ошибок и многим другим.

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

В этой новой версии GTK 4.6 удален старый движок рендеринга OpenGL, заменен новым механизмом рендеринга NGL, поставляемым по умолчанию, начиная с GTK 4.2, и обеспечивающим более высокую производительность. NGL переименовал GL и переписал код загрузки текстур, улучшил поддержку форматов изображений и цветовых пространств.

Код, связанный с расчетом размеров элементов и расположение виджетов был значительно переработан. Раньше свойства GtkWidget::halign и GtkWidget::valign при размещении элементов полагались на размер виджета по умолчанию, что, указав только один размер в режиме заполнения, могло привести к тому, что элемент занял дополнительное место.

В GTK 4.6 возможность измерения относительного недостающего размера (например, если указана ширина, при размещении может быть учтена доступная высота), что позволяет сделать виджеты тоньше, не занимая дополнительного места.

Виджет GtkBox реализует возможность расчета индивидуального размера детей. В то время как ранее пространство было равномерно распределено между дочерними виджетами в зависимости от их размера по умолчанию, GTK 4.6 учитывает фактический размер дочерних элементов при рендеринге.

Виджет GtkLabel поддерживает перенос текста на произвольное количество строк., что позволяет создавать узкие этикетки, занимающие доступное пространство по вертикали. В класс GtkWindow добавлена ​​возможность регулировать минимальный размер в соответствии с соотношением сторон, что позволяет произвольно изменять размер окна, не опасаясь, что оно будет слишком маленьким.

Виджет GtkTextView добавляет поддержку вкладок, выровненных по правому краю или по центру. Добавлена ​​поддержка преобразования текста и подсчета высоты строки, помимо улучшена операция прокрутки до указанной метки, также улучшена обработка отмены и исправлены проблемы при вставке текста из буфера обмена и выборе места для отображения вставки эмодзи интерфейс.

Система стилей теперь поддерживает CSS-свойства font-variant-caps для отображения маленьких заглавных букв и преобразования текста для преобразования текста. В интерфейс часов добавлена ​​поддержка отслеживания операций перетаскивания, отображается текущий модуль ввода, в буфер обмена добавлен просмотрщик контента, реализована диаграмма для отображения gtk_widget_measure(), предусмотрен журнал событий. В утилиту gtk4-node-editor добавлена ​​поддержка перетаскивания.

Из других изменений которые выделяются:

  • У Wayland есть настройка для активации режима высокой контрастности. Добавлена ​​поддержка протокола wl_seat v7.
  • Добавлен параметр gtk-hint-font-metrics для приближения рендеринга текста к поведению GTK3.
  • Виджет GtkMenuButton предоставляет возможность определять собственные дочерние элементы.
    В GtkBuilder ускорена предварительная сборка шаблонов.
  • Добавлен сигнал включения для включения виджетов GtkComboBox и GtkDropDown.
    Свойство show-arrow было добавлено в виджет GtkDropDown для управления отображением стрелки.
  • В GtkPopoverMenu добавлен атрибут использования разметки для разметки Pango в тексте меню.
  • Для систем на базе X11 добавлена ​​поддержка жестов управления на сенсорных панелях (при использовании XInput 2.4) и улучшено поведение перетаскивания окон по заголовку.
  • Проверка версий OpenGL и OpenGL ES была улучшена в GDK, который обеспечивает прослойку между GTK и графической подсистемой.
  • Добавлено новое предупреждение, сообщающее о несоответствии размера, если виджет возвращает неправильный размер.
  • Добавлена ​​поддержка цветового пространства HSL.
  • Библиотеки libpng, libjpeg и libtiff непосредственно участвуют в загрузке текстур и обработке форматов изображений.
  • Код запуска EGL перемещен на сторону интерфейса. Ветка «master» в репозитории Git была переименована в «main».

Наконец, если вам интересно узнать об этом больше, вы можете ознакомиться с подробностями По следующей ссылке.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

bool (истина)