3 <interface name="display" version="1">
4 <event name="invalid_object">
5 <arg name="object_id" type="uint"/>
8 <event name="invalid_method">
9 <arg name="object_id" type="uint"/>
10 <arg name="opcode" type="uint"/>
13 <event name="no_memory"/>
16 <arg name="id" type="new_id" interface="object"/>
17 <arg name="name" type="string"/>
18 <arg name="version" type="uint"/>
22 <arg name="base" type="uint"/>
26 <interface name="compositor" version="1">
27 <request name="create_surface">
28 <arg name="id" type="new_id" interface="surface"/>
31 <request name="commit">
32 <arg name="key" type="uint"/>
35 <event name="acknowledge">
36 <arg name="key" type="uint"/>
37 <arg name="frame" type="uint"/>
41 <arg name="frame" type="uint"/>
42 <arg name="timestamp" type="uint"/>
46 <interface name="drm" version="1">
47 <!-- dri2 auth and create buffer -->
48 <request name="authenticate">
49 <arg name="id" type="uint"/>
52 <request name="create_buffer">
53 <arg name="id" type="new_id" interface="buffer"/>
54 <arg name="name" type="uint"/>
55 <arg name="width" type="int"/>
56 <arg name="height" type="int"/>
57 <arg name="stride" type="uint"/>
58 <arg name="visual" type="object" interface="visual"/>
62 <arg name="name" type="string"/>
65 <event name="authenticated"/>
68 <interface name="buffer" version="1">
69 <request name="destroy" type="destructor"/>
72 <interface name="shell" version="1">
74 <arg name="surface" type="object" interface="surface"/>
75 <arg name="input_device" type="object" interface="input_device"/>
76 <arg name="time" type="uint"/>
79 <request name="resize">
80 <arg name="surface" type="object" interface="surface"/>
81 <arg name="input_device" type="object" interface="input_device"/>
82 <arg name="time" type="uint"/>
83 <!-- edges is an enum, need to get the values in here -->
84 <arg name="edges" type="uint"/>
87 <request name="create_drag">
88 <arg name="id" type="new_id" interface="drag"/>
91 <event name="configure">
92 <arg name="time" type="uint"/>
93 <!-- Same as edges except also move (16) -->
94 <arg name="type" type="uint"/>
95 <arg name="surface" type="object" interface="surface"/>
96 <arg name="x" type="int"/>
97 <arg name="y" type="int"/>
98 <arg name="width" type="int"/>
99 <arg name="height" type="int"/>
103 <interface name="drag" version="1">
104 <!-- Add an offered mime type. Can be called several times to
105 offer multiple types, but must be called before 'activate'. -->
106 <request name="offer">
107 <arg name="type" type="string"/>
110 <request name="activate">
111 <arg name="surface" type="object" interface="surface"/>
112 <arg name="input_device" type="object" interface="input_device"/>
113 <arg name="time" type="uint"/>
116 <!-- Destroy the drag and cancel the session. -->
117 <request name="destroy" type="destructor"/>
119 <!-- Sent when a target accepts pointer_focus or motion events.
120 If a target does not accept any of the offered types, type is
122 <event name="target">
123 <arg name="mime_type" type="string"/>
126 <!-- Sent when the drag is finished. The final mime type is that
127 of the last target event. If that was NULL, no drag target
128 was valid when the drag finished, fd is undefined and the
129 source should not send data. The event is also sent in case
130 a drag source tries to activate a drag after the grab was
131 released, in which case mime_type will also be NULL. -->
132 <event name="finish">
133 <arg name="fd" type="fd"/>
138 <interface name="drag_offer" version="1">
139 <!-- Call to accept the offer of the given type -->
140 <request name="accept">
141 <arg name="time" type="uint"/>
142 <arg name="type" type="string"/>
145 <!-- Called to initiate the drag finish sequence. Sends the pipe
146 fd to the compositor, which forwards it to the source in the
148 <request name="receive">
149 <arg name="fd" type="fd"/>
152 <!-- Sent before the pointer_focus event to announce the types
153 offered. One event per offered mime type. -->
155 <arg name="type" type="string"/>
158 <!-- Similar to device::pointer_focus. Sent to potential target
159 surfaces to offer drag data. If the device leaves the
160 window, the drag stops or the originator cancels the drag,
161 this event is sent with the NULL surface, at which point the
162 drag object may no longer be valid. -->
163 <event name="pointer_focus">
164 <arg name="time" type="uint"/>
165 <arg name="surface" type="object" interface="surface"/>
166 <arg name="x" type="int"/>
167 <arg name="y" type="int"/>
168 <arg name="surface_x" type="int"/>
169 <arg name="surface_y" type="int"/>
172 <!-- Similar to device::motion. Sent to potential target surfaces
173 as the drag pointer moves around in the surface. -->
174 <event name="motion">
175 <arg name="time" type="uint"/>
176 <arg name="x" type="int"/>
177 <arg name="y" type="int"/>
178 <arg name="surface_x" type="int"/>
179 <arg name="surface_y" type="int"/>
182 <!-- Sent to indicate that the drag is finishing. The last
183 motion/pointer_focus event gives the location of the drop.
184 Target must respond with the 'receive' request, which sends
185 an fd to the source for writing the drag data. -->
189 <interface name="surface" version="1">
190 <request name="destroy" type="destructor"/>
192 <request name="attach">
193 <arg name="buffer" type="object" interface="buffer"/>
197 <arg name="x" type="int"/>
198 <arg name="y" type="int"/>
199 <arg name="width" type="int"/>
200 <arg name="height" type="int"/>
203 <request name="damage">
204 <arg name="x" type="int"/>
205 <arg name="y" type="int"/>
206 <arg name="width" type="int"/>
207 <arg name="height" type="int"/>
211 <interface name="input_device" version="1">
212 <request name="attach">
213 <arg name="buffer" type="object" interface="buffer"/>
214 <arg name="hotspot_x" type="int"/>
215 <arg name="hotspot_y" type="int"/>
218 <event name="motion">
219 <arg name="time" type="uint"/>
220 <arg name="x" type="int"/>
221 <arg name="y" type="int"/>
222 <arg name="surface_x" type="int"/>
223 <arg name="surface_y" type="int"/>
226 <event name="button">
227 <arg name="time" type="uint"/>
228 <arg name="button" type="uint"/>
229 <arg name="state" type="uint"/>
233 <arg name="time" type="uint"/>
234 <arg name="key" type="uint"/>
235 <arg name="state" type="uint"/>
238 <event name="pointer_focus">
239 <arg name="time" type="uint"/>
240 <arg name="surface" type="object" interface="surface"/>
241 <arg name="x" type="int"/>
242 <arg name="y" type="int"/>
243 <arg name="surface_x" type="int"/>
244 <arg name="surface_y" type="int"/>
247 <event name="keyboard_focus">
248 <arg name="time" type="uint"/>
249 <arg name="surface" type="object" interface="surface"/>
250 <arg name="keys" type="array"/>
254 <interface name="output" version="1">
255 <event name="geometry">
256 <arg name="width" type="int"/>
257 <arg name="height" type="int"/>
261 <interface name="visual" version="1">