Hi, On Wed, Jun 1, 2016 at 5:19 AM Olivier Fourdan <[email protected]> wrote:
> When tiled, clients must obey the window geometry specified in the > configure event and can choose to hide some of their decorations. > > Signed-off-by: Olivier Fourdan <[email protected]> > --- > unstable/xdg-shell/xdg-shell-unstable-v6.xml | 27 > +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/unstable/xdg-shell/xdg-shell-unstable-v6.xml > b/unstable/xdg-shell/xdg-shell-unstable-v6.xml > index ce57153..550a0e5 100644 > --- a/unstable/xdg-shell/xdg-shell-unstable-v6.xml > +++ b/unstable/xdg-shell/xdg-shell-unstable-v6.xml > @@ -343,6 +343,33 @@ > active. Do not assume this means that the window actually has > keyboard or pointer focus. > </description> > + <entry name="tiled_on_top" value="5" summary="the surface is tiled > on its top edge"> > + <description summary="the surface is tiled on its top side"> > + The top side of the surface is tiled, either to another surface > + or a monitor edge. The window geometry specified in the configure > + event must be obeyed by the client. > + </description> > + </entry> > + <entry name="tiled_on_bottom" value="6" summary="the surface is > tiled on its bottom edge"> > + <description summary="the surface is tiled on its bottom side"> > + The bottom side of the surface is tiled, either to another > surface > + or a monitor edge. The window geometry specified in the configure > + event must be obeyed by the client. > + </description> > + </entry> > + <entry name="tiled_on_left" value="7" summary="the surface is tiled > on its left edge"> > + <description summary="the surface is tiled on its left side"> > + The left side of the surface is tiled, either to another surface > + or a monitor edge. The window geometry specified in the configure > + event must be obeyed by the client. > + </description> > + </entry> > + <entry name="tiled_on_right" value="8" summary="the surface is > tiled on its right edge"> > + <description summary="the surface is tiled on its right side"> > + TThe right side of the surface is tiled, either to another > surface > + or a monitor edge. The window geometry specified in the configure > + event must be obeyed by the client. > + </description> > </entry> > </enum> > > -- > 2.7.4 > > > I've read the ticket linked in the other mail, but your use of "tiled" here is confusing to me since you (and the ticket) appear to be conflating two separate-but-unrelated meanings. "Tiled" is a type of window layout policy which organizes windows into a tiled grid formation; this is in opposition to "stacking". The ticket you linked seems to be primarily about positioning windows to take up 50% of screen geometry, (e.g., left half of screen, top half of screen, ...). This seems a lot more like a maximize state to me since it's based on screen geometry. In X11 there's NETWM hints for vertical/horizontal maximize: EFL uses these to handle partial maximizations, and in Wayland we simply use the normal MAXIMIZE window state since directionality is irrelevant. I think MAXIMIZE fully covers this case and there is no need for any further protocol to inform the client. In the case of the real "tiled" state, (i.e., a tiling layout policy), I think this is something which should be a single draw state. There's no need to inform a client about its surface's relative position (e.g., any of your proposed directional tiled values) since the result is the same in every case--the client must obey configured geometry. The difference from the MAXIMIZE state here is mostly conceptual: MAXIMIZE indicates to a client that a surface is taking up the entire screen's geometry on at least one axis and thus it may choose to draw UI elements differently (e.g., showing/hiding extra toolbars along the larger axis). A TILED state simply informs the client that it must obey sizing policies and draw rectangular borders. A MAXIMIZED surface cannot be tiled (since it's implicitly "tiled" by being maximized), but a tiled surface can toggle MAXIMIZE.
_______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
