protocols: Replace seat-management with transient-seat

multi-seat
Andri Yngvason 2020-12-29 18:49:31 +00:00
parent e037ca32ec
commit 5476e431bd
3 changed files with 90 additions and 53 deletions

View File

@ -21,7 +21,7 @@ client_protocols = [
'xdg-output-unstable-v1.xml',
'linux-dmabuf-unstable-v1.xml',
'wlr-data-control-unstable-v1.xml',
'wlr-seat-management-unstable-v1.xml',
'transient-seat-unstable-v1.xml',
]
client_protos_src = []

View File

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<protocol name="transient_seat_unstable_v1">
<copyright>
Copyright © 2020 Andri Yngvason
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next
paragraph) shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
</copyright>
<description summary="Protocol for creating temporary seats">
The transient seat protocol can be used by clients to create independent
seats that will be removed when the client disconnects. The client also gets
a handle to the seat which can be used to remove the seat.
</description>
<interface name="zext_transient_seat_manager_v1" version="1">
<request name="create">
<description summary="Create a transient seat">
Create a new seat that is removed when the client closes the connection.
The client may suggest a name for the seat, but the server may choose
whichever name it sees fit, except the name must not collide with the
name of another seat.
It is suggested that the client choose a sufficiently unique name, e.g.
something containing the pid and an incremental numeric value.
</description>
<arg name="suggested_name" type="string"/>
<arg name="seat" type="new_id" interface="zext_transient_seat_v1"/>
</request>
<request name="destroy" type="destructor">
<description summary="Destroy the manager">
Destroy the manager
</description>
</request>
</interface>
<interface name="zext_transient_seat_v1" version="1">
<enum name="error">
<entry name="unspec" value="0"
summary="Operation failed for unspecified reason"/>
<entry name="name_taken" value="1"
summary="The suggested name was already taken"/>
<entry name="invalid_name" value="2"
summary="The suggested name contains invalid characters"/>
</enum>
<event name="failed">
<description summary="seat creation failed">
This event indicates that the seat creation failed. No event is
generated after this and the client should destroy the transient seat
object.
</description>
<arg name="error" type="uint" enum="error"/>
</event>
<event name="ready">
<description summary="seat has been created">
This event indicates that the seat has been created and tells the client
which name was chosen for it. It is generated after the seat is created.
No event is generated after this.
</description>
<arg name="name" type="string"/>
</event>
<request name="destroy" type="destructor">
<description summary="Destroy the seat">
Destroy the seat
</description>
</request>
</interface>
</protocol>

View File

@ -1,52 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<protocol name="wlr_seat_management_unstable_v1">
<copyright>
Copyright © 2020 Andri Yngvason
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next
paragraph) shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
</copyright>
<description summary="Protocol for managing seats">
</description>
<interface name="zwlr_seat_manager_v1" version="1">
<request name="create_chair">
<description summary="Create a transient seat">
Create a new seat that is removed when the client closes the connection.
</description>
<arg name="name" type="string"/>
<arg name="seat" type="new_id" interface="zwlr_chair_v1"/>
</request>
<request name="destroy" type="destructor">
<description summary="Destroy the manager">
Destroy the manager
</description>
</request>
</interface>
<interface name="zwlr_chair_v1" version="1">
<request name="destroy" type="destructor">
<description summary="Destroy the chair">
Destroy the chair
</description>
</request>
</interface>
</protocol>