Opublikowano wydanie menedżera kompozytowego miracle-wm 0.10, który korzysta z protokołu Wayland oraz komponentów do budowy menedżerów kompozytowych Mir. Miracle-wm obsługuje układ okien mozaikowy (tiling), podobny do tego w projektach i3 i Sway. Jako panel może być używany Waybar. Kod projektu napisany jest w języku C++ i jest rozpowszechniany na licencji GPLv3. Gotowe pakiety zbudowane są w formacie snap, a także jako pakiety 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:
- W systemie wtyczek zaimplementowano możliwość stosowania shaderów związanych z poszczególnymi oknami. Jako przykład przygotowano wtyczkę focus-blur-plugin, która rozmywa zawartość wszystkich okien, z wyjątkiem aktywnego okna.

- W wtyczkach dodano wsparcie dla tworzenia filtrów wyjściowych wykorzystujących shadery. Ta możliwość jest wykorzystywana w wtyczce night-light-plugin, która dodaje pomarańczowy odcień w ciągu dnia.

- Wdrożono protokoły Wayland
- ext-data-control-manager-v1 do zarządzania schowkiem. Wsparcie tego protokołu umożliwiło korzystanie z narzędzia wl-copy do umieszczania danych w schowku.
- ext-image-capture-source-manager-v1 i ext-image-copy-capture-manager-v1 do organizacji przechwytywania treści wyświetlanej na ekranie. Zapewniono kompatybilność z portalem XDG xdg-desktop-portal-wlr oraz narzędziem do robienia zrzutów ekranu grimshot.
- ext-foreign-toplevel-list-v1 do przyczepiania okien ponad inną zawartością, na przykład do podłączania paneli i przełączników okien.
- zwp-input-method do tworzenia wirtualnych klawiatur i warstw IME (Input Method Editor) obróbki danych wejściowych.
- Zrealizowano interfejs (oparty na GTK4) do wyświetlania informacji o błędach w konfiguracji. Informacje o błędach są przesyłane przez gniazdo IPC.
- Zrealizowano interfejs do wyświetlania informacji debugowania o pozycjonowaniu okien i obszarów wejściowych. Interfejs napisany jest w GTK4 i aktywowany za pomocą polecenia „miraclemsg debug overlay”.
- Zapewniono automatyczne ładowanie wtyczek zbudowanych w formacie WebAssembly i umieszczonych w katalogu ~/ .config / miracle-wm / plugins z rozszerzeniem „.wasm”.
Źródło: opennet.ru


