Matthew Kosarek, deweloper z firmy Canonical, opublikował wersję 0.9 menedżera kompozytowego miracle-wm, który wykorzystuje protokół Wayland oraz komponenty do budowy menedżerów kompozytowych Mir. Miracle-wm wspiera mozaikowe (tiling) rozmieszczenie okien, podobne do tego w projektach i3 i Sway. Jako panel można wykorzystać Waybar. Kod projektu jest napisany w języku C++ i jest rozpowszechniany na licencji GPLv3. Gotowe wersje są dostępne w formacie snap, a także w pakietach rpm i deb dla Fedory i Ubuntu.
Celem miracle-wm jest stworzenie menedżera kompozycji serwera, który stosuje kafelkowe zarządzanie oknami, ale jest bardziej funkcjonalny i stylowy niż takie produkty, jak Swayfx. Projekt umożliwia również użycie klasycznych technik pracy z pływającymi oknami, na przykład można umieszczać pojedyncze okna nad kafelkową siatką lub przypinać okna do określonego miejsca na pulpicie. Obsługiwane są wirtualne pulpity z możliwością ustawienia dla każdego pulpitu własnego trybu pracy z oknami domyślnie (kafelki lub pływające okna).
Oczekuje się, że miracle-wm może być przydatny dla użytkowników preferujących kafelkowe rozmieszczenie, ale pragnących uzyskać efekty wizualne i bardziej wyrazisty interfejs graficzny z płynnymi przejściami i kolorami. Konfiguracja jest określana w formacie YAML. Aby zainstalować miracle-wm, można użyć polecenia „sudo snap install miracle-wm —classic”. 
Główne nowości:
- Dodano system wtyczek, dostarczanych w pośrednim kodzie WebAssembly i wykonywanych w formie izolowanych (sandbox) modułów. Wtyczki mogą służyć do modyfikacji i rozszerzania funkcji menedżera kompozytowego, między innymi związanych z logiką rozmieszczania okien, przetwarzaniem i rozszerzeniem konfiguracji, przechwytywaniem zdarzeń wejściowych oraz wskaźnika myszy, realizacją animowanych efektów, a także podłączaniem obsługi zdarzeń, które działają przy tworzeniu, usuwaniu lub przełączaniu pulpitów. Wtyczki mogą być ponownie uruchamiane niezależnie, bez potrzeby restartowania menedżera kompozytowego.
- Dodano API do tworzenia wtyczek w języku Rust.
- Dodano wsparcie dla motywów kursorów.
- Dodano nowe ikony.
- Dodano skrót klawiaturowy „Meta + Shift + R” do ponownego załadowania konfiguracji.
- Koncepcja „mini-drzew” (mini tree), stosowana do grupowania powiązanych ze sobą pływających okien, została zastąpiona bardziej przewidywalnym zachowaniem przy pojedynczych pływających oknach.
- Przeprowadzono optymalizację wydajności.
- Zapewnił automatyczne ponowne załadowanie ustawień wyświetlania po zmianie konfiguracji.
- Zmienił format ustawienia własnych obsługiwaczy – w powiązaniach zamiast identyfikatorów klawiszy w stylu zdarzeń wejściowych jądra Linux, teraz należy używać nazw w stylu XKbKeysyms, na przykład „D” zamiast „KEY_D” oraz „Return” zamiast „KEY_ENTER”.
Źródło: opennet.ru
