Shell Core
Interfaces
Interfaces
TerminalSession
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
title | string | Yes | |
active | boolean | Yes | |
createdAt | Date | Yes |
TerminalSize
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
cols | number | Yes | |
rows | number | Yes |
ITerminalAdapter
Platform-agnostic terminal adapter interface. Implementations handle platform-specific I/O (Electron IPC, WebSocket, etc.)
TerminalProps
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
adapter | ITerminalAdapter | Yes | |
onTitleChange | ((title: string) => void) | undefined | No | |
theme | ITheme | undefined | No |
TerminalTabsProps
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
createAdapter | () => ITerminalAdapter | Yes | |
onSessionsChange | ((sessions: TerminalSession[]) => void) | undefined | No |
TerminalThemePreset
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
name | string | Yes | |
description | string | Yes | |
theme | ITheme | Yes |
UseTerminalThemeReturn
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
theme | ITheme | Yes | Current xterm.js theme object |
themeId | string | Yes | Current preset ID |
preset | TerminalThemePreset | Yes | Current preset metadata |
presets | readonly TerminalThemePreset[] | Yes | All available presets |
setThemeId | (id: string) => void | Yes | Set theme by preset ID |