Terminal Window
Window chrome in three conventions: macOS, Windows, or a slim hairline version. Resizable and collapsible.
pulls in@afterglow/theme
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-windowmacOS
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.
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.
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.
| Prop | Type | Default |
|---|---|---|
| title | string | - |
| subtitle | string | - |
| footer | ReactNode | - |
| variant | "macos" | "windows" | "terminal" | "macos" |
| resizable | boolean | false |
| collapsible | boolean | false |
| onClose | () => void | - |
| onZoom | () => void | - |