> On Apr 7, 2016, at 1:56 AM, Olivier Fourdan <ofour...@redhat.com> wrote: > > Some application may wish to restrict their window in size, but > xdg-shell has no mechanism for the client to advertise such a maximum > or minimum size the compositor can use. > > As a result, the compositor may try to maximize or fullscreen a window > while the client would not allow for the requested size. > > Add new requests "set_preferred_max_size" and "set_preferred_min_size" > to xdg-shell so that the client can tell the compositor which would be > its preferred smallest/largest acceptable size, so that he compositor > can decide if maximize or fullscreen makes sense, draw an accurate > animation, etc. > > Signed-off-by: Olivier Fourdan <ofour...@redhat.com> > Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=764413
Hi Olivier, Some minor spelling fixes noted below. > --- > v2: Rename the request to "set_preferred_max_size", > add "set_preferred_min_size" as well > v3: Rebase above patch 72427 in branch xdg-shell-unstable-v6 > Rephrase description to clarify the unscaled size and using 0 to > reset back the preferred size to an unspecified state > > unstable/xdg-shell/xdg-shell-unstable-v5.xml | 62 ++++++++++++++++++++++++++++ > 1 file changed, 62 insertions(+) > > diff --git a/unstable/xdg-shell/xdg-shell-unstable-v5.xml > b/unstable/xdg-shell/xdg-shell-unstable-v5.xml > index 542491f..6e7fa6e 100644 > --- a/unstable/xdg-shell/xdg-shell-unstable-v5.xml > +++ b/unstable/xdg-shell/xdg-shell-unstable-v5.xml > @@ -462,6 +462,68 @@ > <arg name="height" type="int"/> > </request> > > + <request name="set_preferred_max_size"> > + <description summary="set the preferred maximum size"> > + Set a preferred maximum size for the surface. > + > + The client can specify a preferred maximum size to tell the > + compositor that a surface should not be resized beyond this > + size. > + > + The compositor may use this information from the client to allow > + or disallow different states like maximixe or fullscreen and maximize > + draw accurate animations. > + > + Similarily, a tiling window manager can use this information to Similarly > + place and resize client windows in a more effective way. > + > + If never set, the size of the surface is not limited by the client. > + > + A value of zero in the request for either width, height or both > + means that the client has no preference regarding the minimum size > + in the given dimension. As a result, a client wishing to reset the > + preferred minimum size to an unspecified state can use zero for > + width and height in the request. > + > + The values provided by the client are unscaled, the compositor > + needs to apply the relevant scale for the surface for its own > + size computations. > + </description> > + <arg name="width" type="int"/> > + <arg name="height" type="int"/> > + </request> > + > + <request name="set_preferred_min_size"> > + <description summary="set the preferred minimum size"> > + Set a preferred minimum size for the surface. > + > + The client can specify a preferred minimum size to tell the > + compositor that a surface should not be resized below this > + size. > + > + The compositor may use this information from the client to allow > + or disallow different states like maximixe or fullscreen and maximize > + draw accurate animations. > + > + Similarily, a tiling window manager can use this information to Similarly > + place and resize client windows in a more effective way. > + > + If never set, the size of the surface is not limited by the client. > + > + A value of zero in the request for either width, height or both > + means that the client has no preference regarding the maximum size > + in the given dimension. As a result, a client wishing to reset the > + preferred maximum size to an unspecified state can use zero for > + width and height in the request. > + > + The values provided by the client are unscaled, the compositor , and the compositor yong > + needs to apply the relevant scale for the surface for its own > + size computations. > + </description> > + <arg name="width" type="int"/> > + <arg name="height" type="int"/> > + </request> > + > <request name="set_maximized"> > <description summary="maximize the window"> > Maximize the surface. > -- > 2.5.5 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel