Skip to main content

Module display_arrangement

Module display_arrangement 

Expand description

Logical screen topology canvas shared by local and native peer displays. Drag-to-arrange canvas for the Displays pane.

Each attached, enabled display is drawn at its size on the shared desktop (mode, rotation and scale), numbered the way the compositor numbers it when asked to identify screens. Dragging one snaps it to nearby edges, pushes it clear of the others and keeps it touching at least one of them ([placement]); the drop is sent as the output’s exported move action, so a drag is exactly what an agent or script can do. The per-display position dropdowns stay the keyboard and assistive alternative.

Modules§

placement
Pure geometry for arranging displays by dragging: edge snapping, overlap resolution and keeping the desktop one connected area. Everything is in desktop coordinates (the units OutputConfig::x/y are stored in), so the rules are testable without a canvas.

Structs§

ArrangedDisplay
One display as the canvas draws it.
ArrangementDrag
An in-progress drag. Owned by the pane, not the widget, so it survives the composition being rebuilt between frames.
DisplayArrangement
SharedDisplayState
State of one certified output in the person’s shared layout. Availability and inclusion are independent: an offline display keeps its place.