Re: [PATCH wayland-protocols v3 01/17] Add xdg-shell to stable/

2017-11-21 Thread Jonas Ådahl
On Wed, Nov 22, 2017 at 09:17:51AM +0200, Philipp Kerling wrote:
> Hi,
> 
> 2017-11-15 (水) の 19:19 +0800 に Jonas Ådahl さんは書きました:
> > Add a copy of xdg-shell unstable v6 to stable/xdg-shell/xdg-
> > shell.xml.
> > Folliwing this commit, it will go through a set of changes, before
> > being declared stable.
> I have a question here (before declaring it stable) that I hope was not
> addressed at some point already:
> On the one hand, the definitions of "set_fullscreen," "set_maximized,"
> "unset_fullscreen," and "unset_maximized" are worded such that the
> compositor is obliged to follow the client request and change the
> surface state, i.e. 1) the client can assume that the requested state
> transition takes place (if I'm not misreading it) and 2) a compositor
> that completely no-ops e.g. (un)set_fullscreen is technically in
> violation of the protocol. On the other hand, the definition of
> "set_minimized" is worded such that it is a request that might or might
> not be fulfilled.
> Is this intentional? What if a WM does not want to e.g. maximize a
> window for some reason? Or am I reading too much into it? :-)

It might be somewhat loosly worded, but the idea is that the compositor
is the one in control here. A compositor ignoring requests to
(un)maximize or (un)fullscreen etc are not technically in violation of
the protocol, as theoretically it can be implemented in a way that
allows the user or compositor to override any such request, or for
example even have a race condition where the user pressed "unmaximize"
then directly after a "maximize" keybinding.

It'll be visibly missbehaving if it ignores such requests, as pressing
the maximize button doesn't do anything, but with that said, a client
should not actually change the way it draws itself until it is
configured to do so via the configure event, so it is relatively
harmless.

To make it possible to not expose "maximize" functionality etc is
something that has been discussed (i.e. so that clients can adapt their
decorations to not include the maximize action), but it is not planned
to be part of the current proposed version.


Jonas

> 
> Best regards,
> Philipp
> 
> 
> > Signed-off-by: Jonas Ådahl 
> > ---
> >  stable/xdg-shell/README|5 +
> >  stable/xdg-shell/xdg-shell.xml | 1044
> > 
> >  2 files changed, 1049 insertions(+)
> >  create mode 100644 stable/xdg-shell/README
> >  create mode 100644 stable/xdg-shell/xdg-shell.xml
> > 
> > diff --git a/stable/xdg-shell/README b/stable/xdg-shell/README
> > new file mode 100644
> > index 000..2769abb
> > --- /dev/null
> > +++ b/stable/xdg-shell/README
> > @@ -0,0 +1,5 @@
> > +xdg shell protocol
> > +
> > +Maintainers:
> > +Jonas Ådahl 
> > +Mike Blumenkrantz 
> > diff --git a/stable/xdg-shell/xdg-shell.xml b/stable/xdg-shell/xdg-
> > shell.xml
> > new file mode 100644
> > index 000..1c0f924
> > --- /dev/null
> > +++ b/stable/xdg-shell/xdg-shell.xml
> > @@ -0,0 +1,1044 @@
> > +
> > +
> > +
> > +  
> > +Copyright © 2008-2013 Kristian Høgsberg
> > +Copyright © 2013  Rafael Antognolli
> > +Copyright © 2013  Jasper St. Pierre
> > +Copyright © 2010-2013 Intel Corporation
> > +
> > +Permission is hereby granted, free of charge, to any person
> > obtaining a
> > +copy of this software and associated documentation files (the
> > "Software"),
> > +to deal in the Software without restriction, including without
> > limitation
> > +the rights to use, copy, modify, merge, publish, distribute,
> > sublicense,
> > +and/or sell copies of the Software, and to permit persons to
> > whom the
> > +Software is furnished to do so, subject to the following
> > conditions:
> > +
> > +The above copyright notice and this permission notice (including
> > the next
> > +paragraph) shall be included in all copies or substantial
> > portions of the
> > +Software.
> > +
> > +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> > EXPRESS OR
> > +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> > MERCHANTABILITY,
> > +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO
> > EVENT SHALL
> > +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
> > DAMAGES OR OTHER
> > +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> > ARISING
> > +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> > OTHER
> > +DEALINGS IN THE SOFTWARE.
> > +  
> > +
> > +  
> > +
> > +  xdg_shell allows clients to turn a wl_surface into a "real
> > window"
> > +  which can be dragged, resized, stacked, and moved around by
> > the
> > +  user. Everything about this interface is suited towards
> > traditional
> > +  desktop environments.
> > +
> > +
> > +
> > +  
> > +   > +summary="xdg_shell was destroyed before children"/>
> > +   > +summary="the 

