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

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

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

FloatExtensions

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

csharp
public static class FloatExtensions

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, 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

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

HStackExtensions

Extension methods for building HStack widgets.

csharp
public static class HStackExtensions

HStackNode

csharp
public sealed class HStackNode : Hex1bNode, ILayoutProvider

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

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 ListWidget.

csharp
public static class ListExtensions

ListNode

csharp
public sealed class ListNode : Hex1bNode

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

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 : CompositeNode

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

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

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

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

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

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>

TerminalExtensions

Extension methods for creating TerminalWidget.

csharp
public static class TerminalExtensions

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

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 : CompositeNode, 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 side-by-side and allows selection via left/right arrow keys. 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

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

RenderCacheContext

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

csharp
public readonly record struct RenderCacheContext : IEquatable<RenderCacheContext>

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

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

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

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

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

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

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

Released under the MIT License.