¿Cómo configuro las coordenadas x, y de una ventana en Wayland?

Aparentemente, esto es algo que no forma parte del protocolo básico de Wayland, pero estoy usando Weston y la extensión xdg-shell parece tener el método necesario:

xdg_surface_set_window_geometry

Entonces corríwayland-scanner para crear código xdg y archivos de encabezado:

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

El código que estoy usando es aproximadamente el siguiente:

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);

El código se ejecuta sin error pero no hace nada. Estoy ejecutando Debian Jessie con los paquetes de Wayland y Weston.

Si hay enfoques distintos axdg_shell eso podría funcionar, soy todo oídos.

Respuestas a la pregunta(1)

Su respuesta a la pregunta