Re: [PATCH wayland-protocols v3 01/17] Add xdg-shell to stable/

2017-11-21 Thread Philipp Kerling
Hi,

2017-11-15 (水) の 19:19 +0800 に Jonas Ådahl さんは書きました:
> Add a copy of xdg-shell unstable v6 to stable/xdg-shell/xdg-
> shell.xml.
> Folliwing this commit, it will go through a set of changes, before
> being declared stable.
I have a question here (before declaring it stable) that I hope was not
addressed at some point already:
On the one hand, the definitions of "set_fullscreen," "set_maximized,"
"unset_fullscreen," and "unset_maximized" are worded such that the
compositor is obliged to follow the client request and change the
surface state, i.e. 1) the client can assume that the requested state
transition takes place (if I'm not misreading it) and 2) a compositor
that completely no-ops e.g. (un)set_fullscreen is technically in
violation of the protocol. On the other hand, the definition of
"set_minimized" is worded such that it is a request that might or might
not be fulfilled.
Is this intentional? What if a WM does not want to e.g. maximize a
window for some reason? Or am I reading too much into it? :-)

Best regards,
Philipp


> Signed-off-by: Jonas Ådahl 
> ---
>  stable/xdg-shell/README|5 +
>  stable/xdg-shell/xdg-shell.xml | 1044
> 
>  2 files changed, 1049 insertions(+)
>  create mode 100644 stable/xdg-shell/README
>  create mode 100644 stable/xdg-shell/xdg-shell.xml
> 
> diff --git a/stable/xdg-shell/README b/stable/xdg-shell/README
> new file mode 100644
> index 000..2769abb
> --- /dev/null
> +++ b/stable/xdg-shell/README
> @@ -0,0 +1,5 @@
> +xdg shell protocol
> +
> +Maintainers:
> +Jonas Ådahl 
> +Mike Blumenkrantz 
> diff --git a/stable/xdg-shell/xdg-shell.xml b/stable/xdg-shell/xdg-
> shell.xml
> new file mode 100644
> index 000..1c0f924
> --- /dev/null
> +++ b/stable/xdg-shell/xdg-shell.xml
> @@ -0,0 +1,1044 @@
> +
> +
> +
> +  
> +Copyright © 2008-2013 Kristian Høgsberg
> +Copyright © 2013  Rafael Antognolli
> +Copyright © 2013  Jasper St. Pierre
> +Copyright © 2010-2013 Intel Corporation
> +
> +Permission is hereby granted, free of charge, to any person
> obtaining a
> +copy of this software and associated documentation files (the
> "Software"),
> +to deal in the Software without restriction, including without
> limitation
> +the rights to use, copy, modify, merge, publish, distribute,
> sublicense,
> +and/or sell copies of the Software, and to permit persons to
> whom the
> +Software is furnished to do so, subject to the following
> conditions:
> +
> +The above copyright notice and this permission notice (including
> the next
> +paragraph) shall be included in all copies or substantial
> portions of the
> +Software.
> +
> +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS OR
> +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY,
> +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO
> EVENT SHALL
> +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
> DAMAGES OR OTHER
> +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> ARISING
> +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> OTHER
> +DEALINGS IN THE SOFTWARE.
> +  
> +
> +  
> +
> +  xdg_shell allows clients to turn a wl_surface into a "real
> window"
> +  which can be dragged, resized, stacked, and moved around by
> the
> +  user. Everything about this interface is suited towards
> traditional
> +  desktop environments.
> +
> +
> +
> +  
> +   +  summary="xdg_shell was destroyed before children"/>
> +   +  summary="the client tried to map or destroy a non-
> topmost popup"/>
> +   +  summary="the client specified an invalid popup parent
> surface"/>
> +   +  summary="the client provided an invalid surface
> state"/>
> +   +  summary="the client provided an invalid positioner"/>
> +
> +
> +
> +  
> + Destroy this xdg_shell object.
> +
> + Destroying a bound xdg_shell object while there are surfaces
> + still alive created by this xdg_shell object instance is
> illegal
> + and will result in a protocol error.
> +  
> +
> +
> +
> +  
> + Create a positioner object. A positioner object is used to
> position
> + surfaces relative to some parent surface. See the interface
> description
> + and xdg_surface.get_popup for details.
> +  
> +  
> +
> +
> +
> +  
> + This creates an xdg_surface for the given surface. While
> xdg_surface
> + itself is not a role, the corresponding surface may only be
> assigned
> + a role extending xdg_surface, such as xdg_toplevel or
> xdg_popup.
> +
> + This creates an xdg_surface for the given surface. An
> xdg_surface is
> + used as basis to define a role to a given surface, such as
> xdg_toplevel
> + or xdg_popup. It 

