Haben Wayland-„Fenster“ wirklich keine Dekorationen oder Möglichkeiten, sie zu positionieren/ihre Größe zu ändern?

Haben Wayland-„Fenster“ wirklich keine Dekorationen oder Möglichkeiten, sie zu positionieren/ihre Größe zu ändern?

Ich habe mit Wayland experimentiert, indem ich einige einfache Programme geschrieben habe, die einige grundlegende OpenGL-Sachen auf einer EGL-Oberfläche rendern. Das funktioniert alles großartig, aber ich habe festgestellt, dass ich beim Anfordern einer Oberfläche/eines Fensters (also einer Shell) vom Compositor buchstäblich eine leere Oberfläche ohne Titelleiste oder Möglichkeit zum Ändern der Größe oder Verschieben des Fensters erhalte. Ich habe es sowohl auf dem Weston-Compositor als auch auf einem Chromebook versucht. Das Weston-Terminal scheint seine eigenen Titelleisten-/Fensterdekorationen zu rendern. Muss ich einfach damit rechnen, dass ich meine eigene Titelleiste und Methode zum Ändern der Fenstergröße erstellen muss, wenn ich Apps für einen Wayland-Compositor schreibe?

Antwort1

Die Standardeinstellung ist, keine Fensterdekorationen vom Compositor bereitzustellen. SieheZum Beispiel.

(Einige, wie KWin, haben jedoch ein benutzerdefiniertes WaylandProtokollDadurch können Apps die Dekoration ihrer Fenster anfordern oder umgekehrt, dies wird jedoch nicht überall unterstützt.)

Die Erwartungen hängen davon ab, ob Sie ein UI-Toolkit verwenden oder Ihr eigenes von Grund auf neu entwickeln – ich meine, die meisten regulären Apps sind nichterwartetum zunächst direkt Wayland zu sprechen und stattdessen das Toolkit Dekorationen zusammen mit dem Rest der Benutzeroberfläche zeichnen zu lassen.

Wenn Sie Ihr eigenes Toolkit implementieren, werden Sie wahrscheinlich Folgendes verwenden müssen:libdecorin naher Zukunft, aber rollen Sie in der Zwischenzeit Ihre eigenen Fensterdekorationen.

verwandte Informationen