[RFC wayland 2/2] protocol: Don't silently fail to create seat device objects

Bill Spitzak spitzak at gmail.com
Thu Jul 30 12:26:29 PDT 2015


On Thu, Jul 30, 2015 at 6:40 AM, Marek Chalupa <mchqwerty at gmail.com> wrote:


> -        This request only takes effect if the seat has the pointer
>> -        capability.
>> +       This request always takes effect, but the created wl_pointer
>> object
>> +       will only emit events as long as the seat has the pointer
>> capability.
>>
>
I would delete all the stuff about "takes effect" as it is confusing. How
about:

    The created wl_pointer object will only emit events as long as the seat
has the pointer capability.

> To have it comprehensive, you could mention that even the requests to
such object will be ignored.

I don't think "release" is ignored. And the only other request I see is
"set_cursor" which says it is ignored if the caller does not have the
pointer focus, which it won't when there is no pointer, so that is already
true. So anyway it seems that what happens when there is no capability
should be described in the request, and probably only when it is not
obvious.

And more unspecified things: client should destroy the (let's say) wl_touch
> once it gets capabilities without touch (from the formulation
> is not clear that after the seat gains the touch capability back,
> the old object won't start functioning again).
>

I would greatly prefer the object to just start/stop working when the
capabilities change. This is probably easier for the compositor to
implement and a lot easier on the clients, who would like to create the
wl_seat and wl_pointer and wl_keyboard all at once and assume these work
without changes until the seat itself is destroyed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20150730/99a6f5af/attachment.html>


More information about the wayland-devel mailing list