Re: [PATCH wayland-protocols v3 01/17] Add xdg-shell to stable/

2017-11-21 Thread Jonas Ådahl
On Wed, Nov 15, 2017 at 01:01:14PM +, David Edmundson wrote:
> Looks good to me!
> 
> Reviewed-by: David Edmundson 

Thanks, appreciated! Added tag locally so far.


Jonas

> ___
> wayland-devel mailing list
> wayland-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel

___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH wayland-protocols v3 01/17] Add xdg-shell to stable/

2017-11-15 Thread David Edmundson
Looks good to me!

Reviewed-by: David Edmundson 
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


[PATCH wayland-protocols v3 01/17] Add xdg-shell to stable/

2017-11-15 Thread Jonas Ådahl
Add a copy of xdg-shell unstable v6 to stable/xdg-shell/xdg-shell.xml.
Folliwing this commit, it will go through a set of changes, before
being declared stable.

Signed-off-by: Jonas Ådahl 
---
 stable/xdg-shell/README|5 +
 stable/xdg-shell/xdg-shell.xml | 1044 
 2 files changed, 1049 insertions(+)
 create mode 100644 stable/xdg-shell/README
 create mode 100644 stable/xdg-shell/xdg-shell.xml

diff --git a/stable/xdg-shell/README b/stable/xdg-shell/README
new file mode 100644
index 000..2769abb
--- /dev/null
+++ b/stable/xdg-shell/README
@@ -0,0 +1,5 @@
+xdg shell protocol
+
+Maintainers:
+Jonas Ådahl 
+Mike Blumenkrantz 
diff --git a/stable/xdg-shell/xdg-shell.xml b/stable/xdg-shell/xdg-shell.xml
new file mode 100644
index 000..1c0f924
--- /dev/null
+++ b/stable/xdg-shell/xdg-shell.xml
@@ -0,0 +1,1044 @@
+
+
+
+  
+Copyright © 2008-2013 Kristian Høgsberg
+Copyright © 2013  Rafael Antognolli
+Copyright © 2013  Jasper St. Pierre
+Copyright © 2010-2013 Intel Corporation
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+  
+
+  
+
+  xdg_shell allows clients to turn a wl_surface into a "real window"
+  which can be dragged, resized, stacked, and moved around by the
+  user. Everything about this interface is suited towards traditional
+  desktop environments.
+
+
+
+  
+  
+  
+  
+  
+  
+
+
+
+  
+   Destroy this xdg_shell object.
+
+   Destroying a bound xdg_shell object while there are surfaces
+   still alive created by this xdg_shell object instance is illegal
+   and will result in a protocol error.
+  
+
+
+
+  
+   Create a positioner object. A positioner object is used to position
+   surfaces relative to some parent surface. See the interface description
+   and xdg_surface.get_popup for details.
+  
+  
+
+
+
+  
+   This creates an xdg_surface for the given surface. While xdg_surface
+   itself is not a role, the corresponding surface may only be assigned
+   a role extending xdg_surface, such as xdg_toplevel or xdg_popup.
+
+   This creates an xdg_surface for the given surface. An xdg_surface is
+   used as basis to define a role to a given surface, such as xdg_toplevel
+   or xdg_popup. It also manages functionality shared between xdg_surface
+   based surface roles.
+
+   See the documentation of xdg_surface for more details about what an
+   xdg_surface is and how it is used.
+  
+  
+  
+
+
+
+  
+   A client must respond to a ping event with a pong request or
+   the client may be deemed unresponsive. See xdg_shell.ping.
+  
+  
+
+
+
+  
+   The ping event asks the client if it's still alive. Pass the
+   serial specified in the event back to the compositor by sending
+   a "pong" request back with the specified serial. See xdg_shell.ping.
+
+   Compositors can use this to determine if the client is still
+   alive. It's unspecified what will happen if the client doesn't
+   respond to the ping request, or in what timeframe. Clients should
+   try to respond in a reasonable amount of time.
+
+   A compositor is free to ping in any way it wants, but a client must
+   always respond to any xdg_shell object it created.
+  
+  
+
+  
+
+  
+
+  The xdg_positioner provides a collection of rules for the placement of a
+  child surface relative to a parent surface. Rules can be defined to 
ensure
+  the child surface remains within the visible area's borders, and to
+  specify how the child surface changes its position, such as sliding along
+  an axis, or flipping around a rectangle. These