Skip to content

Hex1b ​

Assembly: Hex1b.dll

Classes ​

AccordionExtensions ​

Extension methods for building Accordion widgets.

csharp
public static class AccordionExtensions

AlignExtensions ​

Extension methods for creating .

csharp
public static class AlignExtensions

AnimationExtensions ​

Extension methods for animation and timed redraws.

csharp
public static class AnimationExtensions

AsciinemaFileWorkloadAdapter ​

A workload adapter that plays back an asciinema (.cast) recording file.

csharp
public sealed class AsciinemaFileWorkloadAdapter : IHex1bTerminalWorkloadAdapter, IAsyncDisposable

AsciinemaMarker ​

Represents a chapter marker in an asciinema recording.

csharp
public sealed record AsciinemaMarker : IEquatable<AsciinemaMarker>

AsciinemaRecorder ​

Records terminal sessions in asciicast v2 format (Asciinema).

csharp
public sealed class AsciinemaRecorder : IHex1bTerminalWorkloadFilter, IAsyncDisposable, IDisposable

AsciinemaRecorderOptions ​

Options for configuring the Asciinema recorder.

csharp
public sealed class AsciinemaRecorderOptions

AsciinemaRecording ​

Provides playback control for an asciinema (.cast) recording file.

csharp
public sealed class AsciinemaRecording

AsciinemaTheme ​

Terminal color theme for Asciinema recordings.

csharp
public sealed class AsciinemaTheme

BackdropExtensions ​

Extension methods for creating .

csharp
public static class BackdropExtensions

BarChartExtensions ​

Extension methods for creating instances.

csharp
public static class BarChartExtensions

BorderExtensions ​

Extension methods for building BorderWidget.

csharp
public static class BorderExtensions

BreakdownChartExtensions ​

Extension methods for creating instances.

csharp
public static class BreakdownChartExtensions

ButtonExtensions ​

Extension methods for creating ButtonWidget.

csharp
public static class ButtonExtensions

ButtonNode ​

csharp
public sealed class ButtonNode : Hex1bNode

CachingExtensions ​

Extension methods for configuring per-widget render-cache hints.

csharp
public static class CachingExtensions

CalendarExtensions ​

Extension methods for creating instances using the fluent builder API.

csharp
public static class CalendarExtensions

CheckboxExtensions ​

Extension methods for creating CheckboxWidget.

csharp
public static class CheckboxExtensions

CheckboxNode ​

Render node for CheckboxWidget.

csharp
public sealed class CheckboxNode : Hex1bNode

ColumnChartExtensions ​

Extension methods for creating instances.

csharp
public static class ColumnChartExtensions

ConsolePresentationAdapter ​

Console presentation adapter using platform-specific raw mode for proper input handling.

csharp
public sealed class ConsolePresentationAdapter : IHex1bTerminalPresentationAdapter, IAsyncDisposable, ITerminalReflowProvider

CopyModeBindingsOptions ​

Configuration options for standard copy mode key and mouse bindings. All properties have sensible defaults (vi-style keys + mouse).

csharp
public sealed class CopyModeBindingsOptions

DatePickerExtensions ​

Extension methods for creating instances using the fluent builder API.

csharp
public static class DatePickerExtensions

DiagnosticShellBuilderExtensions ​

Extension methods for adding diagnostic shell to .

csharp
public static class DiagnosticShellBuilderExtensions

DiagnosticShellWorkloadAdapter ​

A diagnostic shell workload that simulates a shell environment without PTY infrastructure. Useful for testing terminal control codes and debugging terminal behavior.

csharp
public sealed class DiagnosticShellWorkloadAdapter : IHex1bTerminalWorkloadAdapter, IAsyncDisposable

DisplayWidth ​

Provides methods to calculate the terminal display width of Unicode text.

In terminal emulators, most characters occupy 1 cell, but some characters (like CJK ideographs, emojis, and certain other symbols) occupy 2 cells. Combining characters (accents, etc.) occupy 0 cells as they combine with the previous character.

This is based on the Unicode East Asian Width property and wcwidth behavior.

csharp
public static class DisplayWidth

DockerContainerExtensions ​

Extension methods for configuring Docker containers as terminal workloads.

csharp
public static class DockerContainerExtensions

DockerContainerOptions ​

Options for configuring a Docker container as a terminal workload.

csharp
public sealed class DockerContainerOptions

DocumentDiagnosticPanelExtensions ​

Extension methods for creating a Document Diagnostic Panel widget. Renders the internal piece table structure of an IHex1bDocument as a tree.

csharp
public static class DocumentDiagnosticPanelExtensions

DonutChartExtensions ​

Extension methods for creating instances.

csharp
public static class DonutChartExtensions

DragBarPanelExtensions ​

Extension methods for building DragBarPanel widgets.

csharp
public static class DragBarPanelExtensions

DragBarPanelNode ​

Node for a DragBarPanel — a container with a resize handle on one edge. The handle can be dragged with the mouse or moved with arrow keys when focused.

csharp
public sealed class DragBarPanelNode : Hex1bNode, IChildLayoutProvider

DragDropExtensions ​

Extension methods for creating and .

csharp
public static class DragDropExtensions

DraggableContext ​

A context for building the child tree of a . Provides access to the current drag state from the underlying node.

csharp
public sealed class DraggableContext : WidgetContext<DraggableWidget>

DrawerExtensions ​

Extension methods for creating DrawerWidget.

csharp
public static class DrawerExtensions

DroppableContext ​

A context for building the child tree of a . Provides access to the current drag-hover state from the underlying node.

csharp
public sealed class DroppableContext : WidgetContext<DroppableWidget>

DropTargetContext ​

A context for building the child of a . Provides access to the current activation state.

csharp
public sealed class DropTargetContext : WidgetContext<DropTargetWidget>

EditorExtensions ​

Extension methods for building EditorWidget.

csharp
public static class EditorExtensions

EditorNode ​

Node for multi-line document editing. Manages scroll, viewport, and input. Scroll offset is per-node to support different views on the same document. Scrollbars are rendered and handled internally (not composed) because their behavior is tightly coupled to the active IEditorViewRenderer.

csharp
public sealed class EditorNode : Hex1bNode, IEditorSession

EffectPanelExtensions ​

Extension methods for creating instances.

csharp
public static class EffectPanelExtensions

FigletTextExtensions ​

Extension methods for creating and configuring instances using the fluent widget-builder API.

csharp
public static class FigletTextExtensions

FloatExtensions ​

Extension methods for creating floated widgets within float-aware containers.

csharp
public static class FloatExtensions

FormContext ​

Builder context for constructing a . Extends so standard widget extension methods (e.g. form.Text(...), form.Separator()) are available inside forms. Form-specific extensions like form.TextField(...) target this type directly.

csharp
public sealed class FormContext : WidgetContext<FormWidget>

FormExtensions ​

Extension methods for creating instances.

csharp
public static class FormExtensions

FormTextFieldExtensions ​

Extension methods for creating form text fields.

csharp
public static class FormTextFieldExtensions

GraphemeHelper ​

Helper methods for working with grapheme clusters (user-perceived characters).

A grapheme cluster is what users perceive as a single "character" but may be composed of multiple Unicode code points (and thus multiple C# chars).

This class provides methods to navigate text by grapheme cluster boundaries, ensuring operations like delete, cursor movement, and selection work correctly with emojis, combining characters, and other complex Unicode sequences.

csharp
public static class GraphemeHelper

GridContext ​

Builder context for constructing a . Provides and collections for explicit grid dimension definitions, and a method for creating cells.

csharp
public sealed class GridContext : WidgetContext<GridWidget>

GridDefinitionCollection<T> ​

A typed collection for grid column or row definitions with convenience Add overloads.

csharp
public sealed class GridDefinitionCollection<T> : List<T>, IList<T>, ICollection<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable

GridDefinitionCollectionExtensions ​

Extension methods for adding definitions to grid definition collections.

csharp
public static class GridDefinitionCollectionExtensions

GridExtensions ​

Extension methods for creating instances using the fluent builder API.

csharp
public static class GridExtensions

GridNode ​

Render node for . Arranges children in a two-dimensional grid, distributing space according to column and row size hints with support for spanning.

csharp
public sealed class GridNode : Hex1bNode, ILayoutProvider

HeadlessPresentationAdapter ​

A presentation adapter that discards output and provides no input. Use this for headless/testing scenarios where no actual terminal I/O is needed.

csharp
public sealed class HeadlessPresentationAdapter : IHex1bTerminalPresentationAdapter, ITerminalReflowProvider, IAsyncDisposable, IDisposable

Hex1bApp ​

The main entry point for building terminal UI applications.

csharp
public class Hex1bApp : IDisposable, IAsyncDisposable

Hex1bAppOptions ​

Options for configuring a Hex1bApp.

csharp
public class Hex1bAppOptions

Hex1bAppWorkloadAdapter ​

Workload adapter for Hex1bApp TUI applications. Bridges the raw byte interface of with the higher-level APIs that Hex1bApp needs.

csharp
public sealed class Hex1bAppWorkloadAdapter : IHex1bAppTerminalWorkloadAdapter, IHex1bTerminalTokenWorkloadAdapter, IHex1bTerminalWorkloadAdapter, IAsyncDisposable, IRepaintableWorkloadAdapter, IDisposable

Hex1bNode ​

csharp
public abstract class Hex1bNode

Hex1bRenderContext ​

csharp
public class Hex1bRenderContext

Hex1bTerminal ​

A virtual terminal that bridges workload and presentation layers, with optional screen buffer capture for testing and debugging.

csharp
public sealed class Hex1bTerminal : IDisposable, IAsyncDisposable

Hex1bTerminalBuilder ​

A builder for creating and configuring instances.

csharp
public sealed class Hex1bTerminalBuilder

Hex1bTerminalChildProcess ​

Represents a child process attached to a pseudo-terminal (PTY). The process's stdin/stdout/stderr are connected to the PTY, making it believe it's running in an interactive terminal.

csharp
public sealed class Hex1bTerminalChildProcess : IHex1bTerminalWorkloadAdapter, IAsyncDisposable

Hex1bTerminalGraphicsOptions ​

Configures resource limits for graphics retained and processed by a .

csharp
public sealed class Hex1bTerminalGraphicsOptions

Hex1bTerminalOptions ​

Options for configuring a .

csharp
public sealed class Hex1bTerminalOptions

Hex1bTerminalProcessOptions ​

Options for configuring a child process workload.

csharp
public sealed class Hex1bTerminalProcessOptions

HexEditorViewRenderer ​

Renders document content as a hex dump with offset, hex bytes, and ASCII columns. Format per row: "XXXXXXXX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX ................"

csharp
public sealed class HexEditorViewRenderer : IEditorViewRenderer

Hmp1BuilderExtensions ​

Extension methods for that wire up the HMP v1 (Hex1b Muxer Protocol v1) server and client adapters.

csharp
public static class Hmp1BuilderExtensions

Hmp1ClientConnectedEventArgs ​

Arguments for the callback. Fires after a new HMP v1 client completes its ClientHello → Hello → StateSync handshake.

csharp
public sealed class Hmp1ClientConnectedEventArgs : EventArgs

Hmp1ClientDisconnectedEventArgs ​

Arguments for the callback. Fires when a per-client session ends.

csharp
public sealed class Hmp1ClientDisconnectedEventArgs : EventArgs

Hmp1ClientHandle ​

Handle representing a connected muxer client. Dispose to disconnect.

csharp
public sealed class Hmp1ClientHandle : IAsyncDisposable

Hmp1ClientOptions ​

Configures an HMP v1 client workload built via the family of builder extensions.

csharp
public sealed class Hmp1ClientOptions

Hmp1ConnectedEventArgs ​

Arguments for the callback. Carries the state assembled from the Hello and StateSync handshake frames.

csharp
public sealed class Hmp1ConnectedEventArgs : EventArgs

Hmp1PresentationAdapter ​

A presentation adapter that serves terminal output to multiple remote clients over the Hex1b Muxer Protocol (HMP).

csharp
public sealed class Hmp1PresentationAdapter : ITerminalLifecycleAwarePresentationAdapter, IHex1bTerminalPresentationAdapter, IAsyncDisposable, ITerminalReflowProvider

Hmp1ServerOptions ​

Configures an HMP v1 server listener built via the

or

family of builder extensions.

csharp
public sealed class Hmp1ServerOptions

Hmp1ServerPrimaryChangedEventArgs ​

Arguments for the callback. Fires when the primary peer changes (including transitions to no-primary).

csharp
public sealed class Hmp1ServerPrimaryChangedEventArgs : EventArgs

Hmp1ServerResizedEventArgs ​

Arguments for the callback. Fires when the producer's PTY dimensions change.

csharp
public sealed class Hmp1ServerResizedEventArgs : EventArgs

Hmp1Transports ​

Built-in transport helpers for creating stream sources used by .

csharp
public static class Hmp1Transports

Hmp1WorkloadAdapter ​

A workload adapter that connects to a remote muxer server over the Hex1b Muxer Protocol (HMP).

csharp
public sealed class Hmp1WorkloadAdapter : IHex1bTerminalWorkloadAdapter, IAsyncDisposable, IHmp1ConnectionHandle, IConnectableWorkloadAdapter

HStackExtensions ​

Extension methods for building HStack widgets.

csharp
public static class HStackExtensions

HStackNode ​

csharp
public sealed class HStackNode : Hex1bNode, ILayoutProvider

Hwt1PresentationAdapter ​

Presents authoritative terminal state to Hex1b's first-party browser client using HWT1.

csharp
public sealed class Hwt1PresentationAdapter : ICellImpactAwarePresentationAdapter, ITerminalLifecycleAwarePresentationAdapter, IHex1bTerminalPresentationAdapter, IAsyncDisposable, ITerminalReflowProvider

HyperlinkData ​

Immutable data containing OSC 8 hyperlink information.

csharp
public sealed class HyperlinkData

HyperlinkExtensions ​

Extension methods for creating and configuring instances using the fluent API.

csharp
public static class HyperlinkExtensions

HyperlinkNode ​

Node that renders a hyperlink using OSC 8 escape sequences. In terminals that support OSC 8, the text becomes clickable.

csharp
public sealed class HyperlinkNode : Hex1bNode

IconExtensions ​

Extension methods for creating IconWidget.

csharp
public static class IconExtensions

IconNode ​

Render node for displaying icons with optional click handling.

csharp
public sealed class IconNode : Hex1bNode

InfoBarExtensions ​

Extension methods for building InfoBar widgets.

csharp
public static class InfoBarExtensions

InputBindingExtensions ​

Extension methods for adding input bindings to widgets.

csharp
public static class InputBindingExtensions

InputOverrideExtensions ​

Extension methods for creating .

csharp
public static class InputOverrideExtensions

InteractableContext ​

A context for building the child tree of an . Provides access to current focus and hover state from the underlying node.

csharp
public sealed class InteractableContext : WidgetContext<InteractableWidget>

InteractableExtensions ​

Extension methods for creating .

csharp
public static class InteractableExtensions

KgpAnimationFrame ​

Describes one full RGBA32 frame in a Kitty Graphics Protocol animation.

csharp
public sealed class KgpAnimationFrame

KgpCellData ​

Immutable data for a KGP (Kitty Graphics Protocol) image placement on a surface cell.

csharp
public sealed class KgpCellData

KgpCommand ​

Parsed KGP command from control data key=value pairs.

csharp
public sealed class KgpCommand

KgpImageData ​

Stores transmitted image data for the Kitty Graphics Protocol. Images are identified by ID and may be displayed via multiple placements.

csharp
public sealed class KgpImageData

KgpImageExtensions ​

Extension methods for creating and configuring .

csharp
public static class KgpImageExtensions

KgpImageStore ​

Central store for KGP images. Manages image IDs, image numbers, chunked transfers, and storage quotas.

csharp
public sealed class KgpImageStore

KgpPlacement ​

Represents a displayed instance of a KGP image at a specific position.

csharp
public sealed class KgpPlacement

KgpTestHelper ​

Helper for constructing KGP escape sequences in tests.

csharp
public static class KgpTestHelper

LanguageServerExtensions ​

Extension methods for adding language server support to the .

csharp
public static class LanguageServerExtensions

LayoutExtensions ​

Extension methods for building LayoutWidget.

csharp
public static class LayoutExtensions

LegendExtensions ​

Extension methods for creating instances.

csharp
public static class LegendExtensions

ListExtensions ​

Extension methods for building and configuring .

csharp
public static class ListExtensions

ListItemContext<T> ​

Context passed to an ItemTemplate callback on . Exposes the per-row item value alongside the row's current focus, selection, and hover state so the template can decide how to style itself. Derives from so the usual fluent extension methods (context.Text(...), context.VStack(...), etc.) are available inside the builder.

csharp
public sealed class ListItemContext<T> : WidgetContext<ListWidget<T>>

ListNode ​

String-specialized list node. Inherits all selection/scrolling/template behavior from with T = string; exists as a distinct concrete type so legacy handlers and tests that reference ListNode continue to compile and run unchanged.

csharp
public sealed class ListNode : ListNode<string>, ILayoutProvider

ListNode<T> ​

Render node for . Supports two render modes:

  Default mode — no `ItemTemplate` set: each row is rendered
  as a single line of `item?.ToString()` with the themed selection
  indicator and selected/hover background, identical to the original
   visuals.

  Template mode — `ItemTemplate` set: each row is reconciled
  into a child widget tree the template returns. The template owns all
  visual chrome and styles itself from
  .
csharp
public class ListNode<T> : Hex1bNode, ILayoutProvider

LoggerPanelExtensions ​

Extension methods for creating LoggerPanelWidget.

csharp
public static class LoggerPanelExtensions

LoggerPanelNode ​

Render node for LoggerPanelWidget. Manages follow state for the log table.

csharp
public sealed class LoggerPanelNode : Hex1bNode

MarkdownExtensions ​

Extension methods for creating .

csharp
public static class MarkdownExtensions

Render node for MenuBarWidget. Horizontal container for top-level menu triggers.

csharp
public sealed class MenuBarNode : Hex1bNode, ILayoutProvider

Extension methods for creating menu widgets.

csharp
public static class MenuExtensions

Render node for MenuItemWidget. Focusable item that triggers an action when activated.

csharp
public sealed class MenuItemNode : Hex1bNode

Render node for MenuWidget. Context-aware rendering: renders as a trigger in MenuBar, or as a submenu item in a parent Menu. When opened, pushes its content to the PopupStack.

csharp
public sealed class MenuNode : Hex1bNode, ILayoutProvider

Render node for menu popup content. Displays the menu items in a bordered box.

csharp
public sealed class MenuPopupNode : Hex1bNode, ILayoutProvider

Render node for MenuSeparatorWidget. Normally non-focusable visual divider, but can accept focus as a fallback when there are no other focusable items in the menu (to allow navigation out).

csharp
public sealed class MenuSeparatorNode : Hex1bNode

MetricExtensions ​

Extension methods for assigning metric names to widgets.

csharp
public static class MetricExtensions

Extension methods for building NavigatorWidget.

csharp
[Experimental("HEX1B001")]
public static class NavigatorExtensions

Notification ​

Represents a notification that can be displayed to the user. Notifications are mutable state objects - modify properties directly and the UI will update.

csharp
public sealed class Notification

NotificationAction ​

Represents an action button on a notification.

csharp
public sealed record NotificationAction : IEquatable<NotificationAction>

NotificationActionContext ​

Context passed to notification action button handlers.

csharp
public class NotificationActionContext : NotificationEventContext

NotificationEventContext ​

Context passed to notification lifecycle event handlers (dismiss, timeout).

csharp
public class NotificationEventContext

NotificationIconExtensions ​

Extension methods for creating notification icon widgets in widget contexts.

csharp
public static class NotificationIconExtensions

NotificationPanelExtensions ​

Extension methods for creating notification panel widgets in widget contexts.

csharp
public static class NotificationPanelExtensions

NotificationStack ​

Manages a collection of notifications with floating/docked state tracking and timeout handling.

csharp
public sealed class NotificationStack

PaddingExtensions ​

Extension methods for creating .

csharp
public static class PaddingExtensions

PastableExtensions ​

Extension methods for building PastableWidget.

csharp
public static class PastableExtensions

PeerJoinEventArgs ​

Arguments for the callback.

csharp
public sealed class PeerJoinEventArgs : EventArgs

PeerLeaveEventArgs ​

Arguments for the callback.

csharp
public sealed class PeerLeaveEventArgs : EventArgs

PickerExtensions ​

Extension methods for creating Picker widgets.

csharp
public static class PickerExtensions

PickerNode ​

Render node for PickerWidget. Manages the picker's selection state and popup display.

csharp
public sealed class PickerNode : Hex1bNode

PlaceholderWorkloadBuilderExtensions ​

Builder extensions for configuring a placeholder workload that drives the terminal until the real ("primary") workload signals it is ready.

csharp
[Experimental("HEX1B002", UrlFormat = "https://github.com/hex1b/hex1b/blob/main/docs/experimental/placeholder.md")]
public static class PlaceholderWorkloadBuilderExtensions

PopupEntry ​

Represents a popup entry with optional anchor information and barrier flag.

csharp
public sealed class PopupEntry

PopupEntryExtensions ​

Extension methods for fluent configuration.

csharp
public static class PopupEntryExtensions

PopupStack ​

Manages a stack of popups for menu-like overlay behavior. Each popup has a transparent backdrop - clicking the backdrop pops that layer.

csharp
public sealed class PopupStack

ProgressExtensions ​

Extension methods for creating Progress widgets.

csharp
public static class ProgressExtensions

ProgressNode ​

Render node for displaying progress bars. Created by reconciling a .

csharp
public sealed class ProgressNode : Hex1bNode

QrCodeExtensions ​

Extension methods for creating and configuring instances using the fluent API.

csharp
public static class QrCodeExtensions

QrCodeNode ​

Render node for displaying QR codes in the terminal. Created by reconciling a .

csharp
public sealed class QrCodeNode : Hex1bNode

RemoteResizedEventArgs ​

Arguments for the callback.

csharp
public sealed class RemoteResizedEventArgs : EventArgs

RemoteTerminalOptions ​

Configures a remote terminal WebSocket connection and its opening HTTP request.

csharp
public sealed class RemoteTerminalOptions

RemoteTerminalWorkloadAdapter ​

A workload adapter that connects to a remote terminal host over WebSocket. The remote host exposes itself via WebSocketDiagnosticsListener at a /ws/attach endpoint. This adapter bridges the WebSocket I/O to the contract so a local can display and interact with the remote terminal.

csharp
public sealed class RemoteTerminalWorkloadAdapter : IHex1bTerminalWorkloadAdapter, IAsyncDisposable

RescueContext ​

A widget context for building rescue fallback UI. Provides access to error information and the ability to reset the rescue state.

csharp
public sealed class RescueContext : WidgetContext<VStackWidget>

RescueExtensions ​

Extension methods for building RescueWidget.

csharp
public static class RescueExtensions

ResponsiveExtensions ​

Extension methods for building Responsive widgets. The Responsive widget displays the first child whose condition evaluates to true based on the available space from parent constraints.

csharp
public static class ResponsiveExtensions

RetryAttemptFailedEventArgs ​

Carries information about a single failed retry attempt.

csharp
public sealed record RetryAttemptFailedEventArgs : IEquatable<RetryAttemptFailedEventArgs>

RetryPolicy ​

Backoff policy used by retrying transports such as .

csharp
public sealed class RetryPolicy

RoleChangedEventArgs ​

Arguments for the callback.

csharp
public sealed class RoleChangedEventArgs : EventArgs

RootContext ​

Root context for starting widget tree construction.

csharp
public class RootContext : WidgetContext<RootWidget>

RootWidget ​

Marker record for the root context (no parent widget constraint). This widget should never be reconciled - it's purely a type marker.

csharp
public sealed record RootWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<RootWidget>

ScatterChartExtensions ​

Extension methods for creating instances.

csharp
public static class ScatterChartExtensions

SceneExtensions ​

Extension methods for Scene widget integration.

csharp
[Experimental("HEX1B_SCENE", UrlFormat = "https://github.com/hex1b/hex1b/blob/main/docs/experimental/scene.md")]
public static class SceneExtensions

SceneNode ​

Node that renders a 3D scene from a camera's perspective.

csharp
[Experimental("HEX1B_SCENE", UrlFormat = "https://github.com/hex1b/hex1b/blob/main/docs/experimental/scene.md")]
public class SceneNode : Hex1bNode

ScrollbackRowEventArgs ​

Provides data for the scrollback row callback, invoked when a row is scrolled off the top of the terminal screen into the scrollback buffer.

csharp
public sealed class ScrollbackRowEventArgs

ScrollbarExtensions ​

Extension methods for building ScrollbarWidget.

csharp
public static class ScrollbarExtensions

ScrollPanelExtensions ​

Extension methods for building ScrollPanelWidget.

csharp
public static class ScrollPanelExtensions

SelectionPanelExtensions ​

Extension methods for building .

csharp
public static class SelectionPanelExtensions

SelectionPromptExtensions ​

Extension methods for building .

csharp
public static class SelectionPromptExtensions

SeparatorExtensions ​

Extension methods for creating instances using the fluent API.

csharp
public static class SeparatorExtensions

SixelData ​

Immutable data containing Sixel graphics information.

csharp
public sealed class SixelData

SixelExtensions ​

Extension methods for creating SixelWidget.

csharp
[Experimental("HEX1B_SIXEL", UrlFormat = "https://github.com/hex1b/hex1b/blob/main/docs/experimental/sixel.md")]
public static class SixelExtensions

SixelPlacement ​

An anonymous Sixel raster placement anchored to a terminal cell position.

csharp
public sealed class SixelPlacement

SizeHintExtensions ​

Extension methods for setting size hints on widgets. These enable a fluent API: ctx.Text("Hello").Height(SizeHint.Fill)

csharp
public static class SizeHintExtensions

SliderExtensions ​

Extension methods for creating Slider widgets.

csharp
public static class SliderExtensions

SliderNode ​

Render node for the Slider widget. Manages state, handles input, and renders the slider.

csharp
public sealed class SliderNode : Hex1bNode

SpinnerExtensions ​

Extension methods for creating Spinner widgets.

csharp
public static class SpinnerExtensions

SpinnerNode ​

Render node for displaying animated spinners. Created by reconciling a .

csharp
public sealed class SpinnerNode : Hex1bNode

SplitButtonExtensions ​

Extension methods for creating split button widgets in widget contexts.

csharp
public static class SplitButtonExtensions

SplitButtonNode ​

Render node for . Displays a primary action button with an optional dropdown for secondary actions.

csharp
public sealed class SplitButtonNode : Hex1bNode

SplitterExtensions ​

Extension methods for building SplitterWidget.

csharp
public static class SplitterExtensions

SplitterNode ​

csharp
public sealed class SplitterNode : Hex1bNode, IChildLayoutProvider

StandardProcessWorkloadAdapter ​

A workload adapter that wraps a standard .NET with redirected I/O.

csharp
public sealed class StandardProcessWorkloadAdapter : IHex1bTerminalWorkloadAdapter, IAsyncDisposable

StatePanelAnimationExtensions ​

Extension methods that layer animation support on top of .

csharp
public static class StatePanelAnimationExtensions

StatePanelContext ​

A context for building the child tree of a . Provides access to generic state storage scoped to the panel's identity.

csharp
public sealed class StatePanelContext : WidgetContext<StatePanelWidget>

StatePanelExtensions ​

Extension methods for creating .

csharp
public static class StatePanelExtensions

StreamWorkloadAdapter ​

A simple workload adapter that wraps input and output streams. Useful for testing or connecting to arbitrary byte streams.

csharp
public sealed class StreamWorkloadAdapter : IHex1bTerminalWorkloadAdapter, IAsyncDisposable

SurfaceExtensions ​

Extension methods for creating instances using the fluent API.

csharp
public static class SurfaceExtensions

TabBarExtensions ​

Extension methods for building TabBar widgets.

csharp
public static class TabBarExtensions

TableExtensions ​

Extension methods for creating TableWidget instances.

csharp
public static class TableExtensions

TabPanelExtensions ​

Extension methods for building TabPanel widgets.

csharp
public static class TabPanelExtensions

TerminalCapabilities ​

Capabilities that inform how Hex1bTerminal optimizes output and what features are available.

csharp
public record TerminalCapabilities : IEquatable<TerminalCapabilities>

TerminalCommandMark ​

Records a single OSC 133 shell-integration marker (prompt, command-line, executing, or finished) anchored to a specific row in the terminal's text history.

csharp
public sealed record TerminalCommandMark : IEquatable<TerminalCommandMark>

TerminalExtensions ​

Extension methods for creating TerminalWidget.

csharp
public static class TerminalExtensions

TerminalProgress ​

Contains the current progress indicator reported by a terminal workload.

csharp
public sealed record TerminalProgress : IEquatable<TerminalProgress>

TerminalSelection ​

Tracks the current text selection state within a terminal buffer.

csharp
public sealed class TerminalSelection

TerminalShellIntegration ​

Contains the current shell phase and latest reported command result.

csharp
public sealed record TerminalShellIntegration : IEquatable<TerminalShellIntegration>

TerminalWidgetHandle ​

A handle that connects a Hex1bTerminal to a TerminalWidget for embedding child terminal sessions within a TUI application.

csharp
public sealed class TerminalWidgetHandle : ICellImpactAwarePresentationAdapter, ITerminalLifecycleAwarePresentationAdapter, IHex1bTerminalPresentationAdapter, IAsyncDisposable

TerminalWorkingDirectory ​

Contains the working directory last reported by a shell using OSC 7.

csharp
public sealed record TerminalWorkingDirectory : IEquatable<TerminalWorkingDirectory>

TextBlockNode ​

Render node for displaying text content. Created by reconciling a .

csharp
public sealed class TextBlockNode : Hex1bNode

TextBoxExtensions ​

Extension methods for building TextBoxWidget.

csharp
public static class TextBoxExtensions

TextBoxNode ​

csharp
public sealed class TextBoxNode : Hex1bNode

TextEditorViewRenderer ​

Renders document content as plain text lines. This is the default editor view.

csharp
public sealed class TextEditorViewRenderer : IEditorViewRenderer

TextExtensions ​

Extension methods for creating and configuring instances using the fluent API.

csharp
public static class TextExtensions

ThemePanelExtensions ​

Extension methods for building ThemePanelWidget.

csharp
public static class ThemePanelExtensions

TilePanelExtensions ​

Extension methods for creating instances.

csharp
public static class TilePanelExtensions

TilePanelNode ​

Render node for . Manages viewport math, tile fetching, POI positioning, and input bindings.

csharp
public sealed class TilePanelNode : Hex1bNode, IDisposable

TimeSeriesChartExtensions ​

Extension methods for creating instances.

csharp
public static class TimeSeriesChartExtensions

TitleAction ​

Represents a title bar action descriptor created by .

csharp
public sealed class TitleAction

TitleActionBuilder ​

Builder for creating title bar actions in the fluent window API.

csharp
public sealed class TitleActionBuilder

ToggleSwitchExtensions ​

Extension methods for creating ToggleSwitchWidget.

csharp
public static class ToggleSwitchExtensions

ToggleSwitchNode ​

A horizontal toggle switch node that renders options as adjacent per-option chips and allows selection via left/right arrow keys or mouse click. Selection state is owned by this node and preserved across reconciliation.

csharp
public sealed class ToggleSwitchNode : Hex1bNode

TrackedObject<T> ​

A reference-counted wrapper for objects tracked by terminal cells.

csharp
public sealed class TrackedObject<T> where T : class

TreeExtensions ​

Extension methods for creating Tree widgets.

csharp
public static class TreeExtensions

TreeItemNode ​

Render node for a single tree item. Managed by the parent TreeNode which handles tree structure and navigation.

csharp
public sealed class TreeItemNode : Hex1bNode

TreeNode ​

Container node that manages tree layout, scrolling, and guide rendering.

csharp
public sealed class TreeNode : Hex1bNode

ValidationMessageExtensions ​

Extension methods for creating validation message widgets inside forms.

csharp
public static class ValidationMessageExtensions

ValidationSummaryExtensions ​

Extension methods for creating instances.

csharp
public static class ValidationSummaryExtensions

VStackExtensions ​

Extension methods for building VStack widgets. The callback returns Hex1bWidget[] using collection expressions. Covariance on Hex1bWidget allows mixing different widget types.

csharp
public static class VStackExtensions

VStackNode ​

csharp
public sealed class VStackNode : Hex1bNode, ILayoutProvider

WebSocketPresentationAdapter ​

WebSocket presentation adapter for browser-based terminal connections.

csharp
public sealed class WebSocketPresentationAdapter : IHex1bTerminalPresentationAdapter, IAsyncDisposable

WidgetContext<TParentWidget> ​

A context for building widgets within a parent container. The TParentWidget type constrains which child widgets can be created. Extension methods return widgets directly; covariance allows collection expressions.

csharp
public class WidgetContext<TParentWidget> where TParentWidget : Hex1bWidget

WindowAction ​

Represents an action button that can be displayed in a window's title bar.

csharp
public sealed record WindowAction : IEquatable<WindowAction>

WindowActionContext ​

Provides context for window title bar action callbacks.

csharp
public sealed class WindowActionContext : WidgetEventArgs

WindowContentContext<TParentWidget> ​

A widget context for building window content that provides access to the window being built.

csharp
public sealed class WindowContentContext<TParentWidget> : WidgetContext<TParentWidget> where TParentWidget : Hex1bWidget

WindowEntry ​

Represents a managed window entry with its state.

csharp
public sealed class WindowEntry

WindowHandle ​

A factory/descriptor for creating windows using the fluent builder pattern. WindowHandle captures the configuration and content callback, which are invoked during reconciliation to build the actual widget tree.

csharp
public sealed class WindowHandle

WindowManager ​

Manages floating windows within a . Handles window registration, z-ordering, and modal window stacking.

csharp
public sealed class WindowManager

WindowPanelExtensions ​

Extension methods for creating .

csharp
public static class WindowPanelExtensions

WindowResultContext<T> ​

Provides context for window result callbacks when a dialog closes with a typed result.

csharp
public sealed class WindowResultContext<T>

WorkloadLoggingFilter ​

A workload filter that logs all data flowing through the workload pipeline to a file.

csharp
public sealed class WorkloadLoggingFilter : IHex1bTerminalWorkloadFilter, IAsyncDisposable, IDisposable

WrapPanelExtensions ​

Extension methods for creating .

csharp
public static class WrapPanelExtensions

WrapPanelNode ​

Render node for . Lays out children sequentially, wrapping to the next row or column when the available extent is exceeded.

csharp
public sealed class WrapPanelNode : Hex1bNode, ILayoutProvider

ZStackExtensions ​

Extension methods for creating .

csharp
public static class ZStackExtensions

ZStackNode ​

Render node for . Stacks children on the Z-axis, with later children rendering on top of earlier ones.

csharp
public sealed class ZStackNode : Hex1bNode, ILayoutProvider, IPopupHost, INotificationHost

Structs ​

BufferPosition ​

Represents a position in the terminal's virtual buffer, which unifies scrollback rows (numbered 0..N-1, oldest to newest) and screen rows (numbered N..N+H-1).

csharp
public readonly record struct BufferPosition : IComparable<BufferPosition>, IEquatable<BufferPosition>

KeyBinding ​

A key binding: a key combined with optional modifier keys.

csharp
public readonly record struct KeyBinding : IEquatable<KeyBinding>

KgpPlacementRenderGeometry ​

Describes exact image and clip bounds for a KGP placement in terminal-cell units relative to the placement's row and column.

csharp
public readonly record struct KgpPlacementRenderGeometry : IEquatable<KgpPlacementRenderGeometry>

PeerInfo ​

A peer connected to the same producer as this adapter.

csharp
public readonly record struct PeerInfo : IEquatable<PeerInfo>

RenderCacheContext ​

Context passed to a widget's render-cache predicate configured via .

csharp
public readonly record struct RenderCacheContext : IEquatable<RenderCacheContext>

ScrollbackRow ​

A single row stored in the scrollback buffer.

csharp
public readonly record struct ScrollbackRow : IEquatable<ScrollbackRow>

TerminalCell ​

Represents a single cell in the virtual terminal screen buffer.

csharp
public readonly record struct TerminalCell : IEquatable<TerminalCell>

WindowPositionSpec ​

Specifies window position with optional offset.

csharp
public readonly record struct WindowPositionSpec : IEquatable<WindowPositionSpec>

WorkloadOutputItem ​

Represents a chunk of output read from a workload.

csharp
public readonly record struct WorkloadOutputItem : IEquatable<WorkloadOutputItem>

Interfaces ​

ICellImpactAwarePresentationAdapter ​

Extended presentation adapter interface that receives cell impact information instead of raw ANSI bytes.

csharp
public interface ICellImpactAwarePresentationAdapter : IHex1bTerminalPresentationAdapter, IAsyncDisposable

IConnectableWorkloadAdapter ​

Optional capability marker for implementations whose output cannot start until an asynchronous "connected" milestone is reached (e.g. an HMP1 handshake completes, a WebSocket opens, a remote stream is negotiated).

csharp
public interface IConnectableWorkloadAdapter

IEditorViewRenderer ​

Renders a view of a document within an editor viewport. Implementations define how document content is visualized (text, hex, etc.). The EditorNode delegates rendering and hit testing to the active renderer.

csharp
public interface IEditorViewRenderer

IHex1bAppTerminalWorkloadAdapter ​

App-side interface: Adds the higher-level APIs that Hex1bApp needs. Extends the terminal-side interface so the same adapter serves both.

csharp
public interface IHex1bAppTerminalWorkloadAdapter : IHex1bTerminalWorkloadAdapter, IAsyncDisposable

IHex1bTerminalPresentationAdapter ​

Presentation-side interface: Where rendered output goes TO and user input comes FROM. This is the "user side" of the virtual terminal - the actual display device.

csharp
public interface IHex1bTerminalPresentationAdapter : IAsyncDisposable

IHex1bTerminalPresentationFilter ​

A filter that observes data flowing between the terminal and presentation layer.

csharp
public interface IHex1bTerminalPresentationFilter

IHex1bTerminalTokenWorkloadAdapter ​

Optional extension interface for workloads that can supply pre-tokenized output.

csharp
public interface IHex1bTerminalTokenWorkloadAdapter : IHex1bTerminalWorkloadAdapter, IAsyncDisposable

IHex1bTerminalWorkloadAdapter ​

Terminal-side interface: What Hex1bTerminal needs from any workload. Raw byte streams for maximum flexibility.

csharp
public interface IHex1bTerminalWorkloadAdapter : IAsyncDisposable

IHex1bTerminalWorkloadFilter ​

A filter that observes data flowing between the terminal and workload.

csharp
public interface IHex1bTerminalWorkloadFilter

IHmp1ConnectionHandle ​

User-facing handle to a connected HMP v1 client. Delivered to user code via when the client is built through the family.

csharp
public interface IHmp1ConnectionHandle

INotificationHost ​

Interface for nodes that can host notifications. Implemented by NotificationPanelNode to allow notification discovery from anywhere in the tree.

csharp
public interface INotificationHost

IPopupHost ​

Interface for nodes that can host popup content. Implemented by ZStackNode to allow popup discovery from anywhere in the tree.

csharp
public interface IPopupHost

IRepaintableWorkloadAdapter ​

Optional capability marker for implementations that maintain an internal "last frame painted" diff cache and can be asked to drop it so the next frame is emitted in full.

csharp
public interface IRepaintableWorkloadAdapter

IStatefulWidget<TSelf, TState> ​

Marks a widget as supporting an externally-supplied state object of type TState. Implementing widgets expose a fluent State(TState) method that returns a copy of the widget bound to the supplied state instance.

csharp
public interface IStatefulWidget<TSelf, TState> where TSelf : Hex1bWidget, IStatefulWidget<TSelf, TState> where TState : class

ITerminalAwarePresentationFilter ​

Presentation filter that requires a reference to the terminal.

csharp
public interface ITerminalAwarePresentationFilter : IHex1bTerminalPresentationFilter

ITerminalLifecycleAwarePresentationAdapter ​

Extended presentation adapter interface that receives terminal lifecycle notifications.

csharp
public interface ITerminalLifecycleAwarePresentationAdapter : IHex1bTerminalPresentationAdapter, IAsyncDisposable

IWindowHost ​

Interface for nodes that can host floating windows. Implemented by WindowPanelNode to allow window discovery from anywhere in the tree.

csharp
public interface IWindowHost

Enums ​

AsciinemaPlaybackState ​

Represents the playback state of an asciinema recording.

csharp
public enum AsciinemaPlaybackState

CellAttributes ​

Text styling attributes that can be applied to terminal cells. These correspond to SGR (Select Graphic Rendition) parameters. Multiple attributes can be combined using bitwise OR.

csharp
[Flags]
public enum CellAttributes : ushort

CopyModeState ​

Represents the current state of copy mode on a terminal widget.

csharp
public enum CopyModeState

CursorShape ​

Specifies the shape of the terminal cursor.

csharp
public enum CursorShape

GridLinesMode ​

Controls whether gridlines (box-drawing borders) are rendered between cells in a .

csharp
public enum GridLinesMode

Hmp1Role ​

Role hint sent to the producer in the frame. The producer's presentation adapter does not change behaviour based on this value (in this iteration); it is preserved as a UX-discoverability hint reachable through server-side consumer code.

csharp
public enum Hmp1Role

KgpAction ​

The action type for a KGP (Kitty Graphics Protocol) command. Specified by the 'a' key in the control data.

csharp
public enum KgpAction

KgpDeleteTarget ​

The deletion target specifier for KGP delete commands. Specified by the 'd' key in the control data.

csharp
public enum KgpDeleteTarget

KgpFormat ​

The pixel data format for KGP image transmission. Specified by the 'f' key in the control data.

csharp
public enum KgpFormat

KgpImageStretch ​

Describes how a KGP image is scaled to fill its allocated display area.

csharp
public enum KgpImageStretch

KgpTransmissionMedium ​

The transmission medium for KGP image data. Specified by the 't' key in the control data.

csharp
public enum KgpTransmissionMedium

KgpZOrder ​

Specifies the z-ordering of a KGP image relative to text content.

csharp
public enum KgpZOrder

PlaceholderResumePolicy ​

Controls what happens when the primary workload disconnects after having been active.

csharp
[Experimental("HEX1B002", UrlFormat = "https://github.com/hex1b/hex1b/blob/main/docs/experimental/placeholder.md")]
public enum PlaceholderResumePolicy

SelectionMode ​

Specifies how text is selected within a terminal buffer.

csharp
public enum SelectionMode

TerminalProgressState ​

Describes the progress indicator reported by a terminal workload using OSC 9;4.

csharp
public enum TerminalProgressState

TerminalShellIntegrationPhase ​

Describes the current phase reported by a shell using OSC 133 markers.

csharp
public enum TerminalShellIntegrationPhase

TerminalState ​

Represents the lifecycle state of a terminal session.

csharp
public enum TerminalState

UnderlineStyle ​

Specifies the visual style of underline decoration on a terminal cell. Corresponds to SGR 4:x sub-parameter values.

csharp
public enum UnderlineStyle : byte

WindowEscapeBehavior ​

Controls how the Escape key behaves for a window.

csharp
public enum WindowEscapeBehavior

WindowPosition ​

Specifies how a window should be initially positioned within its container.

csharp
public enum WindowPosition

WindowsPtyMode ​

Controls how Hex1b chooses the Windows PTY backend for .

csharp
public enum WindowsPtyMode

Released under the MIT License.