Мэтью Косарек (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.
Из прочих изменений можно отметить:
- Режим стековой компоновки окон.
- Объединение окон в группы с переключением между элементами группы при помощи вкладок.
- Работа в могомониторных конфигурациях и возможность перемещения окон и групп окон на другие устройства вывода.
- Возможность присваивать произвольные имена виртуальным рабочим столам, не ограничиваясь цифровыми идентификаторами.
- Команды управления раскладкой окон, совместимые с i3.
- Интеграция с systemd: запуск через менеджер сеансов, обработка специфичных событий, отправка логов напрямую в journal.
- Утилита miraclemsg (форк swaymsg) для отправки управляющих команд оконному менеджеру, например, команд для смены фокуса ввода или перемещения окна с одного рабочего стола на другое.
Среди идей на будущее упоминается поддержка обзорного режима навигации по окнам и рабочим столам; контекстные меню с действиями над окнами, режим “картинка в картинке”; режим с выводом активного окна по центру экрана; графический конфигуратор; собственная панель приложений и прокручиваемый виртуальный рабочий стол с возможностью выхода за рамки экрана.