API Reference
Lanes
One row per worker or item, for parallel workloads: a status marker (spinner while running), the label, a progress bar, the percentage, pass/fail/warning counts and what the lane is doing now. When there are more lanes than rows, running lanes are kept visible and the rest is summarised in a final line. Live operations (Key = lane): add (Text = label, Total), advance (Value = steps, State = step result, Text = detail), state (State, Text), detail (Text), total (Total), complete (State).
Inheritance
- LiveWidget
- Lanes
Usage
Explore 69 API references to this type
This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.
Returned or exposed by 35
- Method Ui.Lanes
- Extension method Lanes.AddColumn
- Extension method Lanes.AddColumns
- Extension method Lanes.WithBoldActive
- Extension method Lanes.WithCollapseWhen
- Extension method Lanes.WithCollapseWhenFinished
- Extension method Lanes.WithColumns
- Extension method Lanes.WithCountColumn
- Extension method Lanes.WithCountSkipped
- Extension method Lanes.WithDimPending
- Extension method Lanes.WithHideCompleted
- Extension method Lanes.WithMaxLabelWidth
- Extension method Lanes.WithPercentColumn
- Extension method Lanes.WithRateWindow
- Extension method Lanes.WithShape
- Extension method Lanes.WithShowDetail
- Extension method Lanes.WithShowRunningCount
- Extension method Lanes.WithTransient
- Method LanesFluent.AddColumn
- Method LanesFluent.AddColumns
- Method LanesFluent.WithBoldActive
- Method LanesFluent.WithCollapseWhen
- Method LanesFluent.WithCollapseWhenFinished
- Method LanesFluent.WithColumns
- Method LanesFluent.WithCountColumn
- Method LanesFluent.WithCountSkipped
- Method LanesFluent.WithDimPending
- Method LanesFluent.WithHideCompleted
- Method LanesFluent.WithMaxLabelWidth
- Method LanesFluent.WithPercentColumn
- Method LanesFluent.WithRateWindow
- Method LanesFluent.WithShape
- Method LanesFluent.WithShowDetail
- Method LanesFluent.WithShowRunningCount
- Method LanesFluent.WithTransient
Accepted by parameters 34
- Extension method Lanes.AddColumn
- Extension method Lanes.AddColumns
- Extension method Lanes.WithBoldActive
- Extension method Lanes.WithCollapseWhen
- Extension method Lanes.WithCollapseWhenFinished
- Extension method Lanes.WithColumns
- Extension method Lanes.WithCountColumn
- Extension method Lanes.WithCountSkipped
- Extension method Lanes.WithDimPending
- Extension method Lanes.WithHideCompleted
- Extension method Lanes.WithMaxLabelWidth
- Extension method Lanes.WithPercentColumn
- Extension method Lanes.WithRateWindow
- Extension method Lanes.WithShape
- Extension method Lanes.WithShowDetail
- Extension method Lanes.WithShowRunningCount
- Extension method Lanes.WithTransient
- Method LanesFluent.AddColumn
- Method LanesFluent.AddColumns
- Method LanesFluent.WithBoldActive
- Method LanesFluent.WithCollapseWhen
- Method LanesFluent.WithCollapseWhenFinished
- Method LanesFluent.WithColumns
- Method LanesFluent.WithCountColumn
- Method LanesFluent.WithCountSkipped
- Method LanesFluent.WithDimPending
- Method LanesFluent.WithHideCompleted
- Method LanesFluent.WithMaxLabelWidth
- Method LanesFluent.WithPercentColumn
- Method LanesFluent.WithRateWindow
- Method LanesFluent.WithShape
- Method LanesFluent.WithShowDetail
- Method LanesFluent.WithShowRunningCount
- Method LanesFluent.WithTransient
Constructors
public Lanes(String name = "lanes") #Creates a lanes widget.
Parameters
- name System.String = "lanes"
- The live name (default lanes).
Methods
public Lane Add(String key, String? label = null, Double total = 0) #LaneAdds a lane or updates its label and total.
Parameters
- key System.String
- Unique key.
- label System.String? = null
- Label, or null to use the key.
- total System.Double = 0
- Planned steps (0 = unknown).
Returns
The lane.
public Lane Add(String key, RichText label, Double total = 0) #LaneAdds a lane with a multicolour label, or updates its label and total.
Parameters
- key System.String
- Unique key.
- label ConsoleMonster.Text.RichText
- The rich label.
- total System.Double = 0
- Planned steps (0 = unknown).
Returns
The lane.
public override Void Apply(LiveEvent liveEvent) #VoidApplies an event to the widget's state.
Parameters
- liveEvent ConsoleMonster.Live.LiveEvent
- The event.
public override String? Describe(LiveEvent liveEvent) #String?Returns a line describing the event for line-based outputs (Stream/Plain), or null when the event is not worth a line (for example a single counter increment). Called after ILiveTarget.Apply.
Parameters
- liveEvent ConsoleMonster.Live.LiveEvent
- The event that was applied.
Returns
A plain line or null.
public String? GetSummaryLine() #String?A one-line summary (used for heartbeats in Stream/Plain mode).
Returns
The summary, or null when there are no lanes.
public LanesHandle Handle(ILiveDispatcher dispatcher) #LanesHandleReturns a handle that updates these lanes through a dispatcher.
Parameters
- dispatcher ConsoleMonster.Live.ILiveDispatcher
- The dispatcher.
Returns
The handle.
public override Size Measure(Constraints constraints, RenderContext context) #SizeReturns the size the widget wants within the constraints.
Parameters
- constraints ConsoleMonster.Layout.Constraints
- The space offered.
- context ConsoleMonster.Canvas.RenderContext
- Profile, theme and glyphs.
Returns
The desired size, never larger than the constraints.
public override Void Render(Region region, RenderContext context) #VoidRenders into a region. The region may be smaller or larger than the measured size.
Parameters
- region ConsoleMonster.Canvas.Region
- The target region.
- context ConsoleMonster.Canvas.RenderContext
- Profile, theme and glyphs.
public Boolean TryGetTaskbarProgress(out TaskbarState state, out Double fraction) #BooleanThe overall progress for the terminal's indicator: the share of all steps done (finished lanes count in full), red when a lane failed, yellow with warnings, indeterminate while totals are unknown. Nothing once all passed.
Parameters
- state ConsoleMonster.Output.TaskbarState
- The state.
- fraction System.Double
- The fraction done, or NaN.
Returns
False when there is nothing to report.
Inherited Methods
public virtual Boolean Equals(Object? obj) #BooleanParameters
- obj Object?
Properties
public BarShape Shape { get; set; } #The bar shape: BarShape.Line (default, thin strokes that keep rows apart) or BarShape.Block.
public Boolean ShowDetail { get; set; } #Whether the detail column is shown (default true).
public ColumnFormat CountColumn { get; set; } #Layout of the pass, fail and warning count columns. Each count is its own column across all rows: the symbol stays put and the number is right-aligned. Digits are reserved from the largest lane total (when totals are known) and from the largest count displayed so far, so columns never move during a run.
public ColumnFormat PercentColumn { get; set; } #Layout of the percentage column (default right-aligned, four cells for "100%").
public Boolean CountSkipped { get; set; } #Whether the third count column shows skipped steps (– / -) instead of warnings (▴ / !), for runs where skips matter more, such as test runs.
public IList<ProgressColumn>? Columns { get; set; } #The columns of each row (see ProgressColumns, for example ProgressColumns.Standard plus ProgressColumns.Rate or a custom column), or null (default) for the classic layout: marker, label, bar, percentage, pass/fail/warning counts and detail. With columns set, the stream heartbeat line also summarises the running lanes through them.
public Boolean HideCompleted { get; set; } #Whether finished lanes leave the display (counted in the summary line), so only running and queued work shows.
public Boolean CollapseWhenFinished { get; set; } #Whether the display collapses to one summary line (12 done in 1m 05s) once every lane has finished.
public Boolean Transient { get; set; } #Whether the display disappears once every lane has finished (it measures zero rows), so an inline session ends with nothing left of it. Combine with LiveSessionOptions.PrintFinalState off for a fully transient session.
public Boolean DimPending { get; set; } #Whether a waiting (pending) lane's label is dimmed (default true).
public Boolean BoldActive { get; set; } #Whether a running lane's label is bold, so the active work stands out (default false).
public Boolean ShowRunningCount { get; set; } #Whether a last row counts the running lanes ("● 3 running") while any run (default false).
public StatusKind? CollapseWhen { get; set; } #A state whose lanes fold into one summary row instead of a row each, for example StatusKind.Skip: "– 2 skipped: Alpha (46) · Beta (5)". Null (default) keeps every lane on its own row.
public TimeSpan RateWindow { get; set; } #The moving window that smooths rates and remaining-time estimates (default 10 seconds).
Inherited Properties
Extension Methods
public static Lanes AddColumn(Lanes lanes, ProgressColumn item) #LanesAdds an item to Lanes.Columns: The columns of each row (see ProgressColumns, for example ProgressColumns.Standard plus ProgressColumns.Rate or a custom column), or null (default) for the classic layout: marker, label, bar, percentage, pass/fail/warning counts and detail. With columns set, the stream heartbeat line also summarises the running lanes through them.
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- item ConsoleMonster.Widgets.ProgressColumn
- The item.
Returns
The same instance.
public static Lanes AddColumns(Lanes lanes, params ProgressColumn[] items) #LanesAdds items to Lanes.Columns: The columns of each row (see ProgressColumns, for example ProgressColumns.Standard plus ProgressColumns.Rate or a custom column), or null (default) for the classic layout: marker, label, bar, percentage, pass/fail/warning counts and detail. With columns set, the stream heartbeat line also summarises the running lanes through them.
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- items ConsoleMonster.Widgets.ProgressColumn[]
- The items, in order.
Returns
The same instance.
public static Lanes AddColumns(Lanes lanes, IEnumerable<ProgressColumn> items) #LanesAdds items to Lanes.Columns: The columns of each row (see ProgressColumns, for example ProgressColumns.Standard plus ProgressColumns.Rate or a custom column), or null (default) for the classic layout: marker, label, bar, percentage, pass/fail/warning counts and detail. With columns set, the stream heartbeat line also summarises the running lanes through them.
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- items System.Collections.Generic.IEnumerable<ConsoleMonster.Widgets.ProgressColumn>
- The items, in order.
Returns
The same instance.
public static Lanes WithBoldActive(Lanes lanes, Boolean value = true) #LanesSets Lanes.BoldActive: Whether a running lane's label is bold, so the active work stands out (default false).
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value System.Boolean = true
- The value (default true).
Returns
The same instance.
public static Lanes WithCollapseWhen(Lanes lanes, StatusKind? value) #LanesSets Lanes.CollapseWhen: A state whose lanes fold into one summary row instead of a row each, for example StatusKind.Skip: "– 2 skipped: Alpha (46) · Beta (5)". Null (default) keeps every lane on its own row.
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value ConsoleMonster.Styling.StatusKind?
- The value.
Returns
The same instance.
public static Lanes WithCollapseWhenFinished(Lanes lanes, Boolean value = true) #LanesSets Lanes.CollapseWhenFinished: Whether the display collapses to one summary line (12 done in 1m 05s) once every lane has finished.
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value System.Boolean = true
- The value (default true).
Returns
The same instance.
public static Lanes WithColumns(Lanes lanes, IList<ProgressColumn>? value) #LanesSets Lanes.Columns: The columns of each row (see ProgressColumns, for example ProgressColumns.Standard plus ProgressColumns.Rate or a custom column), or null (default) for the classic layout: marker, label, bar, percentage, pass/fail/warning counts and detail. With columns set, the stream heartbeat line also summarises the running lanes through them.
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value System.Collections.Generic.IList<ConsoleMonster.Widgets.ProgressColumn>?
- The value.
Returns
The same instance.
public static Lanes WithCountColumn(Lanes lanes, ColumnFormat value) #LanesSets Lanes.CountColumn: Layout of the pass, fail and warning count columns. Each count is its own column across all rows: the symbol stays put and the number is right-aligned. Digits are reserved from the largest lane total (when totals are known) and from the largest count displayed so far, so columns never move during a run.
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value ConsoleMonster.Layout.ColumnFormat
- The value.
Returns
The same instance.
public static Lanes WithCountColumn(Lanes lanes, Action<ColumnFormat> configure) #LanesConfigures Lanes.CountColumn in place: Layout of the pass, fail and warning count columns. Each count is its own column across all rows: the symbol stays put and the number is right-aligned. Digits are reserved from the largest lane total (when totals are known) and from the largest count displayed so far, so columns never move during a run.
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- configure System.Action<ConsoleMonster.Layout.ColumnFormat>
- Configures the value.
Returns
The same instance.
public static Lanes WithCountSkipped(Lanes lanes, Boolean value = true) #LanesSets Lanes.CountSkipped: Whether the third count column shows skipped steps (– / -) instead of warnings (▴ / !), for runs where skips matter more, such as test runs.
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value System.Boolean = true
- The value (default true).
Returns
The same instance.
public static Lanes WithDimPending(Lanes lanes, Boolean value = true) #LanesSets Lanes.DimPending: Whether a waiting (pending) lane's label is dimmed (default true).
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value System.Boolean = true
- The value (default true).
Returns
The same instance.
public static Lanes WithHideCompleted(Lanes lanes, Boolean value = true) #LanesSets Lanes.HideCompleted: Whether finished lanes leave the display (counted in the summary line), so only running and queued work shows.
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value System.Boolean = true
- The value (default true).
Returns
The same instance.
public static Lanes WithMaxLabelWidth(Lanes lanes, Int32 value) #LanesSets Lanes.MaxLabelWidth: The widest label column (default 28).
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value System.Int32
- The value.
Returns
The same instance.
public static Lanes WithPercentColumn(Lanes lanes, ColumnFormat value) #LanesSets Lanes.PercentColumn: Layout of the percentage column (default right-aligned, four cells for "100%").
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value ConsoleMonster.Layout.ColumnFormat
- The value.
Returns
The same instance.
public static Lanes WithPercentColumn(Lanes lanes, Action<ColumnFormat> configure) #LanesConfigures Lanes.PercentColumn in place: Layout of the percentage column (default right-aligned, four cells for "100%").
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- configure System.Action<ConsoleMonster.Layout.ColumnFormat>
- Configures the value.
Returns
The same instance.
public static Lanes WithRateWindow(Lanes lanes, TimeSpan value) #LanesSets Lanes.RateWindow: The moving window that smooths rates and remaining-time estimates (default 10 seconds).
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value System.TimeSpan
- The value.
Returns
The same instance.
public static Lanes WithShape(Lanes lanes, BarShape value) #LanesSets Lanes.Shape: The bar shape: BarShape.Line (default, thin strokes that keep rows apart) or BarShape.Block.
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value ConsoleMonster.Widgets.BarShape
- The value.
Returns
The same instance.
public static Lanes WithShowDetail(Lanes lanes, Boolean value = true) #LanesSets Lanes.ShowDetail: Whether the detail column is shown (default true).
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value System.Boolean = true
- The value (default true).
Returns
The same instance.
public static Lanes WithShowRunningCount(Lanes lanes, Boolean value = true) #LanesSets Lanes.ShowRunningCount: Whether a last row counts the running lanes ("● 3 running") while any run (default false).
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value System.Boolean = true
- The value (default true).
Returns
The same instance.
public static Lanes WithTransient(Lanes lanes, Boolean value = true) #LanesSets Lanes.Transient: Whether the display disappears once every lane has finished (it measures zero rows), so an inline session ends with nothing left of it. Combine with LiveSessionOptions.PrintFinalState off for a fully transient session.
Parameters
- lanes ConsoleMonster.Widgets.Lanes
- The instance.
- value System.Boolean = true
- The value (default true).
Returns
The same instance.