black surface in desktop shell fullscreen mode

Giulio Camuffo giuliocamuffo at gmail.com
Thu Oct 8 01:33:15 PDT 2015


2015-10-08 9:59 GMT+03:00 Pekka Paalanen <ppaalanen at gmail.com>:
> On Thu, 8 Oct 2015 11:12:42 +0800
> zou lan <nancy.lan.zou at gmail.com> wrote:
>
>> >>If a client really wants to use the transparency, and does not want
>> opaque black bars, it can be the client's responsibility to produce a
>> buffer that can fill the screen.
>>
>> This is what the client wants to. The Qt app call "hide" function just
>> wants to implement a function like minimize the window. But there is no
>> minimize in fullscreen mode. I think maybe the qtwayland
>> can implement the "hide" to make the window really transparent , not a
>> black screen now.
>
> Hi,
>
> "hide" should be implemented by destroying the wl_surface and/or the
> xdg_surface, in case committing a NULL wl_buffer is not allowed by the
> xdg_shell spec.
>
> "Minimizing" is a very different operation, you would use
> xdg_surface.set_minimized for that, and I don't think being fullscreen
> prevents that in any way.
>
> Both of those do what you want: make the window disappear.
>
> Making a window completely transparent though is not something you
> should try to do, and it won't make a fullscreen window disappear
> guaranteed.
>
> So, my question stands: what does Qt do in Wayland terms for "hide"?
> Is it using wl_shell or xdg_shell protocol?

qtwayland uses wl_shell unless the user explicitly enables xdg_shell,
and right now hide() attachs a NULL buffer. Even in the xdg_shell
case, so that's broken.


--
Giulio

>
>
> Thanks,
> pq


More information about the wayland-devel mailing list