aboutsummaryrefslogtreecommitdiffstats
path: root/protocols
diff options
context:
space:
mode:
authorLibravatar emersion <contact@emersion.fr>2018-04-02 15:43:04 -0400
committerLibravatar emersion <contact@emersion.fr>2018-04-02 15:43:04 -0400
commitd4d9f7a48a2c2c295e599e867e40aa85f9f02df8 (patch)
tree99e0e5264060d2cc51caa3ab950f172ea0ba9e0c /protocols
parentMerge pull request #1699 from acrisci/seat-fixes (diff)
downloadsway-d4d9f7a48a2c2c295e599e867e40aa85f9f02df8.tar.gz
sway-d4d9f7a48a2c2c295e599e867e40aa85f9f02df8.tar.zst
sway-d4d9f7a48a2c2c295e599e867e40aa85f9f02df8.zip
protocols: remove xdg-shell XML file
Diffstat (limited to 'protocols')
-rw-r--r--protocols/xdg-shell.xml430
1 files changed, 0 insertions, 430 deletions
diff --git a/protocols/xdg-shell.xml b/protocols/xdg-shell.xml
deleted file mode 100644
index 7bf4ae3a..00000000
--- a/protocols/xdg-shell.xml
+++ /dev/null
@@ -1,430 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<protocol name="xdg_shell">
3
4 <copyright>
5 Copyright © 2008-2013 Kristian Høgsberg
6 Copyright © 2013 Rafael Antognolli
7 Copyright © 2013 Jasper St. Pierre
8 Copyright © 2010-2013 Intel Corporation
9
10 Permission to use, copy, modify, distribute, and sell this
11 software and its documentation for any purpose is hereby granted
12 without fee, provided that the above copyright notice appear in
13 all copies and that both that copyright notice and this permission
14 notice appear in supporting documentation, and that the name of
15 the copyright holders not be used in advertising or publicity
16 pertaining to distribution of the software without specific,
17 written prior permission. The copyright holders make no
18 representations about the suitability of this software for any
19 purpose. It is provided "as is" without express or implied
20 warranty.
21
22 THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
23 SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
24 FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
25 SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
26 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
27 AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
28 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
29 THIS SOFTWARE.
30 </copyright>
31
32 <interface name="xdg_shell" version="1">
33 <description summary="create desktop-style surfaces">
34 This interface is implemented by servers that provide
35 desktop-style user interfaces.
36
37 It allows clients to associate a xdg_surface with
38 a basic surface.
39 </description>
40
41 <enum name="version">
42 <description summary="latest protocol version">
43 The 'current' member of this enum gives the version of the
44 protocol. Implementations can compare this to the version
45 they implement using static_assert to ensure the protocol and
46 implementation versions match.
47 </description>
48 <entry name="current" value="4" summary="Always the latest version"/>
49 </enum>
50
51 <enum name="error">
52 <entry name="role" value="0" summary="given wl_surface has another role"/>
53 </enum>
54
55 <request name="use_unstable_version">
56 <description summary="enable use of this unstable version">
57 Negotiate the unstable version of the interface. This
58 mechanism is in place to ensure client and server agree on the
59 unstable versions of the protocol that they speak or exit
60 cleanly if they don't agree. This request will go away once
61 the xdg-shell protocol is stable.
62 </description>
63 <arg name="version" type="int"/>
64 </request>
65
66 <request name="get_xdg_surface">
67 <description summary="create a shell surface from a surface">
68 Create a shell surface for an existing surface.
69
70 This request gives the surface the role of xdg_surface. If the
71 surface already has another role, it raises a protocol error.
72
73 Only one shell or popup surface can be associated with a given
74 surface.
75 </description>
76 <arg name="id" type="new_id" interface="xdg_surface"/>
77 <arg name="surface" type="object" interface="wl_surface"/>
78 </request>
79
80 <request name="get_xdg_popup">
81 <description summary="create a shell surface from a surface">
82 Create a popup surface for an existing surface.
83
84 This request gives the surface the role of xdg_popup. If the
85 surface already has another role, it raises a protocol error.
86
87 Only one shell or popup surface can be associated with a given
88 surface.
89 </description>
90 <arg name="id" type="new_id" interface="xdg_popup"/>
91 <arg name="surface" type="object" interface="wl_surface"/>
92 <arg name="parent" type="object" interface="wl_surface"/>
93 <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
94 <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
95 <arg name="x" type="int"/>
96 <arg name="y" type="int"/>
97 <arg name="flags" type="uint"/>
98 </request>
99
100 <event name="ping">
101 <description summary="check if the client is alive">
102 The ping event asks the client if it's still alive. Pass the
103 serial specified in the event back to the compositor by sending
104 a "pong" request back with the specified serial.
105
106 Compositors can use this to determine if the client is still
107 alive. It's unspecified what will happen if the client doesn't
108 respond to the ping request, or in what timeframe. Clients should
109 try to respond in a reasonable amount of time.
110 </description>
111 <arg name="serial" type="uint" summary="pass this to the callback"/>
112 </event>
113
114 <request name="pong">
115 <description summary="respond to a ping event">
116 A client must respond to a ping event with a pong request or
117 the client may be deemed unresponsive.
118 </description>
119 <arg name="serial" type="uint" summary="serial of the ping event"/>
120 </request>
121 </interface>
122
123 <interface name="xdg_surface" version="1">
124
125 <description summary="desktop-style metadata interface">
126 An interface that may be implemented by a wl_surface, for
127 implementations that provide a desktop-style user interface.
128
129 It provides requests to treat surfaces like windows, allowing to set
130 properties like maximized, fullscreen, minimized, and to move and resize
131 them, and associate metadata like title and app id.
132
133 On the server side the object is automatically destroyed when
134 the related wl_surface is destroyed. On client side,
135 xdg_surface.destroy() must be called before destroying
136 the wl_surface object.
137 </description>
138
139 <request name="destroy" type="destructor">
140 <description summary="remove xdg_surface interface">
141 The xdg_surface interface is removed from the wl_surface object
142 that was turned into a xdg_surface with
143 xdg_shell.get_xdg_surface request. The xdg_surface properties,
144 like maximized and fullscreen, are lost. The wl_surface loses
145 its role as a xdg_surface. The wl_surface is unmapped.
146 </description>
147 </request>
148
149 <request name="set_parent">
150 <description summary="surface is a child of another surface">
151 Child surfaces are stacked above their parents, and will be
152 unmapped if the parent is unmapped too. They should not appear
153 on task bars and alt+tab.
154 </description>
155 <arg name="parent" type="object" interface="wl_surface" allow-null="true"/>
156 </request>
157
158 <request name="set_title">
159 <description summary="set surface title">
160 Set a short title for the surface.
161
162 This string may be used to identify the surface in a task bar,
163 window list, or other user interface elements provided by the
164 compositor.
165
166 The string must be encoded in UTF-8.
167 </description>
168 <arg name="title" type="string"/>
169 </request>
170
171 <request name="set_app_id">
172 <description summary="set surface class">
173 Set an id for the surface.
174
175 The app id identifies the general class of applications to which
176 the surface belongs.
177
178 It should be the ID that appears in the new desktop entry
179 specification, the interface name.
180 </description>
181 <arg name="app_id" type="string"/>
182 </request>
183
184 <request name="show_window_menu">
185 <description summary="show the window menu">
186 Clients implementing client-side decorations might want to show
187 a context menu when right-clicking on the decorations, giving the
188 user a menu that they can use to maximize or minimize the window.
189
190 This request asks the compositor to pop up such a window menu at
191 the given position, relative to the parent surface. There are
192 no guarantees as to what the window menu contains.
193
194 Your surface must have focus on the seat passed in to pop up the
195 window menu.
196 </description>
197
198 <arg name="seat" type="object" interface="wl_seat" summary="the seat to pop the window up on"/>
199 <arg name="serial" type="uint" summary="serial of the event to pop up the window for"/>
200 <arg name="x" type="int" summary="the x position to pop up the window menu at"/>
201 <arg name="y" type="int" summary="the y position to pop up the window menu at"/>
202 </request>
203
204 <request name="move">
205 <description summary="start an interactive move">
206 Start a pointer-driven move of the surface.
207
208 This request must be used in response to a button press event.
209 The server may ignore move requests depending on the state of
210 the surface (e.g. fullscreen or maximized).
211 </description>
212 <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
213 <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
214 </request>
215
216 <enum name="resize_edge">
217 <description summary="edge values for resizing">
218 These values are used to indicate which edge of a surface
219 is being dragged in a resize operation. The server may
220 use this information to adapt its behavior, e.g. choose
221 an appropriate cursor image.
222 </description>
223 <entry name="none" value="0"/>
224 <entry name="top" value="1"/>
225 <entry name="bottom" value="2"/>
226 <entry name="left" value="4"/>
227 <entry name="top_left" value="5"/>
228 <entry name="bottom_left" value="6"/>
229 <entry name="right" value="8"/>
230 <entry name="top_right" value="9"/>
231 <entry name="bottom_right" value="10"/>
232 </enum>
233
234 <request name="resize">
235 <description summary="start an interactive resize">
236 Start a pointer-driven resizing of the surface.
237
238 This request must be used in response to a button press event.
239 The server may ignore resize requests depending on the state of
240 the surface (e.g. fullscreen or maximized).
241 </description>
242 <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
243 <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
244 <arg name="edges" type="uint" summary="which edge or corner is being dragged"/>
245 </request>
246
247 <enum name="state">
248 <description summary="types of state on the surface">
249 The different state values used on the surface. This is designed for
250 state values like maximized, fullscreen. It is paired with the
251 configure event to ensure that both the client and the compositor
252 setting the state can be synchronized.
253
254 States set in this way are double-buffered. They will get applied on
255 the next commit.
256
257 Desktop environments may extend this enum by taking up a range of
258 values and documenting the range they chose in this description.
259 They are not required to document the values for the range that they
260 chose. Ideally, any good extensions from a desktop environment should
261 make its way into standardization into this enum.
262
263 The current reserved ranges are:
264
265 0x0000 - 0x0FFF: xdg-shell core values, documented below.
266 0x1000 - 0x1FFF: GNOME
267 </description>
268 <entry name="maximized" value="1">
269 <description summary="the surface is maximized">
270 The surface is maximized. The window geometry specified in the configure
271 event must be obeyed by the client.
272 </description>
273 </entry>
274 <entry name="fullscreen" value="2">
275 <description summary="the surface is fullscreen">
276 The surface is fullscreen. The window geometry specified in the configure
277 event must be obeyed by the client.
278 </description>
279 </entry>
280 <entry name="resizing" value="3">
281 <description summary="the surface is being resized">
282 The surface is being resized. The window geometry specified in the
283 configure event is a maximum; the client cannot resize beyond it.
284 Clients that have aspect ratio or cell sizing configuration can use
285 a smaller size, however.
286 </description>
287 </entry>
288 <entry name="activated" value="4">
289 <description summary="the client window is active">
290 Client window decorations should be painted as if the window is
291 active. Do not assume this means that the window actually has
292 keyboard or pointer focus.
293 </description>
294 </entry>
295 </enum>
296
297 <event name="configure">
298 <description summary="suggest a surface change">
299 The configure event asks the client to resize its surface.
300
301 The width and height arguments specify a hint to the window
302 about how its surface should be resized in window geometry
303 coordinates. The states listed in the event specify how the
304 width/height arguments should be interpreted.
305
306 A client should arrange a new surface, and then send a
307 ack_configure request with the serial sent in this configure
308 event before attaching a new surface.
309
310 If the client receives multiple configure events before it
311 can respond to one, it is free to discard all but the last
312 event it received.
313 </description>
314
315 <arg name="width" type="int"/>
316 <arg name="height" type="int"/>
317 <arg name="states" type="array"/>
318 <arg name="serial" type="uint"/>
319 </event>
320
321 <request name="ack_configure">
322 <description summary="ack a configure event">
323 When a configure event is received, a client should then ack it
324 using the ack_configure request to ensure that the compositor
325 knows the client has seen the event.
326
327 By this point, the state is confirmed, and the next attach should
328 contain the buffer drawn for the configure event you are acking.
329 </description>
330 <arg name="serial" type="uint" summary="a serial to configure for"/>
331 </request>
332
333 <request name="set_window_geometry">
334 <description summary="set the new window geometry">
335 The window geometry of a window is its "visible bounds" from the
336 user's perspective. Client-side decorations often have invisible
337 portions like drop-shadows which should be ignored for the
338 purposes of aligning, placing and constraining windows.
339
340 The default value is the full bounds of the surface, including any
341 subsurfaces. Once the window geometry of the surface is set once,
342 it is not possible to unset it, and it will remain the same until
343 set_window_geometry is called again, even if a new subsurface or
344 buffer is attached.
345
346 If responding to a configure event, the window geometry in here
347 must respect the sizing negotiations specified by the states in
348 the configure event.
349 </description>
350 <arg name="x" type="int"/>
351 <arg name="y" type="int"/>
352 <arg name="width" type="int"/>
353 <arg name="height" type="int"/>
354 </request>
355
356 <request name="set_maximized" />
357 <request name="unset_maximized" />
358
359 <request name="set_fullscreen">
360 <description summary="set the window as fullscreen on a monitor">
361 Make the surface fullscreen.
362
363 You can specify an output that you would prefer to be fullscreen.
364 If this value is NULL, it's up to the compositor to choose which
365 display will be used to map this surface.
366 </description>
367 <arg name="output" type="object" interface="wl_output" allow-null="true"/>
368 </request>
369 <request name="unset_fullscreen" />
370
371 <request name="set_minimized" />
372
373 <event name="close">
374 <description summary="surface wants to be closed">
375 The close event is sent by the compositor when the user
376 wants the surface to be closed. This should be equivalent to
377 the user clicking the close button in client-side decorations,
378 if your application has any...
379
380 This is only a request that the user intends to close your
381 window. The client may choose to ignore this request, or show
382 a dialog to ask the user to save their data...
383 </description>
384 </event>
385 </interface>
386
387 <interface name="xdg_popup" version="1">
388 <description summary="desktop-style metadata interface">
389 An interface that may be implemented by a wl_surface, for
390 implementations that provide a desktop-style popups/menus. A popup
391 surface is a transient surface with an added pointer grab.
392
393 An existing implicit grab will be changed to owner-events mode,
394 and the popup grab will continue after the implicit grab ends
395 (i.e. releasing the mouse button does not cause the popup to be
396 unmapped).
397
398 The popup grab continues until the window is destroyed or a mouse
399 button is pressed in any other clients window. A click in any of
400 the clients surfaces is reported as normal, however, clicks in
401 other clients surfaces will be discarded and trigger the callback.
402
403 The x and y arguments specify the locations of the upper left
404 corner of the surface relative to the upper left corner of the
405 parent surface, in surface local coordinates.
406
407 xdg_popup surfaces are always transient for another surface.
408 </description>
409
410 <request name="destroy" type="destructor">
411 <description summary="remove xdg_surface interface">
412 The xdg_surface interface is removed from the wl_surface object
413 that was turned into a xdg_surface with
414 xdg_shell.get_xdg_surface request. The xdg_surface properties,
415 like maximized and fullscreen, are lost. The wl_surface loses
416 its role as a xdg_surface. The wl_surface is unmapped.
417 </description>
418 </request>
419
420 <event name="popup_done">
421 <description summary="popup interaction is done">
422 The popup_done event is sent out when a popup grab is broken,
423 that is, when the users clicks a surface that doesn't belong
424 to the client owning the popup surface.
425 </description>
426 <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
427 </event>
428
429 </interface>
430</protocol>