Terminal Window

Window chrome in three conventions: macOS, Windows, or a slim hairline version. Resizable and collapsible.

notes.txt

The spool went down at 04:12.
No entry in the log, no fault light.
Power cycled twice. Nothing.

04:12:04 retry 1 of 3
04:12:09 retry 2 of 3
04:12:14 retry 3 of 3
04:12:19 giving up

Controller reports firmware 2.1.4, which is
the version the release notes say fixed this.

Ordering a replacement controller.
Ticket NODE-04-118 raised with the vendor.
14 linesread-write

Installation

npx shadcn@latest add @afterglow/terminal-window

macOS

Drag the corner or either edge. The yellow light rolls the window up to its titlebar, the corner takes arrow keys, and the content sits in a well with a margin of chrome round it so the grip is never over the scrollbar.

notes.txt

The spool went down at 04:12.
No entry in the log, no fault light.
Power cycled twice. Nothing.

04:12:04 retry 1 of 3
04:12:09 retry 2 of 3
04:12:14 retry 3 of 3
04:12:19 giving up

Controller reports firmware 2.1.4, which is
the version the release notes say fixed this.

Ordering a replacement controller.
Ticket NODE-04-118 raised with the vendor.

Windows

Bevelled buttons: light on the top and left, shadow on the bottom and right, inverting on press. It is the whole reason the era's buttons read as pressable.

read-only

notes.txt

The spool went down at 04:12.
No entry in the log, no fault light.
Power cycled twice. Nothing.

Ordering a replacement controller.

API Reference

TerminalWindow

title is required, because a window chrome with nothing in its bar is a rectangle. collapsible rolls the window up into its own titlebar; resizable puts a grip on the corner and the edges, and it takes arrow keys.

PropTypeDefault
titlestring-
subtitlestring-
footerReactNode-
variant"macos" | "windows" | "terminal""macos"
resizablebooleanfalse
collapsiblebooleanfalse
onClose() => void-
onZoom() => void-