Simple SHM Wayland Client

Ander Conselvan de Oliveira conselvan2 at gmail.com
Fri May 30 04:49:30 PDT 2014


On 05/30/2014 09:57 AM, Marek Chalupa wrote:
> Hi,
>
>
> On 29 May 2014 13:59, Philip Rushik <prushik at gmail.com
> <mailto:prushik at gmail.com>> wrote:
>
>
>     On Thu, May 29, 2014 at 8:02 PM, Marek Chalupa <mchqwerty at gmail.com
>     <mailto:mchqwerty at gmail.com>> wrote:
[...]
>     xdg_surface________ stuff is not part of libwayland-client and I
>     don't really fully understand what is supposed to be happening here.
>     Also, _wl_fullscreen_shell_present_surface seems strange and is not
>     exported by libwayland-client, and if the example code doesn't use
>     either of those it has to quit.
>
>
> These protocols are not a part of libwayland, but Weston. You can find
> their specification in weston/protocol directory (those xml files) and
> you can generate sources from them using wayland-scanner. Then you can
> link against these sources (namely xdg-shell-protocol.c for xdg_* stuff
> and fullscreen-shell-procotol.c for the another).


> But as far as I know,
> the common wl_surface should be enough for creating a window without
> borders and buttons in Weston (that's how the
> weston/tests/weston-test-client-helpers.c works).

That's not exactly true. In order for a surface to be displayed on the 
screen, it needs to have a role. The role of the surface defines what 
happens when a buffer is attached to it. In the case of the file you 
mentioned, the role of the surface is set using the wl_test interface. 
This is not quite clear since it is done by the wl_test::move_surface 
request.

> So if you want to use
> only libwayland-client, as you wrote before, you should not use
> xdg_shell and fullscreen_shell. What you need to do is:

An alternative would be to use wl_shell. While in the long run it is 
expected that xdg_shell will replace it, it is currently shipped with 
libwayland-client and should work.

You can look at the link below for the commit that changed simple-shm to 
use xdg_shell instead of wl_shell.

http://cgit.freedesktop.org/wayland/weston/commit/?id=dfaf65ba1636e49b850adff34f31de00b5f06bba

Cheers,
Ander



More information about the wayland-devel mailing list