Versions in this module Expand all Collapse all v1 v1.0.0 Oct 3, 2026 Changes in this version + var ErrAlreadyRun = errors.New("frame can execute only one session") + var ErrConfigurationFrozen = errors.New("frame configuration is frozen") + var ErrGeometry = emulator.ErrGeometry + var ErrObservationOverflow = errors.New("observation queue exceeded its bounded capacity") + var ErrRegionNotConfigured = errors.New("frame region is not configured") + var ErrSessionClosed = errors.New("frame session is closed") + var ErrViewportTooSmall = errors.New("terminal is too small for the frame") + type ChildSnapshot struct + Args []string + Directory string + Environment []string + Executable string + OperatingSystem ProcessSnapshot + PID int + PTY PTYSnapshot + ProcessState *os.ProcessState + SessionError error + SessionProcesses []ProcessSnapshot + StartedAt time.Time + type Cursor struct + Visible bool + X int + Y int + type Disposition uint8 + const Consume + const Pass + type DrawContext struct + Data T + Term Snapshot + View uv.Screen + type Event struct + Bytes []byte + Disposition Disposition + Effect *ProtocolEffect + Error error + Input *Input + Kind EventKind + Offset uint64 + Origin string + Sequence uint64 + Snapshot *Snapshot + Time time.Time + type EventKind string + const Captured + const ChildInput + const ChildOutput + const Exited + const OuterInput + const Protocol + const Resized + const Routed + const Started + const StateChanged + type Frame struct + func New[T any](cmd *exec.Cmd, initial T) *Frame[T] + func (f *Frame[T]) Border(enabled bool) *Frame[T] + func (f *Frame[T]) Capture(handler func(Input) Disposition) *Frame[T] + func (f *Frame[T]) Footer(rows int, draw func(DrawContext[T])) *Frame[T] + func (f *Frame[T]) Header(rows int, draw func(DrawContext[T])) *Frame[T] + func (f *Frame[T]) InheritTerminal(enabled bool) *Frame[T] + func (f *Frame[T]) InvalidateFooter(data T) error + func (f *Frame[T]) InvalidateHeader(data T) error + func (f *Frame[T]) InvalidateLeft(data T) error + func (f *Frame[T]) InvalidateRight(data T) error + func (f *Frame[T]) Left(cols int, draw func(DrawContext[T])) *Frame[T] + func (f *Frame[T]) Observe(handler func(Event)) *Frame[T] + func (f *Frame[T]) ObserveEvents(kinds []EventKind, handler func(Event)) *Frame[T] + func (f *Frame[T]) Right(cols int, draw func(DrawContext[T])) *Frame[T] + func (f *Frame[T]) Run(ctx context.Context) (result Result, err error) + func (f *Frame[T]) SetBorder(enabled bool) error + func (f *Frame[T]) Terminal(input, output *os.File) *Frame[T] + type GeometryError = emulator.GeometryError + type Input struct + Key uv.KeyEvent + Raw []byte + type NativeState = emulator.State + type Observation = process.Field[T] + type PTYSnapshot struct + ForegroundGroup Observation[int] + ObservedAt time.Time + Settings *unix.Termios + SettingsError error + Window *unix.Winsize + WindowError error + type ProcessResources = process.Resources + type ProcessSnapshot = process.Snapshot + type ProtocolEffect = emulator.Effect + type Result struct + CleanupError error + DrainError error + ProcessState *os.ProcessState + type Size struct + Cols int + Rows int + type Snapshot struct + Child ChildSnapshot + ObservedAt time.Time + Outer Size + Terminal TerminalSnapshot + Viewport Size + type TerminalSnapshot struct + Alternate bool + Cells []uv.Cell + Cursor Cursor + Directory string + Native NativeState + Size Size + Title string Other modules containing this package github.com/alexgorbatchev/go-tui-frame/v2