On Tue, Jul 29, 2014 at 9:16 PM, Bill Spitzak <spit...@gmail.com> wrote:
> On 07/29/2014 11:40 AM, Manuel Bachmann wrote: > > When creating a xdg_surface, the surface will not be mapped (i.e. shown) >> by desktop-shell anymore. It will only be if xdg_surface_present() has >> been called once. >> > > There seems to be a design goal in Wayland to prevent clients from making > surfaces that they never map. So it would be better if creation + commit of > a surface did the same thing as present. Also this does not break existing > clients. > There is nothing special about the first time the surface wants attention > (other than historical legacy). The desktop should be allowed to turn this > into a notification just like it would on subsequent calls. > Agreed. Especially if you start an application, but it's slow to start, and you have typed into the current window or have navigated away from it since, you should get a popup instead of the window immediately mapped. This is known as "focus stealing prevention". Unfortunately, the protocol as Manuel mocked up doesn't have the event timestamp. This is required so we can track when the surface was intended to be presented. If called twice, or more, the request will send an event to >> desktop-shell, so it can display a notification. >> > > This is not controlled by a count, but by whether a window is already > visible or already in the notification state. Clients should be able to > send a lot of these in a row. They cannot reliably test if they are > invisible and send the request only then, as there is a race condition. > Yes, this is what's intended. I also think the term "present" is not a great idea. This should be exactly > the same as "raise" or "show" or "activate" or any number of other terms, > but I have never seen the word "present" used before. I would reuse an > existing term. One reason is to prevent somebody else from adding a > redundant api for that term, because they did not realize "present" is the > thing they are looking for. > For reference, the name was taken from gtk_window_present. I am fine with alternate names for the request, including "activate". I am not comfortable with "raise" or "show", though, as the request is designed to *present* the surface to the window, whenever possible. This may imply a workspace switch, too. The name "raise" or "show" simply says to me about the stacking order or the mapped state, but this may just be my X11 experience talking. > _______________________________________________ > wayland-devel mailing list > wayland-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/wayland-devel > -- Jasper
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel