[PATCH] xdg-shell: clarify popup constrain's slide mechanism

Mike Blumenkrantz michael.blumenkrantz at gmail.com
Wed Nov 16 15:31:07 UTC 2016


Some background:

I was implementing v6 over the past few days and noticed, while handling
constraints, that this was a hugely problematic scenario. If a popup was
constrained in a particular way, the compositor could conceivably place it
on the opposite side of the screen over unrelated windows--certainly not
good behavior.

Clamping to the overall toplevel in some way seems pretty sane; popups must
originate from the toplevel (even nested popups), so forcing them to in
some way remain within the toplevel, even if it's only touching the
toplevel by a 1x1 rect, will preserve that relationship.

On Wed, Nov 16, 2016 at 10:24 AM Mike Blumenkrantz <zmike at osg.samsung.com>
wrote:

> some restrictions must be placed on this or else it becomes legal for
> the compositor to place popups in unexpected locations when sliding
> is allowed
>
> Signed-off-by: Mike Blumenkrantz <zmike at osg.samsung.com>
> ---
>  unstable/xdg-shell/xdg-shell-unstable-v6.xml | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/unstable/xdg-shell/xdg-shell-unstable-v6.xml
> b/unstable/xdg-shell/xdg-shell-unstable-v6.xml
> index 6053e3c..30cdaeb 100644
> --- a/unstable/xdg-shell/xdg-shell-unstable-v6.xml
> +++ b/unstable/xdg-shell/xdg-shell-unstable-v6.xml
> @@ -256,7 +256,8 @@
>        </entry>
>        <entry name="slide_x" value="1">
>         <description summary="move along the x axis until unconstrained">
> -         Slide the surface along the x axis until it is no longer
> constrained.
> +         Slide the surface along the x axis within the toplevel surface
> until it
> +         is no longer constrained.
>
>           First try to slide towards the direction of the gravity on the x
> axis
>           until either the edge in the opposite direction of the gravity is
> @@ -271,7 +272,8 @@
>        </entry>
>        <entry name="slide_y" value="2">
>         <description summary="move along the y axis until unconstrained">
> -         Slide the surface along the y axis until it is no longer
> constrained.
> +         Slide the surface along the y axis within the toplevel surface
> until it
> +         is no longer constrained.
>
>           First try to slide towards the direction of the gravity on the y
> axis
>           until either the edge in the opposite direction of the gravity is
> --
> 2.5.5
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20161116/6fed81d6/attachment.html>


More information about the wayland-devel mailing list