blob: fb0b7481476addd5ec889e90a107c13f71362c14 [file] [log] [blame]
Kristian Høgsberg75840622011-09-06 13:48:16 -04001<protocol name="desktop">
2
Jonny Lamb765760d2014-08-20 15:53:19 +02003 <interface name="desktop_shell" version="3">
Tiago Vignatti7bef0662012-04-16 17:31:40 +03004 <description summary="create desktop widgets and helpers">
5 Traditional user interfaces can rely on this interface to define the
6 foundations of typical desktops. Currently it's possible to set up
7 background, panels and locking surfaces.
8 </description>
9
Kristian Høgsberg75840622011-09-06 13:48:16 -040010 <request name="set_background">
Benjamin Franzked0f79ab2011-11-22 12:43:52 +010011 <arg name="output" type="object" interface="wl_output"/>
Kristian Høgsberg962342c2012-06-26 16:29:50 -040012 <arg name="surface" type="object" interface="wl_surface"/>
Kristian Høgsberg75840622011-09-06 13:48:16 -040013 </request>
14
15 <request name="set_panel">
Benjamin Franzked0f79ab2011-11-22 12:43:52 +010016 <arg name="output" type="object" interface="wl_output"/>
Kristian Høgsbergaf7b1ff2012-06-26 21:19:23 -040017 <arg name="surface" type="object" interface="wl_surface"/>
Kristian Høgsberg75840622011-09-06 13:48:16 -040018 </request>
19
Pekka Paalanen9ef3e012011-11-15 13:34:48 +020020 <request name="set_lock_surface">
Kristian Høgsberg730c94d2012-06-26 21:44:35 -040021 <arg name="surface" type="object" interface="wl_surface"/>
Pekka Paalanen9ef3e012011-11-15 13:34:48 +020022 </request>
23
24 <request name="unlock"/>
25
Ander Conselvan de Oliveirab9d2a0f2012-06-28 18:08:05 +030026 <request name="set_grab_surface">
27 <description summary="set grab surface">
28 The surface set by this request will receive a fake
29 pointer.enter event during grabs at position 0, 0 and is
30 expected to set an appropriate cursor image as described by
31 the grab_cursor event sent just before the enter event.
32 </description>
Kristian Høgsbergd56bd902012-06-05 09:58:51 -040033 <arg name="surface" type="object" interface="wl_surface"/>
34 </request>
35
Kristian Høgsberg75840622011-09-06 13:48:16 -040036 <!-- We'll fold most of wl_shell into this interface and then
37 they'll share the configure event. -->
38 <event name="configure">
Kristian Høgsberg75840622011-09-06 13:48:16 -040039 <arg name="edges" type="uint"/>
Kristian Høgsberg962342c2012-06-26 16:29:50 -040040 <arg name="surface" type="object" interface="wl_surface"/>
Kristian Høgsberg75840622011-09-06 13:48:16 -040041 <arg name="width" type="int"/>
42 <arg name="height" type="int"/>
43 </event>
44
Tiago Vignatti7bef0662012-04-16 17:31:40 +030045 <event name="prepare_lock_surface">
46 <description summary="tell the client to create, set the lock surface">
47 Tell the shell we want it to create and set the lock surface, which is
48 a GUI asking the user to unlock the screen. The lock surface is
49 announced with 'set_lock_surface'. Whether or not the shell actually
50 implements locking, it MUST send 'unlock' request to let the normal
51 desktop resume.
52 </description>
53 </event>
Ander Conselvan de Oliveirab9d2a0f2012-06-28 18:08:05 +030054
55 <event name="grab_cursor">
56 <description summary="tell client what cursor to show during a grab">
57 This event will be sent immediately before a fake enter event on the
58 grab surface.
59 </description>
60 <arg name="cursor" type="uint"/>
61 </event>
62
63 <enum name="cursor">
64 <entry name="none" value="0"/>
65
66 <entry name="resize_top" value="1"/>
67 <entry name="resize_bottom" value="2"/>
68
69 <entry name="arrow" value="3"/>
70
71 <entry name="resize_left" value="4"/>
72 <entry name="resize_top_left" value="5"/>
73 <entry name="resize_bottom_left" value="6"/>
74
75 <entry name="move" value="7"/>
76
77 <entry name="resize_right" value="8"/>
78 <entry name="resize_top_right" value="9"/>
79 <entry name="resize_bottom_right" value="10"/>
80
81 <entry name="busy" value="11"/>
82 </enum>
Jonas Ådahl9b059092014-05-10 10:43:34 +020083
84 <!-- Version 2 additions -->
85
86 <request name="desktop_ready" since="2">
87 <description summary="desktop is ready to be shown">
88 Tell the server, that enough desktop elements have been drawn
89 to make the desktop look ready for use. During start-up, the
90 server can wait for this request with a black screen before
91 starting to fade in the desktop, for instance. If the client
92 parts of a desktop take a long time to initialize, we avoid
93 showing temporary garbage.
94 </description>
95 </request>
96
Jonny Lamb765760d2014-08-20 15:53:19 +020097 <!-- Version 3 additions -->
98
99 <enum name="panel_position">
100 <entry name="top" value="0"/>
101 <entry name="bottom" value="1"/>
102 <entry name="left" value="2"/>
103 <entry name="right" value="3"/>
104 </enum>
105
106 <enum name="error">
107 <entry name="invalid_argument" value="0"
108 summary="an invalid argument was provided in a request"/>
109 </enum>
110
111 <request name="set_panel_position" since="3">
112 <arg name="position" type="uint"/>
113 <description summary="set panel position">
114 Tell the shell which side of the screen the panel is
115 located. This is so that new windows do not overlap the panel
116 and maximized windows maximize properly.
117 </description>
118 </request>
119
Kristian Høgsberg75840622011-09-06 13:48:16 -0400120 </interface>
121
Pekka Paalanen6e168112011-11-24 11:34:05 +0200122 <interface name="screensaver" version="1">
Tiago Vignatti7bef0662012-04-16 17:31:40 +0300123 <description summary="interface for implementing screensavers">
124 Only one client can bind this interface at a time.
125 </description>
Pekka Paalanen6e168112011-11-24 11:34:05 +0200126
Pekka Paalanen6e168112011-11-24 11:34:05 +0200127 <request name="set_surface">
Tiago Vignatti7bef0662012-04-16 17:31:40 +0300128 <description summary="set the surface type as a screensaver">
129 A screensaver surface is normally hidden, and only visible after an
130 idle timeout.
131 </description>
132
Kristian Høgsberg1a73a632012-06-26 22:15:53 -0400133 <arg name="surface" type="object" interface="wl_surface"/>
Pekka Paalanen6e168112011-11-24 11:34:05 +0200134 <arg name="output" type="object" interface="wl_output"/>
135 </request>
136
137 </interface>
Kristian Høgsberg75840622011-09-06 13:48:16 -0400138</protocol>