phosphor-scroll-engine

Scrolling-strip placement engine.

Implements IPlacementEngine for screens running Scrolling mode. Windows form columns on an endless strip and the screen is a viewport onto it, so opening a window slides its neighbours aside and scrolls the view instead of resizing them. The engine owns column widths and their preset cycles, whether a column stacks its windows or tabs them, consume-and-expel between columns, focus centering policies, and the stash a minimized window returns from. StripAxis abstracts the direction, so the same code runs a side-to-side strip on a landscape monitor and a top-to-bottom one on a portrait panel without a second implementation. Windows too large for the strip fall back to the shared floating support.

Full API →

Key types

ScrollEngine
Concrete IPlacementEngine for scrolling screens.
ScrollStrip
The endless column strip: insertion, consume/expel, width presets, scroll offset.
ScrollState
Per-screen IPlacementState: column membership, widths, viewport position.
StripAxis
Direction abstraction letting every operation run side-to-side or top-to-bottom.
IScrollSettings
Settings contract (declared in PhosphorEngine).
StashedStrip
Saved column layout a minimized or floated window is restored into.

Dependencies

See also

References