Skip to content

scene/layer_shell_v1.c: set exclusive zone correctly

Johan Malm requested to merge johanmalm/wlroots:exclusive-zone into master

...when only one edge is anchored.

The layer-shell protocol specifies that a positive exclusive-zone value is 'meaningful' if the surface is anchored to either:

  1. one edge
  2. one edge and both perpendicular edges.

For example, if you wish to position a layer-shell client along the top edge and make it exclusive, you should be able to either set anchor=TOP or anchor=TOP|LEFT|RIGHT. It appears that many panels/bars use the latter approach (anchor to an edge and also both perpendicular edges) which is probably why this has not been reported previously.

This patch adds support for the first case and thereby makes exclusive zone behaviour consistent with the protocol and also with sway's extant layer-shell implementation.

Merge request reports