[PATCH] Introduce set_size_hints xdg_surface request.

Jasper St. Pierre jstpierre at mecheye.net
Tue Aug 5 18:14:47 PDT 2014


This doesn't work in the case of tiling WMs which may want some up-front
information about window sizes so they can lay them out correctly.
Currently, we say that the maximize and fullscreen states are strictly
sized, and clients *must* submit window geometry that's equivalent to that,
so there needs to be some negotiation from the point of the client so it
can say that it won't render a buffer at a silly size.


On Tue, Aug 5, 2014 at 9:11 PM, Bill Spitzak <spitzak at gmail.com> wrote:

> This should not be necessary. Client can just ignore the requested size
> and make the buffer the size it wants.
>
>
> On 08/05/2014 12:07 PM, Jari Vetoniemi wrote:
>
>> Rationale for this patch is to provide way for applications that can't go
>> below/above
>> certain bounds to inform compositor about it.
>>
>> More feedback is needed. For example are maximimum size useful for any
>> particular application?
>> ---
>>   protocol/xdg-shell.xml | 18 ++++++++++++++++++
>>   1 file changed, 18 insertions(+)
>>
>> diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml
>> index bd36231..6e48ae6 100644
>> --- a/protocol/xdg-shell.xml
>> +++ b/protocol/xdg-shell.xml
>> @@ -235,6 +235,24 @@
>>         <arg name="edges" type="uint" summary="which edge or corner is
>> being dragged"/>
>>       </request>
>>
>> +    <request name="set_size_hints">
>> +      <description summary="provide surface size hints">
>> +        Server should use these hints to figure out how much surface may
>> be,
>> +        resized so that the content still remains sane. Hints will remain
>> +        the same until set_size_hints is requested again.
>> +
>> +        Hints set this way are double buffered. They will get applied on
>> +        the next commit.
>> +
>> +        These hints should take effect regardless of the surface state.
>> +        A size less than zero unsets the hint.
>> +      </description>
>> +      <arg name="min_width" type="int" summary="minimum width of the
>> surface"/>
>> +      <arg name="min_height" type="int" summary="minimum height of the
>> surface"/>
>> +      <arg name="max_width" type="int" summary="maximum width of the
>> surface"/>
>> +      <arg name="max_height" type="int" summary="maximum height of the
>> surface"/>
>> +    </request>
>> +
>>       <enum name="state">
>>         <description summary="types of state on the surface">
>>           The different state values used on the surface. This is
>> designed for
>>
>>  _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>



-- 
  Jasper
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20140805/d4ce81c2/attachment.html>


More information about the wayland-devel mailing list