pub enum Reserve {
None,
OwnExtent,
IgnoreOthers,
}Expand description
Whether a panel keeps other windows out of its space.
Reserving is a request a window system may be unable to grant, which is
different from being unable to build the panel at all:
ShellCaps::PANEL_RESERVE says whether
this backend can. Where it cannot — macOS, which lets nothing but the menu
bar and the Dock reserve screen space — the panel is still created and
simply overlaps what is behind it.
Variants§
None
It reserves nothing, and keeps clear of the space other panels have reserved — a launcher placed below a bar rather than over it. Layer-shell’s exclusive zone 0.
OwnExtent
The edge it is anchored to gives up the panel’s own extent: maximised windows stop at it. A bar is this. Layer-shell’s exclusive zone equal to the panel’s extent across that edge.
The panel must name one edge: anchored to exactly one, or to one and
both of the edges beside it — TOP, or TOP | LEFT | RIGHT, reserves
the top. Any other anchoring has no edge to reserve, and creating it is
ShellError::Unsupported on every
backend; see PanelDesc::reserved_edge.
IgnoreOthers
It reserves nothing and is placed as if no other panel reserved anything — at the very edge, over other bars. Layer-shell’s exclusive zone -1.