|
|
|
<protocol>
|
|
|
|
|
|
|
|
<interface name="display" version="1">
|
|
|
|
<event name="invalid_object">
|
|
|
|
<arg name="object_id" type="uint"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<event name="invalid_method">
|
|
|
|
<arg name="object_id" type="uint"/>
|
|
|
|
<arg name="opcode" type="uint"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<event name="no_memory"/>
|
|
|
|
|
|
|
|
<event name="global">
|
|
|
|
<arg name="id" type="new_id" interface="object"/>
|
|
|
|
<arg name="name" type="string"/>
|
|
|
|
<arg name="version" type="uint"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<event name="range">
|
|
|
|
<arg name="base" type="uint"/>
|
|
|
|
</event>
|
|
|
|
</interface>
|
|
|
|
|
|
|
|
<interface name="compositor" version="1">
|
|
|
|
<request name="create_surface">
|
|
|
|
<arg name="id" type="new_id" interface="surface"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<request name="commit">
|
|
|
|
<arg name="key" type="uint"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<event name="acknowledge">
|
|
|
|
<arg name="key" type="uint"/>
|
|
|
|
<arg name="frame" type="uint"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<event name="frame">
|
|
|
|
<arg name="frame" type="uint"/>
|
|
|
|
<arg name="timestamp" type="uint"/>
|
|
|
|
</event>
|
|
|
|
</interface>
|
|
|
|
|
|
|
|
<interface name="drm" version="1">
|
|
|
|
<!-- dri2 auth and create buffer -->
|
|
|
|
<request name="authenticate">
|
|
|
|
<arg name="id" type="uint"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<request name="create_buffer">
|
|
|
|
<arg name="id" type="new_id" interface="buffer"/>
|
|
|
|
<arg name="name" type="uint"/>
|
|
|
|
<arg name="width" type="int"/>
|
|
|
|
<arg name="height" type="int"/>
|
|
|
|
<arg name="stride" type="uint"/>
|
|
|
|
<arg name="visual" type="object" interface="visual"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<event name="device">
|
|
|
|
<arg name="name" type="string"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<event name="authenticated"/>
|
|
|
|
</interface>
|
|
|
|
|
|
|
|
<interface name="buffer" version="1">
|
|
|
|
<request name="destroy"/>
|
|
|
|
</interface>
|
|
|
|
|
|
|
|
<interface name="shell" version="1">
|
|
|
|
<request name="move">
|
|
|
|
<arg name="surface" type="object" interface="surface"/>
|
|
|
|
<arg name="input_device" type="object" interface="input_device"/>
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<request name="resize">
|
|
|
|
<arg name="surface" type="object" interface="surface"/>
|
|
|
|
<arg name="input_device" type="object" interface="input_device"/>
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
<!-- edges is an enum, need to get the values in here -->
|
|
|
|
<arg name="edges" type="uint"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<event name="configure">
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
<!-- Same as edges except also move (16) -->
|
|
|
|
<arg name="type" type="uint"/>
|
|
|
|
<arg name="surface" type="object" interface="surface"/>
|
|
|
|
<arg name="x" type="int"/>
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
<arg name="width" type="int"/>
|
|
|
|
<arg name="height" type="int"/>
|
|
|
|
</event>
|
|
|
|
</interface>
|
|
|
|
|
|
|
|
<interface name="drag" version="1">
|
|
|
|
<request name="prepare">
|
|
|
|
<!-- Start a drag action from given surface and device for the
|
|
|
|
grab started by the button click at time -->
|
|
|
|
<arg name="surface" type="object" interface="surface"/>
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<!-- Add an offered mime type. Can be called several times to
|
|
|
|
offer multiple types, but must be called before 'activate'. -->
|
|
|
|
<request name="offer">
|
|
|
|
<arg name="type" type="string"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<request name="activate"/>
|
|
|
|
|
|
|
|
<!-- Cancel the drag. -->
|
|
|
|
<request name="cancel"/>
|
|
|
|
|
|
|
|
<!-- Called by the drag target to accept the offer of the given
|
|
|
|
type -->
|
|
|
|
<request name="accept">
|
|
|
|
<arg name="type" type="string"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<!-- Called by the drag target to initiate the drag finish
|
|
|
|
sequence. Send the pipe fd to the compositor, which forwards
|
|
|
|
it to the source in the 'finish' event -->
|
|
|
|
<request name="receive">
|
|
|
|
<arg name="fd" type="fd"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<!-- Sent at connect time to announce the association -->
|
|
|
|
<event name="device">
|
|
|
|
<arg name="device" type="object" interface="input_device"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<!-- Similar to device::pointer_focus. Sent to potential
|
|
|
|
target surfaces to offer drag data. If the device
|
|
|
|
leaves the window, the drag stops or the originator cancels
|
|
|
|
the drag, this event is sent with the NULL surface. -->
|
|
|
|
<event name="pointer_focus">
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
<arg name="surface" type="object" interface="surface"/>
|
|
|
|
<arg name="x" type="int"/>
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
<arg name="surface_x" type="int"/>
|
|
|
|
<arg name="surface_y" type="int"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<!-- Sent after the pointer_focus event to announce the types
|
|
|
|
offered. One event per offered mime type. -->
|
|
|
|
<event name="offer">
|
|
|
|
<arg name="type" type="string"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<!-- Similar to device::motion. Sent to potential target surfaces
|
|
|
|
as the drag pointer moves around in the surface. -->
|
|
|
|
<event name="motion">
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
<arg name="x" type="int"/>
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
<arg name="surface_x" type="int"/>
|
|
|
|
<arg name="surface_y" type="int"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<!-- Sent to drag originator in response to pointer_focus and
|
|
|
|
motion events. If a target does not accept any of the
|
|
|
|
offered types, type is NULL -->
|
|
|
|
<event name="target">
|
|
|
|
<arg name="mime_type" type="string"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<!-- Sent to target, to indicate that the drag is finishing. The
|
|
|
|
last motion/pointer_focus event gives the location of the
|
|
|
|
drop. Target must respond with the 'receive' request, which
|
|
|
|
sends an fd to the source for writing the drag data. -->
|
|
|
|
<event name="drop"/>
|
|
|
|
|
|
|
|
<!-- Sent to drag source when the drag is finished. The final
|
|
|
|
mime type is that of the last target event. If that was
|
|
|
|
NULL, no drag target was valid when the drag finished, fd is
|
|
|
|
undefined and the source should not send data. The event is
|
|
|
|
also sent in case a drag source tries to activate a drag
|
|
|
|
after the grab was released, in which case mime_type will
|
|
|
|
also be NULL. -->
|
|
|
|
<event name="finish">
|
|
|
|
<arg name="fd" type="fd"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
</interface>
|
|
|
|
|
|
|
|
<interface name="surface" version="1">
|
|
|
|
<request name="destroy"/>
|
|
|
|
|
|
|
|
<request name="attach">
|
|
|
|
<arg name="buffer" type="object" interface="buffer"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<request name="map">
|
|
|
|
<arg name="x" type="int"/>
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
<arg name="width" type="int"/>
|
|
|
|
<arg name="height" type="int"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<request name="damage">
|
|
|
|
<arg name="x" type="int"/>
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
<arg name="width" type="int"/>
|
|
|
|
<arg name="height" type="int"/>
|
|
|
|
</request>
|
|
|
|
</interface>
|
|
|
|
|
|
|
|
<interface name="input_device" version="1">
|
|
|
|
<request name="attach">
|
|
|
|
<arg name="buffer" type="object" interface="buffer"/>
|
|
|
|
<arg name="hotspot_x" type="int"/>
|
|
|
|
<arg name="hotspot_y" type="int"/>
|
|
|
|
</request>
|
|
|
|
|
|
|
|
<event name="motion">
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
<arg name="x" type="int"/>
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
<arg name="surface_x" type="int"/>
|
|
|
|
<arg name="surface_y" type="int"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<event name="button">
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
<arg name="button" type="uint"/>
|
|
|
|
<arg name="state" type="uint"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<event name="key">
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
<arg name="key" type="uint"/>
|
|
|
|
<arg name="state" type="uint"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<event name="pointer_focus">
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
<arg name="surface" type="object" interface="surface"/>
|
|
|
|
<arg name="x" type="int"/>
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
<arg name="surface_x" type="int"/>
|
|
|
|
<arg name="surface_y" type="int"/>
|
|
|
|
</event>
|
|
|
|
|
|
|
|
<event name="keyboard_focus">
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
<arg name="surface" type="object" interface="surface"/>
|
|
|
|
<arg name="keys" type="array"/>
|
|
|
|
</event>
|
|
|
|
</interface>
|
|
|
|
|
|
|
|
<interface name="output" version="1">
|
|
|
|
<event name="geometry">
|
|
|
|
<arg name="width" type="int"/>
|
|
|
|
<arg name="height" type="int"/>
|
|
|
|
</event>
|
|
|
|
</interface>
|
|
|
|
|
|
|
|
<interface name="visual" version="1">
|
|
|
|
|
|
|
|
</protocol>
|