Nach sechs Monaten Entwicklung wird die erste Vorabversion des Zusammensetzungsservers Xfwl4 vorgestellt, der das Wayland-Protokoll verwendet. Xfwl4 ist in Rust geschrieben und nutzt die Bibliothek Smithay. Als Grund fĂŒr die Schaffung des neuen Zusammensetzungsservers wird ein gescheiterter Versuch genannt, die gleichzeitige UnterstĂŒtzung von X11 und Wayland in der bestehenden Codebasis des Fenstermanagers xfwm4 zu implementieren, der ursprĂŒnglich mit Blick auf die enge Integration des X11-Protokolls entworfen wurde, was die Trennung der allgemeinen Logik der Fensterverwaltung von den Spezifika von X11 erschwerte.
Xfwl4 wird von Grund auf entwickelt und ĂŒberschneidet sich nicht mit der Codebasis des Fenstermanagers xfwm4, zielt aber darauf ab, die gesamte FunktionalitĂ€t von xfwm4 zu implementieren, einschlieĂlich der Möglichkeit, bestehende xfconf-Einstellungen zu nutzen und die Konfigurationsschnittstelle unter BerĂŒcksichtigung der Verwendung von Wayland anstelle von X11 zu gestalten. Es ist geplant, die FunktionalitĂ€t von Xfwl4 auf ein Niveau zu bringen, bei dem der Benutzer nahtlos zwischen Xfwl4 und xfwm4 wechseln kann, ohne Unterschiede zu bemerken.
Zu den erweiterten Funktionen von Xfwl4 gehört eine umfassende Ăberarbeitung der Logik zur Sitzungsstart, die Implementierung des Wayland-Protokolls xdg-session-management und die UnterstĂŒtzung des Startens von X11-Anwendungen mithilfe von XWayland. Der Code von Xfwl4 wird unter der Lizenz GPLv3 veröffentlicht (zum Vergleich, der Code des Fenstermanagers xfwm4 wird unter GPLv2 veröffentlicht).
Xfwl4 basiert auf der Bibliothek Smithay, die fast alle offiziellen Erweiterungen des Wayland-Protokolls sowie die Protokolle wlroots und KDE implementiert. Smithay wird in Projekten wie Cosmic und Niri verwendet. Analog zu wlroots bietet die Bibliothek Smithay hochrangige Abstraktionen, ermöglicht jedoch auch Eingriffe in die AblĂ€ufe tiefere Systeme und Anpassungen von Grafik-Rendering-Methoden, der EingabegerĂ€teverwaltung, des Verhaltens von Wayland-Protokollen und der Behandlung von Aufgaben im Zusammenhang mit dem Desktop-Building. Die Wahl von Rust wird als wesentlich erachtet, da sie das Auftreten von Fehlern bei der Speichermanagement entscheidend erschwert und die Wahrscheinlichkeit von Problemen, die zu einem Absturz fĂŒhren, verringert.
Das Projekt zur schrittweisen HinzufĂŒgung der Wayland-UnterstĂŒtzung in xfwm4 wurde aufgegeben, da Bedenken hinsichtlich der StabilitĂ€t und neuen Fehlern wĂ€hrend des Refactorings aufkamen. Es war einfacher, xfwm4 an X11 zu binden und parallel einen neuen Zusammensetzungsserver fĂŒr Wayland zu entwickeln. Server Die GrĂŒnde fĂŒr die Schaffung eines neuen Server Es wird auch die Unmöglichkeit erwĂ€hnt, einige Konzepte der Fensterverwaltung von X11 fĂŒr Wayland anzupassen, sowie die Notwendigkeit, die Programmiersprache C und die Bibliothek wlroots zu verwenden, um die Entwicklung von xfwm4 fortzusetzen, trotz besserer Alternativen.
Die erste Version von Xfwl4 hat den QualitĂ€tsstand Alpha und implementiert nicht alle geplanten Funktionen. Folgendes ist in der ersten Testversion noch nicht verfĂŒgbar:
- Dialog zur Konfiguration von Maus und Touchpad.
- Einstellungsdialog virtuellen ArbeitsplÀtzen.
- Bestimmung von Bereichen am Bildschirmrand, in denen Fenster nicht platziert werden können.
- Minimierung des Fensters mit Anzeige eines Symbols und eines MenĂŒs, das beim Klicken mit der Mitteltaste angezeigt wird.
- Anzeige von Miniaturansichten mit Inhalten der virtuellen Desktops in der Taskleiste.
- Tastenkombinationen zum Wechseln zwischen Anwendungen und Anwendungsfenstern.
- Wiederherstellung der letzten Fensterposition nach dem Neustart von Anwendungen.
Quelle: opennet.ru
