Релиз графического тулкита GTK+ 3.10.0
24 сентября 2013 года
За день до выхода GNOME 3.10 доступен стабильный релиз новой ветки многоплатформенного тулкита для создания графического интерфейса пользователя - GTK+ 3.10.0. Ветка GTK+ 3.10 полностью обратно совместима с прошлыми выпусками 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.10.0 улучшений можно отметить:
- В бэкенде, обеспечивающем возможность работы поверх дисплейного сервера Wayland, добавлена поддержка протокола Wayland 1.2. Код Wayland-бэкенда отмечен как практически завершённый и готовый к реальному применению. В частности, добавлена поддержка максимизации окон, анимированных курсоров, многомониторных конофигураций, настроек и использования собственных поверхностей (custom surfaces). Также реализована поддержка протокола синхронизации кадров, позволяющего учитывать готовность вывода при отрисовке композитным менеджером;
- Расширены возможности бэкенда Broadway, позволяющего отрисовывать вывод библиотеки GTK3+ в окне web-браузера. В новом выпуске улучшена обработка размера окна, добавлена поддержка синхронизации кадров, реализована аутентификация входа по паролю, обеспечена возможность сборки на платформе Windows;
- В бэкенд для операционной системы OS X добавлена поддержка нативных методов ввода;
- Поддержка дочерних обработчиков композитинга (composite children) в GtkWidget, что позволяет создавать сложные виджеты на основе ui-файлов, созданных в GtkBuilder. Существующие сложные виджеты переведены на использованием новой схемы;
- Поддержка декорации на стороне клиента, что позволило обеспечить такие возможности как оформление области заголовка на стороне приложения.
- Поддержка масштабирования вывода для экранов свервысокого разрешения;
- Режим тонкой регулировки скроллинга, делающий прокрутку более предсказуемой и отзывчивой, а также позволяющий создавать такие функции как автоматическая прокрутка;
- Новый виджет GtkHeaderBar, похожий на GtkBox, но отличающийся дополнительными возможностями по центрированию дочерних элементов (обычно заголовка), независимо от другого контента;
- Новый виджет GtkPlacesSidebar с реализацией боковой панели для диалогов выбора файлов. Виджет может быть использован совместно с Nautilus;
- Новый виджет GtkStack, предоставляющий альтернативный к GtkNotebook метод для отображения одного из набора дочерних виджетов. При переключении между виджетами используется анимированный переход. Для использования вкладок можно использовать дополнительный виджет GtkStackSwitcher;
- Новый виджет GtkRevealer для скрытия и показа дочерних виджетов с использованием анимационного эффекта;
- Новый виджет GtkSearchBar с реализацией всплывающей панели поиска;
- Новый виджет GtkListBox предоставляющий контейнер для отсортированного и отфильтрованного вывода списков;
- Управление геометрией: Добавлена поддержка механизма базового распределения размеров, позволяющего виджетам экспортировать содержимое текстовых данных и адаптировать для их размещения обрамляющие их контейнеры, которые будут выровнены в соответствии с общей компоновкой элементов. Для объектов GtkEventBox и GtkCheckButton добавлена поддержка адаптации высоты к ширине;
- Прекращение поддержки протокола Motif DND, использования нескольких экранов на один дисплей, функций gdk_window_get_display и gtk_widget_push_composite_child, отделяемых элементов меню и некоторых настроек GTK+. Кроме того, объявлены устаревшими элементы API GtkIconFactory,
GtkIconSet, GtkIconSource, GtkImageMenuItem, GtkAction и GtkUIManager, поддержка которых будет прекращена в GTK+ 4.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.