Nitrux‘ neues Workspace Environment: Modulare QML-Oberfläche zwischen WM und Desktop

admin4 Min. Lesezeit

Nitrux verfolgt seit dem Wechsel von KDE Plasma zu Hyprland im vergangenen Jahr konsequent einen neuen Ansatz für den Desktop. Die jüngste Entwicklung trägt den Namen Workspace Environment und kombiniert vier in Eigenentwicklung entstandene Komponenten zu einer zusammenhängenden Oberfläche, die zwischen einem reinen Window Manager und voll integrierten Desktop-Umgebungen wie GNOME oder Plasma angesiedelt ist.

Warum eine Zwischenlösung?

Project-Gründer Uri Herrera sieht eine Lücke zwischen schlanken Wayland-Window-Managern, die hauptsächlich Fensterplatzierung bieten, und umfangreichen Desktop-Umgebungen, die viele Dienste in einem Prozessbaum bündeln. Das Workspace Environment will diesen Mittelweg bedienen: Die Oberfläche soll als kohärente Shell funktionieren, besteht jedoch aus einzelnen, auf eine Aufgabe fokussierten Programmen. Entscheidend ist dabei, dass diese Komponenten unabhängig voneinander laufen und nicht denselben Prozesslebenszyklus wie der Compositor teilen.

Die Bausteine des Workspace Environment

Das Projekt nennt vier zentrale Komponenten, die zusammen das neue Benutzererlebnis bilden. Alle vier sind in QML umgesetzt und nutzen MauiKit; visuell ergibt sich dadurch eine einheitliche Erscheinung.

Valenz – die Arbeitsleisten-Suite

Valenz fungiert als neue Workspace-Leiste und übernimmt eine Reihe von System- und Interaktionsfunktionen. Dazu gehören Mediensteuerung, ein Systemtray, Benachrichtigungen sowie Indikatoren für Netzwerk, Bluetooth, Akku und Energiemodi. Ergänzt werden diese Elemente durch Wetteranzeigen, eine Kalenderansicht und Widgets zur Anzeige von Systemressourcen. Valenz ist eines der beiden Module, die LayerShell-Qt einsetzen, um sich mit dem Compositor zu verbinden.

Marina – Dock mit Fensterverwaltung

Marina bildet das Dock und bietet Funktionen zum Verfolgen und Gruppieren geöffneter Fenster über Workspaces hinweg auf Hyprland. Es unterstützt Pinning, automatisches Ausblenden und horizontales Scrollen. Für angepinnte Anwendungen, die einen Launcher-Zähler bereitstellen, zeigt Marina ungelesene Nachrichten-Badges an. Auch Marina nutzt LayerShell-Qt, wodurch sich Integrationsverhalten und Darstellungslogik mit Valenz angleichen.

Workspace Settings – Ersatz für KDE System Settings

Workspace Settings übernimmt die Rolle der Systemeinstellungen und löst damit die Abhängigkeit von KDE System Settings auf. Die Komponente deckt Kontoverwaltung, Lokalisierung, Netzwerk-Einstellungen sowie Konfigurationen für MauiKit ab – ohne auf Plasma-Bibliotheken zu setzen.

Desklock – nativer Sperrbildschirm

Desklock ist ein in QML gebauter Sperrbildschirm, der auf dem QMLGreet-Codebase basiert. Er bietet PAM-Authentifizierung, pro-Ausgang gesperrte Oberflächen sowie Monitoring-Widgets für CPU, Arbeitsspeicher und Netzwerk. Zusätzlich enthält Desklock MPRIS-Steuerungen für die Medienwiedergabe. Die gemeinsame Basis mit QMLGreet soll Wartungsaufwand reduzieren und eine konsistente visuelle Identität gewährleisten.

Technische Entscheidungen und Gründe

Nitrux setzte bei der Entwicklung bewusst auf eigene QML-Komponenten statt etablierte Alternativen. Als Gründe nennt das Projekt Kompatibilitäts- und Wartungsaspekte: Externe Lösungen wie Waybar oder SwayNC verlassen sich auf GTK- und CSS-Styling, was sich mit einem QML-zentrierten Ansatz nur schwer vereinbaren lässt. Crystal Dock war auf alte Qt-Widgets aufgebaut und brachte ein größeres Feature-Set mit, als es Nitrux für diesen modularen Ansatz für wünschenswert hielt.

Auch beim Sperrbildschirm wurde ein Wechsel vorgenommen: Hyprlock, das zuvor genutzt wurde, passte optisch nicht zu MauiKit und litt zudem unter einem Fehler, der Probleme nach Suspend bzw. Hibernation verursachte. Diese Inkonsistenzen führten zur Entscheidung, durchgängige Lösungen aus der eigenen Codebasis einzusetzen und damit Abhängigkeiten von externen Frameworks wie Quickshell zu vermeiden.

Architektur und Wartung

Die Komponenten sind so konzipiert, dass sie unabhängig voneinander laufen, aber trotzdem eine zusammenhängende Oberfläche ergeben. Valenz und Marina teilen LayerShell-Qt für die Integration mit dem Compositor; alle vier nutzen MauiKit und QML als gemeinsame visuelle Sprache. Aus Sicht der Projektverantwortlichen reduziert eine gemeinsame Codebasis – insbesondere bei Desklock und QMLGreet – die Pflegekosten und stellt sicher, dass Sicherheits- und Lebenszyklus-Anforderungen einheitlich umgesetzt werden.

Status, Verfügbarkeit und Ausblick

Das Workspace Environment leitet gleichzeitig das Ende eines früheren Nitrux-Konzepts ein: Maui Shell, die bisherige convergent-shell-Idee des Projekts, wurde eingestellt und das zugehörige GitHub-Repository archiviert. Nitrux richtet den Fokus neu aus und plant weitere Entwicklungsschritte auf Basis der aktuellen Komponenten.

Ein wichtiger Hinweis für Interessierte: Valenz und Marina setzen Nitrux 7.0.0 als Mindestanforderung voraus. Die derzeit stabile Version von Nitrux ist 6.1.0, somit wird man auf die nächste Hauptversion warten müssen, bevor man die neuen Tools im produktiven Einsatz testen kann. Ob sich das Warten lohnt, hängt letztlich davon ab, wie die neuen Komponenten im Alltagsgebrauch performen und wie robust sie sich in verschiedenen realen Nutzerumgebungen zeigen.

Fazit

Mit dem Workspace Environment schlägt Nitrux einen klaren Weg ein: weg von großen, monolithischen Desktop-Umgebungen hin zu einer modularen, QML-basierten Shell, die auf Eigenentwicklungen setzt. Die Idee, einzelne, eng umrissene Komponenten zu bauen, die optisch und funktional zusammenwirken, ist ein reizvoller Kompromiss zwischen Minimalismus und Komfort. Technisch trägt die Entscheidung für MauiKit und QML zur Einheitlichkeit bei, während die Unabhängigkeit der Prozesse dem Anspruch nach Stabilität und Wartbarkeit entgegenkommt. Nutzer müssen allerdings noch auf Nitrux 7.0.0 warten, um Valenz und Marina auszuprobieren; erst dann wird sich zeigen, wie praxistauglich der Ansatz tatsächlich ist.

Kommentar schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert