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/yare stored in), so the rules are testable without a canvas.
Structs§
- Arranged
Display - One display as the canvas draws it.
- Arrangement
Drag - An in-progress drag. Owned by the pane, not the widget, so it survives the composition being rebuilt between frames.
- Display
Arrangement - Shared
Display State - State of one certified output in the person’s shared layout. Availability and inclusion are independent: an offline display keeps its place.