Skip to main content

anchor_a_bar

Function anchor_a_bar 

Source
pub(crate) fn anchor_a_bar(
    connection: &Connection,
    queue: &mut EventQueue<Probe>,
    probe: &mut Probe,
) -> Result<(), String>
Expand description

Anchor a bar to the top of every monitor and check where each one landed.

This is the dock question, and it is one a compositor cannot answer about itself. A layer surface names the output it wants; if the compositor puts it on a different monitor, the configure comes back with the wrong width, and that is measurable from out here and from nowhere else.

The exclusive zone is the other half, and it is not checkable from a client: it is a claim about where the compositor puts everybody else’s windows. WL_PROBE_HOLD=<seconds> keeps the bars up so the compositor’s own frame can be captured and looked at.