Вышел релиз композитного менеджера Compiz 0.9.0, переписанного на С++
После более года разработки вышел релиз композитного оконного менеджера Compiz 0.9.0, в котором представлено несколько существенных изменений. Конечным пользователям ветку Compiz 0.9 использовать не рекомендуется, так как она относится к экспериментальной серии, окончательная стабилизация кода будет произведена в релизе Compiz 0.10. Главными новшествами Compiz 0.9 является интеграция наработок проектов Compiz++ и Nomad, а также переход на новую систему сборки, основанную на использовании CMake.В рамках проекта Compiz++ осуществлена полная переработка исходных текстов ядра платформы, API и кода плагинов, которые были переписаны с языка Си на Си++. Переход на C++ ознаменовал реализацию нового интерфейса для создания плагинов, несовместимого с ранее разработанными для Compiz плагинами, но отличающегося повышенной производительностью. Другим важным изменением является разделение композитного (XComposite) и OpenGL уровней и их оформление в виде плагинов, что позволяет использовать Compiz++ как обычный оконный менеджер, в случае когда использовать композитный режим невозможно. В будущем планируется создание кроме OpenGL-плагина, создание плагинов рендеринга на базе XRender и библиотеки Clutter.
Некоторые другие улучшения:
- В состав Compiz интегрирован код проекта Nomad, который представляет собой созданный разработчиками Novell набор улучшений для обеспечения работы Compiz на удаленных рабочих столах (тонких клиентов).
- Выполнена переработка системы обработки текстур, добавлена поддержка задействования мозаичных текстур, в которых возможно интегрировать несколько текстур на один pixmap.
- Добавлен плагин copytex, в котором переработана система копирования текстур, реализованная в биндинге 'copy mode' из состава Beryl. Отмечается, что новый метод работает медленнее, но это компенсируется тем, что метод позволяет использовать большие размеры текстур, превышающие ограничения реализаций OpenGL;
- В плагин для декорирования окон добавлена поддержка смены родителя, что позволяет запустить Compiz с обеспечением декорации окон посредством декораторов gtk-window-decorator и kde4-window-decorator, без использования композитного режима, в роли обычного оконного менеджера.
- Добавлен KDE-плагин для интеграции с основным циклом обработки событий библиотеки Qt, созданием KApplication и в будущем интеграцией в KDE;
- Добавлен библиотечный плагин compiztoolbox с реализацией набора типичных и часто используемых в других плагинах действий, таких как подготовка к работе окна переключения приложений или вывод эскизов на экран;
- В ядро Compiz добавлена поддержка сериализации данных, что позволяет плагинам сохранять текущий срез своего состояния и через определенное время возвращаться к нему в случае перезапуска;
- В базовом наборе плагинов переписан интерфейс для связанных с анимацией функций, добавлена поддержка объектно-ориентированных конструкций, что позволит упростить создание новых анимационных эффектов;
- В extra-плагины добавлена поддержка автоматического вращения фонового изображения, в grid-плагин добавлена поддержка легкого изменения размера окна через растягивание его кромки;
- Из известных проблем называется невозможность сборки с использованием GCC 4.5 (рекомендуется GCC 4.4) и нарушение вывода на экран в некоторых базирующихся на библиотеке SDL программах, таких как игра frozen-bubble и эмулятор qemu.
© OpenNet