Welchen Wayland compositor hättens denn gerne?

Bin mir ziemlich sicher das niemand die Anspielung in dem Titel versteht, aber egal. Ich steh dazu so alt zu sein. Whatever..

Da ich zur Zeit nach einem Compositor suche, der unter Wayland läuft, bin ich auf https://github.com/rcalixte/awesome-wayland?tab=readme-ov-file#compositors gestoßen. Einige davon sind komplett veraltet, andere in Sprachen geschrieben die auch so schon eklig genug sind (Python zum Beispiel) und wiederum andere sind komplett overkill für meine Zwecke. Ich stelle nicht viel Anforderungen an einen Windowmanager/Compositor, aber die, die ich stelle, sind ziemlich spezifisch.

Mouse
Er muss zu 100% mit der Tastatur zu bedienen sein; ich hab keine Lust zur Mouse zu greifen um ein Programm auf einen anderen Workspace zu verschieben.
Programme starten
Das übernimmt für mich Rofi, also brauche ich keinen bereits implementierten Launcher. Was ich aber will, ist das ich Programme via Tastenkombination starten kann, die dann auf einem bestimmten Workspace mit einem bestimmten Layout gestartet werden. Also das z. B. "tor-browser" auf Workspace 5 im maximiertem Layout startet.
Autostart
Ich will keine optionalen Programme oder Patche nutzen müssen um für mich wichtige Programme automatisch starten zu lassen. Das soll der Windowmanager für mich übernehmen und die dann auch genau so starten, wo und wie ich sie will.
Tiling Windows
Tiling ist mir genau so wichtig wie ein Master-Stack-Layout; also im Master Bereich wird das Haupt Fenster angezeigt während im Stacking Bereich alle übrigen Fenster angezeigt werden, wobei ich die Anzahl der Fenster auch anpassen können und sie darin verschieben will.
Floating Windows
Das brauche ich häufiger als gedacht, denn wenn ich mal schnell ein Kommando ausführen oder eine Notiz machen will, dann hab ich keine Lust ein Terminal zu öffnen das den halben Bildschirm einnimmt.
Mehrere Monitore
Ich hab derzeit zwei Monitore; einen Hauptmonitor und einen auf dem entweder Spacenight läuft. Dort laufen dann auch Programme, die ich im Blick haben will (Compilermeldungen, Streams, ..). Dazwischen will ich ohne großen Aufwand navigieren können (Apps verschieben, eigene Layouts verwenden, ..)
Per Monitor-/Workspace-Layouts
Ist mir zwar wichtig, aber kein Ausschlusskriterium. Es würde meine Arbeit nur beträchtlich erleichtern wenn das zur Verfügung stehen würde.
Einfache Konfiguration
Also was die Syntax betrifft; ich hab keinen Bock Lisp zu lernen um das Ding konfigurieren zu können. Ach das gibt es nicht? ulubis (Gott sei Dank schon tot) war so ein Fall, aber es gibt auch aktuelle Projekte.
Die Größe und Speicherverbrauch
Das ist mittlerweile wohl eher ein untergeordnetes Problem, aber weniger ist mehr und solange keine für mich sinnbefreiten Features enthalten sind, .. wayne..
Portabilität
Perfekt wäre es, wenn der Windowmanager/Compositor auf Linux und OpenBSD laufen würde und da wird es schon schwierig. Derzeit ist ./wayland allenfalls nur rudimentär enthalten. Auf der anderen Seite muss ich aber auch sagen, das ich OpenBSD fast nur in Verbindung mit einer Remotesession von tmux nutze; also von daher ist das auch eher optional.
Animationen
Brauche ich nicht und habe ich ehrlich gesagt nicht vor zu nutzen. Ich brauche einen Wayland Compositor um mein Terminal nutzen zu können und mehr nicht.
Gaps/Borders
Ja. Brauche ich.. irgendwie zumindest. Am besten noch dynamisch. Also wenn nur ein Fenster offen ist, dann keinen Rahmen und keine Abstände. Sobald mehrere Programme laufen, dann beides. Das macht es einfacher das derzeit fokussierte Fenster zu erkennen.
Aktiv Weiterentwickelt
Ich hab keine Lust mehr zu hoffen das sich an $FOO nichts ändert, weil dann $BAR nicht mehr funktioniert oder vorhandene Bugs nicht behoben werden.

So. Das erstmal dazu. Nach einer Recherche von ins. drei Dosen RedBull, ~20 Stunden Trance/Klassik und einer ziemlichen Installationsorgie auf meinem Testrechner hab ich das dann auf folgende Compositoren eingegrenzt.

Hyprland
Die Binary ist zwar 11M groß, aber bietet kein extra Layout für Monitor oder Workspace an. Abgesehen davon enthält es Sachen die für mich sinnbefreit sind (Plugins) und Subprogramme die ich nicht ganz nachvollziehen kann. So ist z. B. start-hyprland sowohl unter /usr/bin/, wie auch unter /usr/sbin vorhanden; und das gilt für alle Programme die von Hyprland genutzt werden.

Sway(wm)
1.1k Issues bei GitHub? Ja. Nein. Is klar. Außerdem ist Sway letztendlich ein I3 für Wayland und damit hatte ich in der Vergangenheit schon einige Probleme.

niri
Jetzt kommen wir der Sache schon näher. Bietet so ziemlich alles was ich will (sogar Scrollable-Tiling), aber nutzt die smithay Wayland-Librarie. Ist an sich nicht weiter schlimm, aber wenn Wayland neue Features zur Verfügung stellt, dann muss man warten bis sie smithay implementiert hat.

MangoWC (Ist kein Schreibfehler; heißt wirklich so)
Well.. now we are talking! Eine 276KB große Binary, die nur 40 Libs abruft kann so schlecht nicht sein (Hyprland ist 11M groß und ruft 136 Libs ab). Zumal das Ding alles kann, was ich will und brauche. Das einzig Negative (wenn man es denn so nennen kann), ist die Syntax der Konfigurationsdatei. Bei Hyprland kann man folgendes Konstrukt nutzen:

windowrule {
        name = "Clipse"
        match:class = clipse
        float = true
        stay_focused = true
        center = true
        size = 622 652
}

während man bei MangoWC alles in eine Zeile schreiben muss, was es unübersichtlich macht. Aber ich glaube damit kann ich leben.

Jetzt kommt allerdings erstmal der nervige und zugleich auch interessante Teil. Nämlich die Konfiguration von dem Ding; dabei geh ich immer nach dem gleichen Schema vor. TastenkombinationenWorkspacesAutostartStatusbar; in exakt dieser Reihenfolge.
Zuerst passe ich die Tastenkombinationen an meine Bedürfnisse an und dann kommen die Workspaces dran, damit die ständig genutzten Programme, genau dort gestartet werden, wo ich sie haben will. Wenn das so funktioniert wie es soll, dann wird der Autostart konfiguriert. Derzeit starte ich Tmux, meinen Browser, clipse, dunst und Waybar automatisch. Das hört sich alles ziemlich einfach und schnell erledigt an, kann aber durchaus einige Zeit dauern. Seit ich damals wmi installiert habe (~2004) nutze ich die exakt gleichen Tastenkombinationen und die will ich auch weiterhin nutzen und nicht umdenken. Also mal wieder eine neue Konfigurationsdatei erstellen, kommentieren und nebenbei die Dokumentation(en) lesen. Man hat ja sonst nichts zu tun..

For comments, please send me an email