Veröffentlichung von miracle-wm 0.10, einem Compositing-Manager basierend auf Wayland und Mir

Die Veröffentlichung des Composite-Managers miracle-wm 0.10, der das Wayland-Protokoll und Komponenten zur Erstellung von Composite-Managern wie Mir verwendet. miracle-wm unterstützt eine Kachelkomposition, die mit ähnlichen Lösungen wie i3 und Sway vergleichbar ist. Waybar kann als Panel verwendet werden. Der Code des Projekts ist in C++ geschrieben und steht unter der GPLv3-Lizenz. Die fertigen Builds sind im Snap-Format sowie in RPM- und DEB-Paketen für Fedora und Ubuntu verfügbar.

Das Ziel von miracle-wm ist die Schaffung eines Composite-Managers, Server, der eine Kachelverwaltung für Fenster anwendet, jedoch funktioneller und stilvoller ist als Produkte wie Swayfx. Gleichzeitig ermöglicht das Projekt auch die Nutzung klassischer Ansätze zur Arbeit mit schwebenden Fenstern, zum Beispiel können einzelne Fenster über dem Kachelraster platziert oder Fenster an bestimmten Stellen auf dem Desktop fixiert werden. Virtuelle Desktops werden unterstützt und für jeden Desktop kann ein eigener Standardmodus zur Fensterverwaltung festgelegt werden (Kachelkomposition oder schwebende Fenster).

Es wird angenommen, dass miracle-wm für Benutzer nützlich sein kann, die eine Kachelkomposition bevorzugen, aber visuelle Effekte und eine lebendigere grafische Gestaltung mit sanften Übergängen und Farben wünschen. Die Konfiguration erfolgt im YAML-Format. Zur Installation von miracle-wm kann der Befehl „sudo snap install miracle-wm —classic“ verwendet werden.

Hauptneuheiten:

  • Im Plugin-System wurde die Möglichkeit implementiert, Shader für einzelne Fenster anzuwenden. Als Beispiel wurde das Plugin focus-blur-plugin erstellt, das den Inhalt aller Fenster außer dem aktiven Fenster verschwommen darstellt.

  • In den Plugins wurde die Unterstützung für die Erstellung von Ausgabefiltern, die Shader verwenden, hinzugefügt. Diese Möglichkeit wird im Plugin night-light-plugin genutzt, das tagsüber einen orangefarbenen Farbton hinz fügt.

  • Wayland-Protokolle wurden eingeführt
    • ext-data-control-manager-v1 zur Verwaltung der Zwischenablage. Die Unterstützung dieses Protokolls ermöglicht die Verwendung des Tools wl-copy, um Daten in die Zwischenablage zu kopieren.
    • ext-image-capture-source-manager-v1 und ext-image-copy-capture-manager-v1 zur Organisation der Erfassung von Inhalten, die auf dem Bildschirm angezeigt werden. Die Kompatibilität mit dem XDG-Portal xdg-desktop-portal-wlr und dem Screenshot-Tool grimshot wurde sichergestellt.
    • ext-foreign-toplevel-list-v1 zur Anheftung von Fenstern über anderen Inhalten, beispielsweise zur Anbindung von Panels und Fenster-Schaltern.
    • zwp-input-method zur Erstellung von virtuellen Tastaturen und IME-Schichten (Input Method Editor) zur Eingabeverarbeitung.
  • Eine Schnittstelle (basierend auf GTK4) zur Ausgabe von Fehlermeldungen in der Konfiguration wurde implementiert. Fehlerinformationen werden über einen IPC-Socket übermittelt.
  • Eine Schnittstelle zur Anzeige von Debugging-Informationen zur Fensterpositionierung und Eingabebereichen wurde implementiert. Die Schnittstelle ist in GTK4 geschrieben und wird mit dem Befehl „miraclemsg debug overlay“ aktiviert.
  • Die automatische Ladung von Plugins, die im WebAssembly-Format zusammengestellt und im Verzeichnis ~/.config/miracle-wm/plugins mit der Erweiterung „.wasm“ abgelegt sind, wurde sichergestellt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4