Wie stelle ich die x, y-Koordinaten eines Fensters in Wayland ein?

nscheinend ist dies etwas, das nicht Teil des Wayland-Kernprotokolls ist, aber ich verwende Weston, und die xdg-shell-Erweiterung scheint die erforderliche Methode zu habe

xdg_surface_set_window_geometry

So lief ichwayland-scanner um xdg Code und Header Dateien zu erstellen:

wayland-scanner code < ./weston-1.6.0/protocol/xdg-shell.xml > xdg_shell.c

wayland-scanner client-header < ./weston-1.6.0/protocol/xdg-shell.xml > xdg_shell.h

Der Code, den ich verwende, sieht ungefähr so aus:

surface = wl_compositor_create_surface(compositor);
if(surface == NULL) {
    ...
}

native_window = wl_egl_window_create(surface, some_width, some_height);
if(native_window == NULL) {
    ...
}

_xdg_surface  = xdg_shell_get_xdg_surface(_xdg_shell, surface);

xdg_surface_set_window_geometry(_xdg_surface, 0, 0, some_width, some_height);

Der Code läuft fehlerfrei, tut aber nichts. Ich arbeite auf Debian Jessie mit den aktuellen Wayland- und Weston-Paketen.

Wenn es andere Ansätze als @ gixdg_shell Das könnte funktionieren, ich bin ganz Ohr.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage