blob: 91c5eb4210511f6ccbdc2ba9ce7101d593a812a6 [file] [log] [blame]
Jonas Ådahl6d6fb612015-11-17 16:00:33 +08001<protocol name="weston_desktop">
Kristian Høgsberg75840622011-09-06 13:48:16 -04002
Jonas Ådahl6d6fb612015-11-17 16:00:33 +08003 <interface name="weston_desktop_shell" version="1">
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">
Christopher Michaela820b4d2015-07-14 01:21:40 -070047 Tell the client we want it to create and set the lock surface, which is
Tiago Vignatti7bef0662012-04-16 17:31:40 +030048 a GUI asking the user to unlock the screen. The lock surface is
Christopher Michaela820b4d2015-07-14 01:21:40 -070049 announced with 'set_lock_surface'. Whether or not the client actually
Tiago Vignatti7bef0662012-04-16 17:31:40 +030050 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
Jonas Ådahl6d6fb612015-11-17 16:00:33 +080084 <request name="desktop_ready">
Jonas Ådahl9b059092014-05-10 10:43:34 +020085 <description summary="desktop is ready to be shown">
86 Tell the server, that enough desktop elements have been drawn
87 to make the desktop look ready for use. During start-up, the
88 server can wait for this request with a black screen before
89 starting to fade in the desktop, for instance. If the client
90 parts of a desktop take a long time to initialize, we avoid
91 showing temporary garbage.
92 </description>
93 </request>
94
Jonny Lamb765760d2014-08-20 15:53:19 +020095 <enum name="panel_position">
96 <entry name="top" value="0"/>
97 <entry name="bottom" value="1"/>
98 <entry name="left" value="2"/>
99 <entry name="right" value="3"/>
100 </enum>
101
102 <enum name="error">
103 <entry name="invalid_argument" value="0"
104 summary="an invalid argument was provided in a request"/>
105 </enum>
106
Jonas Ådahl6d6fb612015-11-17 16:00:33 +0800107 <request name="set_panel_position">
Jonny Lamb765760d2014-08-20 15:53:19 +0200108 <description summary="set panel position">
109 Tell the shell which side of the screen the panel is
110 located. This is so that new windows do not overlap the panel
111 and maximized windows maximize properly.
112 </description>
Pekka Paalanen870fadc2015-11-19 15:58:44 +0200113
114 <arg name="position" type="uint"/>
Jonny Lamb765760d2014-08-20 15:53:19 +0200115 </request>
116
Kristian Høgsberg75840622011-09-06 13:48:16 -0400117 </interface>
118
Jonas Ådahl6d6fb612015-11-17 16:00:33 +0800119 <interface name="weston_screensaver" version="1">
Tiago Vignatti7bef0662012-04-16 17:31:40 +0300120 <description summary="interface for implementing screensavers">
121 Only one client can bind this interface at a time.
122 </description>
Pekka Paalanen6e168112011-11-24 11:34:05 +0200123
Pekka Paalanen6e168112011-11-24 11:34:05 +0200124 <request name="set_surface">
Tiago Vignatti7bef0662012-04-16 17:31:40 +0300125 <description summary="set the surface type as a screensaver">
126 A screensaver surface is normally hidden, and only visible after an
127 idle timeout.
128 </description>
129
Kristian Høgsberg1a73a632012-06-26 22:15:53 -0400130 <arg name="surface" type="object" interface="wl_surface"/>
Pekka Paalanen6e168112011-11-24 11:34:05 +0200131 <arg name="output" type="object" interface="wl_output"/>
132 </request>
133
134 </interface>
Kristian Høgsberg75840622011-09-06 13:48:16 -0400135</protocol>