Как мне установить координаты x, y окна в Wayland?

Очевидно, это не является частью основного протокола Wayland, но я использую Weston, и расширение xdg-shell, похоже, имеет необходимый метод:

xdg_surface_set_window_geometry

Итак, я побежалwayland-scanner создать код xdg и файлы заголовков:

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

Код, который я использую, выглядит примерно следующим образом:

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

Код работает без ошибок, но ничего не делает. Я работаю на Debian Jessie со стандартными пакетами Wayland и Weston.

Если есть подходы, кромеxdg_shell это может сработать, я все уши.

Ответы на вопрос(1)

Ваш ответ на вопрос