summaryrefslogtreecommitdiff
path: root/protocol
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2014-08-20 15:53:19 +0200
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2014-08-20 17:06:19 +0300
commit765760dc719adf39d066345d6498bca160ab1ece (patch)
treebdaf845a93de3d3ebaeb07e352b4f693e6160dbf /protocol
parentd3d128e07c54bc18a5a2c0bfb4793bd566d9b5b6 (diff)
downloadweston-765760dc719adf39d066345d6498bca160ab1ece.tar.gz
desktop-shell: add set_panel_position to help place views onscreen
Panels are always assumed to be on the top edge of the output. If this is not the case views will be placed under the panel, wherever it is, and maximize doesn't use the correct space allocated for views. By telling the server on which edge the panel is located, it can correctly calculate where to put new views and how big maximized views should be. [Pekka Paalanen: the user of this protocol so far is Maynard.] Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Diffstat (limited to 'protocol')
-rw-r--r--protocol/desktop-shell.xml25
1 files changed, 24 insertions, 1 deletions
diff --git a/protocol/desktop-shell.xml b/protocol/desktop-shell.xml
index fdcb17ba..fb0b7481 100644
--- a/protocol/desktop-shell.xml
+++ b/protocol/desktop-shell.xml
@@ -1,6 +1,6 @@
<protocol name="desktop">
- <interface name="desktop_shell" version="2">
+ <interface name="desktop_shell" version="3">
<description summary="create desktop widgets and helpers">
Traditional user interfaces can rely on this interface to define the
foundations of typical desktops. Currently it's possible to set up
@@ -94,6 +94,29 @@
</description>
</request>
+ <!-- Version 3 additions -->
+
+ <enum name="panel_position">
+ <entry name="top" value="0"/>
+ <entry name="bottom" value="1"/>
+ <entry name="left" value="2"/>
+ <entry name="right" value="3"/>
+ </enum>
+
+ <enum name="error">
+ <entry name="invalid_argument" value="0"
+ summary="an invalid argument was provided in a request"/>
+ </enum>
+
+ <request name="set_panel_position" since="3">
+ <arg name="position" type="uint"/>
+ <description summary="set panel position">
+ Tell the shell which side of the screen the panel is
+ located. This is so that new windows do not overlap the panel
+ and maximized windows maximize properly.
+ </description>
+ </request>
+
</interface>
<interface name="screensaver" version="1">