10 февраля состоялся релиз GTK+ 3.0.0.
Работа над GTK+ 3 начиналась как «большая чистка» и длилась в течение нескольких лет, во время которой было несколько поворотов и уроков.
Итак, новшества:
- Отображением всего теперь занимается Cairo. GDK больше не является обёрткой устаревших X11 drawing API. Это позволило удалить несколько X11-ориентированных концепций (GCs, colormaps, pixmaps). Большую часть работы сделал Benjamin Otte из RedHat.
- Поддержка современных устройств ввода. Ранее этим пренебрегали (немногие основные разработчики пользуются «экзотическими» устройствами ввода). С приходом 3.0.0 в GTK+ появилась поддержка нескольких указателей, клавиатур и т.д. Отдельной благодарности заслуживает Carlos Garnacho (Lanedo).
- Новые API для тем со знакомым синтаксисом CSS для настройки и другие усовершенствования, например, анимированное изменение состояний. Это также заслуга Карлоса.
- Более гибкое управление геометрией.
- Поддержка нескольких бекэндов GDK. С GTK+ 2.x нужно было пересобирать приложения для их работы с различными бекэндами GDK, так как они были реализованы отдельными библиотеками. В GTK+ 3 их можно встроить в одну библиотеку и выбирать во время выполнения. Это облегчит переход с X11 на Wayland или с Quartz на X11.
- Лёгкая поддержка приложений. С интеграцией D-Bus в GIO стало возможным добавить класс, который обрабатывает большое количество аспектов интеграции платформы написания приложений, таких как отслеживание открытых окон, обеспечение уникальности, экспорт действий, и т.д. Это всё в стадии разработки и будет расширено в будущем. То, что мы имеем сейчас — это, в основном, заслуга Colin Walters (Red Hat) и Ryan Lortie (Codethink).
>>> Подробности