За день до выхода GNOME 3.6 увидел свет стабильный релиз новой ветки многоплатформенного тулкита для создания графического интерфейса пользователя - GTK+ 3.6.0. Ветка GTK+ 3.6 полностью обратно совместима с прошлыми выпусками GTK+ серии 3.x. В состав тулкита входит полный набор виджетов, позволяющих использовать GTK+ для проектов различного уровня и размера. Код GTK+ развивается в рамках проекта GNU и распространяется под лицензией LGPL, что позволяет использовать GTK+ не только для разработки свободного ПО, но и для создания проприетарных приложений, не требуя от производителей закрытых программ выплаты роялти или покупки специальной лицензии. С тех пор, как GTK+ был разработан в рамках проекта GIMP, тулкит используется в различных проектах, например, GTK+ лежит в основе десктоп-окружений GNOME и Xfce или используется в таких продуктах, как Firefox и OpenOffice/LibreOffice.
GTK+ спроектирован для поддержки не только C/C++, но и других языков программирования, таких как Perl и Python, что в сочетании с использованием визуального построителя интерфейса Glade позволяет существенно упростить разработку и сократить время написания графических интерфейсов. Организация вывода в GTK+ абстрагирована от типа оконных систем, например, поставляется бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland, а также бэкенд, позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузера (запустив Gtk-приложение на одной машине, можно открыть web-браузер на другой машине и получить доступ к интерфейсу данной программы).
Из добавленных в GTK+ 3.6.0 улучшений можно отметить:
- В GtkEntry добавлен субкласс GtkSearchEntry, предназначенный для создания однострочных элементов ввода для организации поиска (рядом с полем отображается иконка, специфичная для поиска);
- Добавлен виджет GtkMenuButton, формирующий кнопку вызова меню, которое может быть сгенерировано, например, через GMenu;
- Добавлен виджет GtkLevelBar для отображения индикатора уровня для заданной величины;
- Кнопки ввода чисел GtkSpinButton теперь могут быть расположены вертикально;
- Формы просмотра и ввода текста могут дополнительно отображать обработчик выделения областей при использовании на устройствах с сенсорным экраном.
- Улучшение API для формирования визуальных тем, описание стиля в которых задаётся в CSS-подобном представлении с возможностью смены стиля на лету. В новой версии добавлена поддержка CSS-анимации, использования размытых теней и обеспечения постепенного перехода и затенения.
Одновременно представлен релиз развиваемой синхронно с GTK+ библиотеки Glib 2.34.0, расширяющей возможности стандартной библиотеки Си. В новой версии адаптирована для работы на платформе Windows реализация шины обмена сообщениями, в классах stream добавлена поддержка свойств GSeekable и GPollable.