Целью miracle-wm является создание композитного сервера, применяющего мозаичное управление окнами, но более функционального и стильного, чем такие продукты, как Swayfx. При этом проект позволяет использовать и классические приёмы работы с плавающими окнами, например, можно размещать отдельные окна поверх мозаичной сетки или закреплять окна к определённому месту на рабочем столе. Поддерживается виртуальные рабочие столы с возможностью выставления для каждого рабочего стола своего режима работы с окнами по умолчанию (мозаичная компоновка или плавающие окна).
Предполагается, что miracle-wm может оказаться полезным пользователям, которые отдают предпочтение мозаичной компоновке, но желают получить визуальные эффекты и более яркое графическое оформление с плавными переходами и цветами. Конфигурация определяется в формате YAML. Для установки miracle-wm можно использовать команду «sudo snap install miracle-wm —classic».

Основные новшества:
- Добавлена система плагинов, поставляемых в промежуточном коде WebAssembly и выполняемых в форме изолированных (sandbox) модулей. Плагины могу применяться для изменения и расширения возможностей композитного менеджера, среди прочего связанных с изменением логики размещения окон, обработкой и расширением конфигурации, перехватом событий ввода и указателя мыши, реализацией анимированных эффектов и подключением обработчиков, срабатывающих при создании, удалении или переключении рабочих столов. Плагины могут перезапускаться по отдельности без перезапуска композитного менеджера.
- Добавлен API для разработки плагинов на языке Rust.
- Добавлена поддержка тем оформления курсоров.
- Добавлены новые пиктограммы.
- Добавлена комбинация клавиш «Meta + Shift + R» для перезагрузки конфигурации.
- Концепция «мини-деревьев» (mini tree), применяемая для группировки связанных друг с другом плавающих окон, заменена более предсказуемое поведение с отдельными плавающими окнами.
- Проведена оптимизация производительности.
- Обеспечена автоматическая перезагрузка настроек дисплея после изменения конфигурации.
- Изменён формат настройки собственных обработчиков — в привязках вместо идентификаторов клавиш в стиле событий ввода ядра Linux теперь следует использовать имена в стиле XKbKeysyms, например, «D» вместо «KEY_D» и «Return» вместо «KEY_ENTER».
Источник: http://www.opennet.ru/opennews/art.shtml?num=65174
