Najwyraźniej jest to coś, co nie jest częścią podstawowego protokołu Wayland, ale używam Weston i rozszerzenie xdg skorupy wydaje się mieć niezbędną metodę:Jak ustawić współrzędne x, y okna w Wayland?
xdg_surface_set_window_geometry
Więc wpadłem wayland-scanner
stworzyć kod xdg i pliki nagłówkowe:
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
współpraca de Używam jest mniej więcej tak:
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);
Kod działa bez błędu, ale nie robi nic. Pracuję nad Debian Jessie z zapasowymi pakietami Wayland i Weston.
Jeśli istnieją inne podejścia niż xdg_shell
, które mogą zadziałać, to ja jestem uszami.
Czy znalazłeś odpowiedź? Chciałbym również ustawić domyślną pozycję dla moich okien pod Weston –
Z pomocą forów Wayland/Weston, zrobiłem obejście problemu, które miało ustawić moje okna na pełnoekranowe wymiary wyjściowe z przezroczystym tłem, a następnie zrównoważyć moją zawartość pełny ekran. Interfejsy API Waylanda nie są obecnie przeznaczone do tego rodzaju kontroli poziomu aplikacji. – mpr