Skip to main content

Component · Data

Terminal Output

Live follow-tail command pane with stdout/stderr.

Kind
widget
Input
interactive
Canvas
120×40

Live preview

Loading terminal preview.

Static terminal poster. Choose Run live to start the Rust demo.

Ghosttyterminal-output/running
Loading terminal poster…
○ loading posterNo input — rendered state only
Terminal Output · exact mounted Rust story

01 · Purpose

What it is for

Live follow-tail command pane with stdout/stderr.

Best fit: Data · data · widget

02 · Behavior

What the mounted story proves

  1. 01

    TerminalOutput

    Representative 120×40 terminal state.

  2. 02

    Passive paint

    No keyboard or pointer action is claimed by this representative story.

  3. 03

    Evidence stays explicit

    1 covered · 9 partial · 5 missing axes.

03 · Implement

Install, then start from exact code

Install

cargo add termrock --git https://github.com/tailrocks/termrock.git --rev 5283c2acf9154d0cfcd37b1ffe821c00faf90ea2

Add TermRock once. Keep domain effects in the host application.

Minimal implementation

Exact Rust setup used by terminal-output/running.

Open to load code.

04 · Adapt

Variants and composition

Variants

Use the preview Variant menu when alternate registered stories exist. Each selection mounts a fresh configuration.

Composition

Data · data · widget

05 · Reference

API, tokens, accessibility

API

TerminalOutputOpen source ↗

Tokens

DesignSystemInspect exact story code for roles and capability projection.

Accessibility

Input contract mountedNo input claim in the representative story.

Contract

Evidence in progress1/23 axes covered

06 · Go deeper

Advanced guidance

Authored implementation guidance

Presents one projected command run: metadata chrome, streaming stdout/stderr, follow/pause, and typed control requests. TermRock never spawns or kills processes.

When to use / when not

Use TerminalOutputPrefer
Agent/build command panes—
Compact tool summary onlyToolCard
Multi-source logsLogStream
Owned append bufferLogPane

Safety

  • No Command::new, no PTY in this widget
  • Outcomes: CancelRequested, RetryRequested, DetachProcessRequested, Copy*, …
  • Host owns process policy and secrets redaction (helpers assist display only)

Follow / scroll

ScrollAreaState is sole follow authority. Scrolling away detaches; chip or f re-follows. on_append updates unread while pinned.

Recipes

RecipeLayout
CompactShort header + few body rows
Pane (default)Status, command, cwd, body, follow chip
FullscreenExtra key hints

Paint modes

Ansi · NoColor · Plain · Raw (escaped sequences for inspection)

Keys

KeyAction
fFollow toggle
c / C-cCancel (running) / copy output
rRetry
dDetach process
eEnv panel
m / pPaint mode / recipe
Ownership boundary

TermRock owns reusable terminal rendering and interaction state. The host owns domain data, policy, persistence, authorization, and side effects.

Evidence status

1 covered, 9 partial, and 5 missing contract axes. Missing evidence is not a behavior claim.