phosphor-engine

Unified placement-engine surface + shared service contracts.

Names every user intent (move, swap, focus, assign-to-zone, …) on IPlacementEngine so the daemon's hot path is one polymorphic call regardless of placement mode. PlacementEngineBase owns the universal Unmanaged/EngineOwned/Floated FSM. The library also declares the cross-engine service contracts (IWindowRegistry, IWindowTrackingService, IVirtualDesktopManager, IGeometrySettings, ISnapSettings, IAutotileSettings) so the daemon wires them up once and engines just consume.

Full API →

Key types

IPlacementEngine
Intent dispatcher for move, swap, assign, and focus operations.
IPlacementState
Read-only per-screen state contract.
PlacementEngineBase
Base class implementing the universal window-state FSM.
IWindowTrackingService
Cross-engine shared store for assignments and float state.
IWindowRegistry
Window-id canonicaliser + appId-from-instance lookup.
NavigationContext
(windowId, screenId) target for an intent.

Dependencies

See also

References