transient surfaces for xwayland and tooltip love

Bill Spitzak spitzak at gmail.com
Tue May 8 16:10:27 PDT 2012


I was suggesting that a different wayland call be used to have any 
effect on focus, and it can be called for any surface. There is no need 
for create_transient to give the surface focus because this call can be 
done immediately afterwards.

Whether the surface has focus or not is not really part of it's "type" 
and it should be possible for the rules to vary over time.

Tiago Vignatti wrote:
> On 05/08/2012 02:21 AM, Bill Spitzak wrote:
>>
>> The server cannot be in charge of focus, because you will end up with
>> the X mess of clients guessing what type of window gets the correct 
>> focus.
>>
>> Instead the client should be able to set the focus for any input device
>> to any of it's windows. The server can refuse the request (for instance
>> if there is a newer one, or if the input device's related pointer is not
>> pointing at one of the client's windows) but never changes focus except
>> in response to such requests.
>>
>> Then whether the tooltip gets focus is simply a decision by the client,
>> and it can even vary depending on the user's actions (clicking on the
>> text in the tooltip may want to put the focus inside it, for instance).
> 
> Yep, and that's basically what I've suggested. So the client interface 
> I'm proposing is:
> 
> +    window = window_create_transient(parent->display, parent, x, y,
> +            WL_SHELL_SURFACE_TRANSIENT_METHOD_INACTIVE);
> 
> where you toggle the ACTIVE or INACTIVE for respectively having focus or 
> not.
> 
>    Tiago
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list