Мэтью Косарек (Matthew Kosarek) из компании Canonical опубликовал выпуск композитного менеджера miracle-wm 0.4, использующего протокол Wayland и компоненты для построения композитных менеджеров Mir. Miracle-wm поддерживает мозаичную (tiling) компоновку окон в стиле проектов i3 и Sway. В качестве панели может применяться Waybar. Код проекта написан на языке C++ и распространяется под лицензией GPLv3. Готовые сборки сформированы в формате snap, а также в пакетах rpm и deb для Fedora и Ubuntu.
Целью miracle-wm является создание композитного сервера, применяющего мозаичное управление окнами, но более функционального и стильного, чем такие продукты, как Swayfx. При этом проект позволяет использовать и классические приёмы работы с плавающими окнами, например, можно размещать отдельные окна поверх мозаичной сетки или закреплять окна к определённому месту на рабочем столе. Поддерживается виртуальные рабочие столы с возможностью выставления для каждого рабочего стола своего режима работы с окнами по умолчанию (мозаичная компоновка или плавающие окна).
Предполагается, что miracle-wm может оказаться полезным пользователям, которые отдают предпочтение мозаичной компоновке, но желают получить визуальные эффекты и более яркое графическое оформление с плавными переходами и цветами. Конфигурация определяется в формате YAML. Для установки miracle-wm можно использовать команду “sudo snap install miracle-wm –classic”.
При подготовке новой версии основное внимание было сосредоточено на обеспечении полной поддержки IPC-протокола оконного менеджера i3, на базе которого также построен IPC-протокол для взаимодействия с композитным менеджером Sway. В miracle-wm 0.4 реализованы почти все возможности i3 IPC, за исключением вызовов для пометки и выделения окон, что позволило существенно улучшить совместимость со сторонними проектами, поддерживающими i3 IPC, такими как панель waybar и графическая оболочка nwg-shell.
Из не связанных с IPC изменений можно отметить:
- Режим стековой компоновки окон.
- Объединение окон в группы с переключением между элементами группы при помощи вкладок.
- Работа в могомониторных конфигурациях и возможность перемещения окон и групп окон на другие устройства вывода.
- Прикрепление произвольных имён к виртуальным рабочим столам, не ограничиваясь цифровыми идентификаторами.
- Команды управления раскладкой окон, совместимые с i3.
- Компоненты для интеграции с systemd (запуск через менеджер сеансов systemd, обработка специфичных событий, запись логов в systemd-journal).
- Утилита miraclemsg (форк swaymsg) для отправки управляющих команд, например, для смены фокуса ввода или перемещения окна с одного рабочего стола на другое.
Среди идей на будущее упоминается поддержка обзорного режима навигации по окнам и рабочим столам, контекстные меню с действиями над окнами, режим “картинка в картинке”, режим с выводом активного окна по центру экрана, графический конфигуратор, собственная панель приложений, прокручиваемый виртуальный рабочий стол, выходящий за границы экрана.