После почти трёх лет разработки опубликован релиз композитного сервера Wayfire 0.8, использующего Wayland и позволяющего формировать нетребовательные к ресурсам интерфейсы пользователя c 3D-эффектами в стиле 3D-плагинов к Compiz (переключение экранов через 3D-куб, пространственная раскладка окон, морфинг при работе с окнами и т.п.). Wayfire поддерживает расширение через плагины и предоставляет гибкую систему настройки. Код проекта написан на языке C++ и распространяется под лицензией MIT.
Проект построен на базе библиотеки wlroots, развиваемой разработчиками пользовательского окружения Sway и предоставляющей базовые функции для организации работы композитного менеджера на базе Wayland. Для управления сеансами могут применяться systemd, elogind или seatd. Поддерживается запуск X11-приложений при помощи XWayland. В качестве панели можно использовать wf-shell от разработчиков Wayfire или стороннюю панель LavaLauncher. Проектом также развивается библиотека для работы с файлами конфигурации wf-config и графический конфигуратор wcm.
В новой версии:
- Добавлен плагин “wsets” (Workspace sets), позволяющий работать с коллекциями виртуальных рабочих столов. В коллекции можно объединять рабочие столы, связанные определённой тематикой (например, работа над основным проектом, работа над личным проектом, развлечения), для их одновременного просмотра на экране. Пользователь может в любой момент переключиться на другую коллекцию и получить другой набор виртуальных рабочих столов. На каждом экране может показываться своя коллекция рабочих столов (например, на внешнем мониторе можно использовать коллекцию для развлечений, а на встроенном экране ноутбука – рабочую коллекцию). Поддерживается перемещение коллекций между экранами.
- Предоставлена возможность управления композитным менеджером через IPC-команды, передаваемые через сетевой сокет. Функциональность реализована через плагин ipc и дополнительные плагины обработки команд, например, плагин ipc-rules включает базовые команды управления окнами. В будущем планируется добавить поддержку дополнительных команд и событий.
- Добавлена возможность навигации между виртуальными рабочими столами при помощи клавиатуры.
- В плагине simple-tile реализованы анимированные эффекты.
- В плагин Vswitch добавлены привязки для перемещения элемента на определённый виртуальный рабочий стол.
- Реализации Wayland-протоколов вынесены из базового состава в отдельные плагины wayfire-shell, foreign-toplevel и gtk-shell.
- Добавлена поддержка Wayland-протокола “xdg-activation“, который позволяет передать фокус между разными поверхностями первого уровня (например, при помощи xdg-activation одно приложение может переключить фокус на другое).
- Для панели предложены новые виджеты с реализацией системного лотка, уведомлений и диалога завершения работы. Также добавлен виджет Command-output, позволяющий отображать в панели результат выполнения произвольных команд.
- Обновлены развиваемые проектом панель wf-shell, библиотека wf-config и конфигуратор wcm.
- Расширен и переработан API для создания плагинов. С одной стороны переработка нарушила совместимость со многими старыми плагинами, но с другой стороны удалось решить большинство проблем, ранее мешавших работе. Для работы со списками экранов, слоёв и представлений предложена новая структура scenegraph. Переработан программный интерфейс View, отвечающий за представление окон приложений. Добавлена система транзакций, позволяющая единовременно автоматически обновлять несколько поверхностей верхнего уровня и связанных с ними свойств, а также синхронизировать состояние декорирования окон с основным окном.