On Thu, Apr 09, 2015 at 06:22:53PM +0200, Manuel Bachmann wrote: > xdg_surface_present() and xdg_surface_present_from_event() > are new requests supposed to be called on an existing > xdg_surface. They tell the compositor that the surface > has new content which may be of interest to the user. > The compositor may then choose to notify the user. > > xdg_surface_present_from_event() takes a serial coming > from an input (wl_keyboard, wl_pointer, wl_touch) event as > an argument. If the serial is valid and sufficiently recent, > we can suppose the new content has been issued at the user's > request ; the compositor may then choose to raise the > surface directly. Otherwise, it just behaves like present(). > > Signed-off-by: Manuel Bachmann <manuel.bachm...@open.eurogiciel.org>
Reviewed-by: Bryce Harrington <br...@osg.samsung.com> > --- > desktop-shell/shell.c | 15 +++++++++++++++ > protocol/xdg-shell.xml | 20 ++++++++++++++++++++ > 2 files changed, 35 insertions(+) > > diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c > index f7c928e..d1d3f3c 100644 > --- a/desktop-shell/shell.c > +++ b/desktop-shell/shell.c > @@ -3923,6 +3923,19 @@ xdg_surface_set_minimized(struct wl_client *client, > set_minimized(shsurf->surface); > } > > +static void > +xdg_surface_present(struct wl_client *client, > + struct wl_resource *resource) > +{ > +} > + > +static void > +xdg_surface_present_from_event(struct wl_client *client, > + struct wl_resource *resource, > + uint32_t serial) > +{ > +} > + > static const struct xdg_surface_interface xdg_surface_implementation = { > xdg_surface_destroy, > xdg_surface_set_parent, > @@ -3938,6 +3951,8 @@ static const struct xdg_surface_interface > xdg_surface_implementation = { > xdg_surface_set_fullscreen, > xdg_surface_unset_fullscreen, > xdg_surface_set_minimized, > + xdg_surface_present, > + xdg_surface_present_from_event, > }; > > static void > diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml > index 68cf469..10f82c5 100644 > --- a/protocol/xdg-shell.xml > +++ b/protocol/xdg-shell.xml > @@ -396,6 +396,26 @@ > </description> > </request> > > + <request name="present"> > + <description summary="the window wants attention from the user"> > + The surface has new content and would like the compositor > + to notify the user. > + </description> > + </request> > + > + <request name="present_from_event"> > + <description summary="the window needs attention from the user"> > + The surface has new content and would like the compositor > + to notify the user. > + > + If a valid and sufficiently recent serial coming from an > + input (keyboard, pointer, touch) event is passed as an > + argument, the compositor may want to raise the surface. > + Otherwise, the request just behaves like the "present" one. > + </description> > + <arg name="serial" type="uint" summary="serial of an input event"/> > + </request> > + > <event name="close"> > <description summary="surface wants to be closed"> > The close event is sent by the compositor when the user > -- > 1.8.3.1 > > _______________________________________________ > wayland-devel mailing list > wayland-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel