Выпуск графического тулкита GTK+ 3.22

С небольшим отставанием от GNOME 3.22 официально анонсирован выпуск новой ветки многоплатформенного тулкита для создания графического интерфейса пользователя — GTK+ 3.22.0. В новой версии представлено 989 изменений, из которых 55.4% подготовлены сотрудниками компании Red Hat, 9.8% — Endless, 0.6% — Collabora, 0.4% — Canonical и 0.1% — Centricular. Выпуск 3.22 является последним наращивающим функциональность релизом в ветке GTK+ 3.x В дальнейшем новые возможности будут развиваться в экспериментальных выпусках GTK+ 3.90.x, после которых будет сформирована новая стабильная ветка GTK+ 4. Корректирующие обновления для GTK+ 3.22, в которых будет сохранена совместимость на уровне API и ABI, планируется формировать как минимум три года. 0_1474528455.png

Код GTK+ развивается в рамках проекта GNU и распространяется под лицензией LGPL, что позволяет использовать GTK+ не только для разработки свободного ПО, но и для создания проприетарных приложений, не требуя от производителей закрытых программ выплаты роялти или покупки специальной лицензии. В состав тулкита входит полный набор виджетов, позволяющих использовать GTK+ для проектов различного уровня и размера, например, GTK+ лежит в основе десктоп-окружений GNOME и Xfce, и используется в таких продуктах, как GIMP, Firefox и OpenOffice/LibreOffice.

GTK+ спроектирован для поддержки не только C/C++, но и других языков программирования, таких как Perl и Python, что в сочетании с использованием визуального построителя интерфейса Glade позволяет существенно упростить разработку и сократить время написания графических интерфейсов. Организация вывода в GTK+ абстрагирована от типа оконных систем, например, поставляется бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland, а также бэкенд, позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузера (запустив GTK-приложение на одной машине, можно открыть web-браузер на другой машине и получить доступ к интерфейсу данной программы).

Из добавленных в GTK+ 3.22.0 улучшений можно отметить:

  • В бэкенд, обеспечивающий работу поверх дисплейного сервера Wayland, добавлена поддержка графических планшетов Wacom в качестве устройств ввода. Для работы бэкенда теперь требуется как минимум шестая версия протокола xdg-shell;
  • Добавлен API GtkPadController для обработки жестов с планшетов; 0_1474528229.png
  • В GdkMonitor добавлены программные интерфейсы для получения расширенной информации о подключенных устройствах вывода, недоступной через GdkScreen;
  • В GdkGLContext добавлена поддержка OpenGL ES. GtkGLArea теперь можно использовать как на стационарных системах с OpenGL, так и на мобильных платформах c OpenGL ES;
  • В GtkScrolledWindow добавлены новые свойства max-content-width и max-contentheight для ограничения максимального размера окна;
  • Добавлен новый виджет GtkShortcutLabel для отображения отдельных горячих клавиш в стиле GtkShortcutWindow; 0_1474527897.png
  • Добавлена поддержка режимов смешивания CSS, позволяющих на лету трансформировать изображения при помощи CSS;
  • Интегрирована технологий порталов Flatpak, предназначенных для организации контролируемого обращения к внешним ресурсам из изолированного контейнера с подтверждением операции по аналогии с динамическими межсетевыми экранами. Порталы позволяют приложению запросить доступ к таким операциям, как открытие внешнего файла, открытие URL, вывод на печать, создание скриншота, вывод уведомления, блокировка вызова хранителя экрана, получения данных о состояния сети и информации о прокси. Диалог с запросом о предоставлении доступа выводится пользвоателю автоматически при первом обращении к ограниченному ресурсу, решение о предоставлении доступа принимается пользователем. Обработчик порталов вызывается при обращении приложения к штатным функциям GTK, например, когда программа пытается выбрать файл через GtkFileChooserNative, вывести информацию на печать через GtkPrintOperation или открыть URL через gtk_show_uri.

© OpenNet