aboutsummaryrefslogtreecommitdiff
path: root/protocol/wlr-layer-shell-unstable-v1.xml
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-03-26 18:12:31 -0400
committerDrew DeVault <sir@cmpwn.com>2018-03-27 18:50:32 -0400
commit86ca4bea6de9b3494235201f5587cb7e00aed84e (patch)
treed9e1281ea4ef02f4b9d7e558b688b911d435c2d3 /protocol/wlr-layer-shell-unstable-v1.xml
parent097e87ca9ff34e0d17dced154ee8a860b6d86060 (diff)
Fix layer rendering/layout bugs
Diffstat (limited to 'protocol/wlr-layer-shell-unstable-v1.xml')
-rw-r--r--protocol/wlr-layer-shell-unstable-v1.xml31
1 files changed, 23 insertions, 8 deletions
diff --git a/protocol/wlr-layer-shell-unstable-v1.xml b/protocol/wlr-layer-shell-unstable-v1.xml
index b5cb3d3a..fe2c72cd 100644
--- a/protocol/wlr-layer-shell-unstable-v1.xml
+++ b/protocol/wlr-layer-shell-unstable-v1.xml
@@ -96,15 +96,15 @@
Sets the size of the surface in pixels. The compositor will display the
surface centered with respect to its anchors.
- If you pass -1 for either value, the compositor will assign it and
+ If you pass 0 for either value, the compositor will assign it and
inform you of the assignment in the configure event. You must set your
anchor to opposite edges in the dimensions you omit; not doing so is a
- protocol error. Both values are -1 by default.
+ protocol error. Both values are 0 by default.
Size is double-buffered, see wl_surface.commit.
</description>
- <arg name="width" type="int"/>
- <arg name="height" type="int"/>
+ <arg name="width" type="uint"/>
+ <arg name="height" type="uint"/>
</request>
<request name="set_anchor">
@@ -127,13 +127,28 @@
implementation-dependent - do not assume that this region will not
actually be occluded.
- This value is only meaningful if the surface is anchored to an edge,
- rather than a corner. The zone is the number of pixels from the edge
- that are considered exclusive.
+ A positive value is only meaningful if the surface is anchored to an
+ edge, rather than a corner. The zone is the number of pixels from the
+ edge that are considered exclusive.
+
+ Surfaces that do not wish to have an exclusive zone may instead specify
+ how they should interact with surfaces that do. If set to zero, the
+ surface indicates that it would like to be moved to avoid occluding
+ surfaces with a positive excluzive zone. If set to -1, the surface
+ indicates that it would not like to be moved to accomodate for other
+ surfaces, and the compositor should extend it all the way to the edges
+ it is anchored to.
+
+ For example, a panel might set its exclusive zone to 10 pixels, so that
+ maximized shell surfaces are not shown on top of it. A notification
+ might set its exclusive zone to zero, so that it is moved to avoid
+ occluding the panel, but shell surfaces are shown underneath it. A
+ wallpaper or lock screen might set their exclusive zone to -1, so that
+ they stretch below or over the panel.
Exclusive zone is double-buffered, see wl_surface.commit.
</description>
- <arg name="zone" type="uint"/>
+ <arg name="zone" type="int"/>
</request>
<request name="set_margin">