@vibecook/ghosttea-react 0.11.1 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +86 -4
- package/dist/TerminalSurface.d.ts +53 -0
- package/dist/TerminalSurface.d.ts.map +1 -1
- package/dist/TerminalSurface.js +106 -12
- package/dist/TerminalSurface.js.map +1 -1
- package/dist/appearance/AppearanceSettings.d.ts +5 -2
- package/dist/appearance/AppearanceSettings.d.ts.map +1 -1
- package/dist/appearance/AppearanceSettings.js +14 -3
- package/dist/appearance/AppearanceSettings.js.map +1 -1
- package/dist/appearance/BackdropBlurControl.d.ts +5 -0
- package/dist/appearance/BackdropBlurControl.d.ts.map +1 -0
- package/dist/appearance/BackdropBlurControl.js +42 -0
- package/dist/appearance/BackdropBlurControl.js.map +1 -0
- package/dist/appearance/types.d.ts +10 -0
- package/dist/appearance/types.d.ts.map +1 -1
- package/dist/catalog-budget.d.ts +2 -2
- package/dist/catalog-budget.d.ts.map +1 -1
- package/dist/catalog-budget.js +2 -2
- package/dist/catalog-budget.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/link-input.d.ts +18 -0
- package/dist/link-input.d.ts.map +1 -0
- package/dist/link-input.js +27 -0
- package/dist/link-input.js.map +1 -0
- package/dist/renderers/background-geometry.d.ts +16 -0
- package/dist/renderers/background-geometry.d.ts.map +1 -0
- package/dist/renderers/background-geometry.js +20 -0
- package/dist/renderers/background-geometry.js.map +1 -0
- package/dist/renderers/glyph-atlas.d.ts +43 -0
- package/dist/renderers/glyph-atlas.d.ts.map +1 -0
- package/dist/renderers/glyph-atlas.js +175 -0
- package/dist/renderers/glyph-atlas.js.map +1 -0
- package/dist/renderers/light-adaptation.d.ts +36 -0
- package/dist/renderers/light-adaptation.d.ts.map +1 -0
- package/dist/renderers/light-adaptation.js +332 -0
- package/dist/renderers/light-adaptation.js.map +1 -0
- package/dist/renderers/types.d.ts +23 -0
- package/dist/renderers/types.d.ts.map +1 -1
- package/dist/renderers/types.js.map +1 -1
- package/dist/renderers/webgpu-renderer.d.ts +4 -0
- package/dist/renderers/webgpu-renderer.d.ts.map +1 -1
- package/dist/renderers/webgpu-renderer.js +331 -239
- package/dist/renderers/webgpu-renderer.js.map +1 -1
- package/dist/routed-control.d.ts +26 -2
- package/dist/routed-control.d.ts.map +1 -1
- package/dist/routed-control.js +145 -27
- package/dist/routed-control.js.map +1 -1
- package/dist/routed-frames.d.ts +1 -1
- package/dist/routed-frames.d.ts.map +1 -1
- package/dist/routed-frames.js +3 -7
- package/dist/routed-frames.js.map +1 -1
- package/dist/row-damage.d.ts +21 -0
- package/dist/row-damage.d.ts.map +1 -0
- package/dist/row-damage.js +76 -0
- package/dist/row-damage.js.map +1 -0
- package/dist/runtime.d.ts +97 -3
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +489 -49
- package/dist/runtime.js.map +1 -1
- package/dist/styles.css +24 -0
- package/dist/terminal-render.worker.js +979 -297
- package/dist/terminal-render.worker.js.map +4 -4
- package/dist/use-terminal-links.d.ts +17 -0
- package/dist/use-terminal-links.d.ts.map +1 -0
- package/dist/use-terminal-links.js +101 -0
- package/dist/use-terminal-links.js.map +1 -0
- package/dist/worker-messages.d.ts +27 -1
- package/dist/worker-messages.d.ts.map +1 -1
- package/dist/workspace/Workspace.d.ts +19 -3
- package/dist/workspace/Workspace.d.ts.map +1 -1
- package/dist/workspace/Workspace.js +53 -20
- package/dist/workspace/Workspace.js.map +1 -1
- package/dist/workspace/index.d.ts +2 -2
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js.map +1 -1
- package/dist/workspace/pane-focus.d.ts +8 -0
- package/dist/workspace/pane-focus.d.ts.map +1 -0
- package/dist/workspace/pane-focus.js +24 -0
- package/dist/workspace/pane-focus.js.map +1 -0
- package/dist/workspace/pane-layout.d.ts +5 -2
- package/dist/workspace/pane-layout.d.ts.map +1 -1
- package/dist/workspace/pane-layout.js +45 -6
- package/dist/workspace/pane-layout.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -9,6 +9,33 @@ paths. Create one runtime per renderer window, provide it through
|
|
|
9
9
|
|
|
10
10
|
Import `@vibecook/ghosttea-react/styles.css` once in the renderer entrypoint.
|
|
11
11
|
|
|
12
|
+
## Terminal links
|
|
13
|
+
|
|
14
|
+
Provide `platform.openExternal(url)` to enable Command-hover/click on macOS
|
|
15
|
+
and Ctrl-hover/click elsewhere. Links are underlined per pane, and a successful
|
|
16
|
+
click is consumed before TUI mouse reporting. Modifier release, window blur,
|
|
17
|
+
dragging, and changing terminal output cancel an in-progress link click. The
|
|
18
|
+
underline overlay works with both WebGPU and Canvas rendering.
|
|
19
|
+
|
|
20
|
+
The updated daemon supplies URL and file-path matches and explicit OSC 8
|
|
21
|
+
links, including cell ranges for wrapped links and Unicode text. This includes
|
|
22
|
+
Codex's `~/…` footer, absolute paths and relative source references like
|
|
23
|
+
`src/main.rs:42`. The native desktop host supplies the launch cwd and home;
|
|
24
|
+
OSC 7 working-directory updates take precedence for relative paths. Embedders
|
|
25
|
+
using `TerminalModel` directly can supply these through `set_link_context`.
|
|
26
|
+
|
|
27
|
+
`link-url = false` disables automatic matches while retaining OSC 8. Built-in
|
|
28
|
+
opening accepts HTTP, HTTPS, mailto, FTP, FTPS and file destinations. File links
|
|
29
|
+
open through the desktop's default application. No interaction is enabled when
|
|
30
|
+
the host omits the callback or the frame producer lacks link metadata (including
|
|
31
|
+
legacy logical replicas).
|
|
32
|
+
|
|
33
|
+
Electron hosts use `installGhostteaLinkHost(ipcMain, shell, isTrusted)` from
|
|
34
|
+
`@vibecook/ghosttea-electron/main` and expose
|
|
35
|
+
`createGhostteaLinkBridge(ipcRenderer).openExternal` from the preload. The trust
|
|
36
|
+
callback should admit only the app's terminal renderer URL; the helper also
|
|
37
|
+
rejects subframe senders and validates URL schemes in the main process.
|
|
38
|
+
|
|
12
39
|
## Routed terminal transport
|
|
13
40
|
|
|
14
41
|
The additive `transport: "routed"` mode connects one control WebSocket and one
|
|
@@ -71,10 +98,40 @@ incompatible message. When supplied, the encoded keystroke is sent directly
|
|
|
71
98
|
on the main-thread control socket with no worker `postMessage` hop.
|
|
72
99
|
|
|
73
100
|
Focus changes only rendering priority and demand urgency. Geometry changes
|
|
74
|
-
require an explicit `controlsResize`/`claimResizeControl`
|
|
75
|
-
mirror cannot resize the PTY.
|
|
76
|
-
`readPerformanceCounters()` without
|
|
77
|
-
the GPU. The existing port-pair
|
|
101
|
+
require an explicit `controlsResize`/`claimResizeControl` or
|
|
102
|
+
`takeResizeControl` path, so a focused mirror cannot resize the PTY.
|
|
103
|
+
Production counters are available through `readPerformanceCounters()` without
|
|
104
|
+
opening a measurement window or draining the GPU. The existing port-pair
|
|
105
|
+
transport remains the default rollback path.
|
|
106
|
+
|
|
107
|
+
Because focus is only a scheduling fact, the host decides when a view takes
|
|
108
|
+
the geometry seat. `runtime.takeResizeControl(sessionHandle, viewId, cols,
|
|
109
|
+
rows)` takes it for one view. On the routed transport it claims an empty seat,
|
|
110
|
+
or claims the view's own seat again, which the cell commits as a resize and
|
|
111
|
+
which leaves the PTY alone at the same size. When another view holds the seat,
|
|
112
|
+
on this client or another, it sends one `TransferGeometry` from the holder the
|
|
113
|
+
runtime last saw. The cell answers only the caller, so a pane whose seat
|
|
114
|
+
another client took learns it from the refusal of its own take. A refusal that
|
|
115
|
+
names a newer holder or revision is retried once against it, typically as one
|
|
116
|
+
`TransferGeometry` from the holder it names. The runtime owns that one retry:
|
|
117
|
+
call `takeResizeControl` once per focus gain and never retry it. A take asked
|
|
118
|
+
before the control leg attaches is sent when it attaches. On the port-pair
|
|
119
|
+
transport the take is `claimResizeControl`, which never displaces another
|
|
120
|
+
view. To let the pane focused last size the PTY across windows and devices,
|
|
121
|
+
pass `takeGeometryOnFocus` to `TerminalSurface` or `GhostteaWorkspace`. A pane
|
|
122
|
+
then takes the seat each time it gains focus, and each time it is pressed while
|
|
123
|
+
it already has focus, so a seat another device took while this window kept its
|
|
124
|
+
focus is taken back by pressing the pane. A `controlsResize={false}` mirror
|
|
125
|
+
still never does.
|
|
126
|
+
|
|
127
|
+
`runtime.geometryHolder(sessionHandle)` reads the seat as this runtime last
|
|
128
|
+
saw it: `{ holder, revision, local }`, where `holder` is
|
|
129
|
+
`{ clientId, viewId, holderGeneration }` or `null`, and `local` means one of
|
|
130
|
+
this runtime's views holds it. The `geometry-holder-changed` event reports
|
|
131
|
+
each change of holder as `{ sessionId, sessionHandle, previous, current }`.
|
|
132
|
+
The cell names the holder only in replies to this client's own geometry
|
|
133
|
+
verbs, so another client's take shows up on this client's next claim, take or
|
|
134
|
+
release.
|
|
78
135
|
|
|
79
136
|
For applications that want the complete Ghostty-style desktop experience, use
|
|
80
137
|
`GhostteaWorkspace` from `@vibecook/ghosttea-react/workspace` and import
|
|
@@ -84,6 +141,12 @@ semantics. An optional sidebar component receives the active session plus
|
|
|
84
141
|
`addSession`/`activateSession` actions, so application UI can sit beside the
|
|
85
142
|
terminal without creating a parallel terminal layout or transport.
|
|
86
143
|
|
|
144
|
+
The context's `replaceSession(expectedId, replacement)` atomically replaces every
|
|
145
|
+
current attachment of an expected session, preserving pane IDs, split geometry,
|
|
146
|
+
focus and zoom. It returns `false` if the session is no longer attached, so hosts
|
|
147
|
+
can release a shell born after its target pane closed or changed. Unlike
|
|
148
|
+
`mountSession`, it never selects or replaces the active pane implicitly.
|
|
149
|
+
|
|
87
150
|
The workspace entry point also exports the versioned, UI-independent pane and
|
|
88
151
|
tab reducers used for cross-platform restoration and conformance. Their JSON
|
|
89
152
|
documents contain only stable layout IDs and opaque session IDs; resolve those
|
|
@@ -171,3 +234,22 @@ Architecture:
|
|
|
171
234
|
**⌘⇧O** (`super+shift+o`) is a Ghosttea product extension (remote sessions) and is kept outside Ghostty defaults.
|
|
172
235
|
|
|
173
236
|
Open / deferred Ghostty UX work (font-size protocol, search, undo, jump_to_prompt, mouse goldens, etc.) is tracked in the monorepo at [`bench/ghostty-ux/OPEN-ITEMS.md`](../../bench/ghostty-ux/OPEN-ITEMS.md).
|
|
237
|
+
|
|
238
|
+
### Pane geometry and host fullscreen
|
|
239
|
+
|
|
240
|
+
`splitSizing="equal"` equalizes the affected row or column after both insertion
|
|
241
|
+
and removal, preserving perpendicular split groups. Hosts can supply
|
|
242
|
+
`onTogglePaneZoom(paneId)` to own fullscreen presentation while Ghosttea still
|
|
243
|
+
resolves the user's configured shortcut. The normal zoom remains the default.
|
|
244
|
+
|
|
245
|
+
`TerminalSurface` observes its container. The canvas displays its intrinsic
|
|
246
|
+
worker bitmap at device-pixel scale, clipped to that container, so an old bitmap
|
|
247
|
+
cannot stretch during a resize. Mount messages include initial pixel geometry
|
|
248
|
+
before a cached scene can draw; a zero-size view waits for a real size. Direct
|
|
249
|
+
`runtime.mount` users can pass `{ width, height, dpr }` as the fifth argument
|
|
250
|
+
when their canvas's intrinsic size differs from its intended viewport.
|
|
251
|
+
|
|
252
|
+
`runtime.sessionHasInput(id)` records input attempts across view remounts in
|
|
253
|
+
this renderer. It is a conservative local-lifetime signal, not proof that an
|
|
254
|
+
externally created or restored session is unused. Hosts retain authority over
|
|
255
|
+
session termination through `onPaneClose`.
|
|
@@ -1,8 +1,51 @@
|
|
|
1
1
|
import type { SessionSummary, TerminalScrollbarState } from "@vibecook/ghosttea-protocol";
|
|
2
2
|
import type { GhosttyBindingEntry } from "./bindings/ghostty-bindings.js";
|
|
3
3
|
import { type CellPoint, type TerminalEffects, type TerminalTheme } from "./renderers/types.js";
|
|
4
|
+
import type { GhostteaTerminalRuntime } from "./runtime.js";
|
|
4
5
|
export type TerminalMenuAction = "copy" | "paste" | "select-all" | "clear-screen";
|
|
5
6
|
export type TerminalInputPolicy = "inherit" | "read-only";
|
|
7
|
+
/** What decides whether a surface's focus gain takes the geometry seat. */
|
|
8
|
+
export interface SurfaceFocusPolicy {
|
|
9
|
+
/** The host opted in (`takeGeometryOnFocus`). */
|
|
10
|
+
takeGeometryOnFocus: boolean;
|
|
11
|
+
/** The surface controls resize; a mirror does not. */
|
|
12
|
+
controlsResize: boolean;
|
|
13
|
+
/** The surface takes input; a read-only view is never a controller. */
|
|
14
|
+
interactive: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Whether a focus change takes the geometry seat: only a focus gain, only when
|
|
18
|
+
* the host opted in, and only for a surface that controls resize and takes
|
|
19
|
+
* input. A `controlsResize: false` mirror never does.
|
|
20
|
+
*/
|
|
21
|
+
export declare function focusTakesGeometry(focused: boolean, wasFocused: boolean, policy: SurfaceFocusPolicy): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Whether a press takes the geometry seat: a press of a surface that already
|
|
24
|
+
* has focus, under a focus gain's own policy. A press of an unfocused surface
|
|
25
|
+
* focuses it, and that gain takes. A press of a focused one changes no focus, so
|
|
26
|
+
* without this a pane whose seat another client took while this window kept its
|
|
27
|
+
* focus (a phone's take) could not be taken back by pressing it.
|
|
28
|
+
*/
|
|
29
|
+
export declare function pressTakesGeometry(wasFocused: boolean, policy: SurfaceFocusPolicy): boolean;
|
|
30
|
+
/** A press of the surface, reported before it moves focus: the seat is taken at
|
|
31
|
+
* the surface's current grid when `pressTakesGeometry` says so. */
|
|
32
|
+
export declare function syncSurfacePress(runtime: Pick<GhostteaTerminalRuntime, "takeResizeControl">, surface: {
|
|
33
|
+
sessionHandle: string;
|
|
34
|
+
viewId: string;
|
|
35
|
+
cols: number;
|
|
36
|
+
rows: number;
|
|
37
|
+
}, wasFocused: boolean, policy: SurfaceFocusPolicy): void;
|
|
38
|
+
/**
|
|
39
|
+
* The surface's focus report. Focus always reaches the runtime as a
|
|
40
|
+
* scheduling fact; the seat is taken only when `focusTakesGeometry` says so,
|
|
41
|
+
* at the surface's current grid.
|
|
42
|
+
*/
|
|
43
|
+
export declare function syncSurfaceFocus(runtime: Pick<GhostteaTerminalRuntime, "setFocused" | "takeResizeControl">, surface: {
|
|
44
|
+
sessionHandle: string;
|
|
45
|
+
viewId: string;
|
|
46
|
+
cols: number;
|
|
47
|
+
rows: number;
|
|
48
|
+
}, focused: boolean, wasFocused: boolean, policy: SurfaceFocusPolicy): void;
|
|
6
49
|
export interface TerminalSurfaceProps {
|
|
7
50
|
session: SessionSummary;
|
|
8
51
|
theme: TerminalTheme;
|
|
@@ -14,6 +57,16 @@ export interface TerminalSurfaceProps {
|
|
|
14
57
|
/** Whether the surface is currently visible enough to spend GPU work painting it. */
|
|
15
58
|
visible?: boolean;
|
|
16
59
|
controlsResize?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Take the session's geometry seat each time this surface gains focus, so
|
|
62
|
+
* the pane focused last sizes the PTY, whichever window or device it is on
|
|
63
|
+
* (last write wins). Off by default: focus alone is a scheduling fact and
|
|
64
|
+
* never changes geometry. It applies only while `controlsResize` is true
|
|
65
|
+
* and the surface takes input; a mirror never claims, takes or resizes on
|
|
66
|
+
* focus. The host owns this policy; the runtime verb is
|
|
67
|
+
* `takeResizeControl`.
|
|
68
|
+
*/
|
|
69
|
+
takeGeometryOnFocus?: boolean;
|
|
17
70
|
/** Viewer-local input fence. It can make a writable session read-only but never grants server rights. */
|
|
18
71
|
inputPolicy?: TerminalInputPolicy;
|
|
19
72
|
/** Convenience alias for `inputPolicy="read-only"` when false. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerminalSurface.d.ts","sourceRoot":"","sources":["../src/TerminalSurface.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TerminalSurface.d.ts","sourceRoot":"","sources":["../src/TerminalSurface.tsx"],"names":[],"mappings":"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"}
|
package/dist/TerminalSurface.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useTerminalLinks } from "./use-terminal-links.js";
|
|
2
3
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
4
|
import { useGhostteaRuntime } from "./context.js";
|
|
4
5
|
import { terminalKeyboardLayout, terminalKeyDown, terminalKeyUp } from "./keyboard-input.js";
|
|
@@ -7,6 +8,42 @@ import { resolveTerminalBinding } from "./terminal-bindings.js";
|
|
|
7
8
|
import { CELL_WIDTH, DEFAULT_EFFECTS, LINE_HEIGHT, ORIGIN_X, ORIGIN_Y, } from "./renderers/types.js";
|
|
8
9
|
import { accumulateWheelRows, wheelDeltaPixels } from "./scroll-input.js";
|
|
9
10
|
import { adjustSelectionFocus, usesLocalSelection } from "./selection-input.js";
|
|
11
|
+
/**
|
|
12
|
+
* Whether a focus change takes the geometry seat: only a focus gain, only when
|
|
13
|
+
* the host opted in, and only for a surface that controls resize and takes
|
|
14
|
+
* input. A `controlsResize: false` mirror never does.
|
|
15
|
+
*/
|
|
16
|
+
export function focusTakesGeometry(focused, wasFocused, policy) {
|
|
17
|
+
return focused && !wasFocused && policy.takeGeometryOnFocus && policy.controlsResize && policy.interactive;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Whether a press takes the geometry seat: a press of a surface that already
|
|
21
|
+
* has focus, under a focus gain's own policy. A press of an unfocused surface
|
|
22
|
+
* focuses it, and that gain takes. A press of a focused one changes no focus, so
|
|
23
|
+
* without this a pane whose seat another client took while this window kept its
|
|
24
|
+
* focus (a phone's take) could not be taken back by pressing it.
|
|
25
|
+
*/
|
|
26
|
+
export function pressTakesGeometry(wasFocused, policy) {
|
|
27
|
+
return wasFocused && policy.takeGeometryOnFocus && policy.controlsResize && policy.interactive;
|
|
28
|
+
}
|
|
29
|
+
/** A press of the surface, reported before it moves focus: the seat is taken at
|
|
30
|
+
* the surface's current grid when `pressTakesGeometry` says so. */
|
|
31
|
+
export function syncSurfacePress(runtime, surface, wasFocused, policy) {
|
|
32
|
+
if (pressTakesGeometry(wasFocused, policy)) {
|
|
33
|
+
runtime.takeResizeControl(surface.sessionHandle, surface.viewId, surface.cols, surface.rows);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The surface's focus report. Focus always reaches the runtime as a
|
|
38
|
+
* scheduling fact; the seat is taken only when `focusTakesGeometry` says so,
|
|
39
|
+
* at the surface's current grid.
|
|
40
|
+
*/
|
|
41
|
+
export function syncSurfaceFocus(runtime, surface, focused, wasFocused, policy) {
|
|
42
|
+
runtime.setFocused(surface.sessionHandle, surface.viewId, focused, surface.cols, surface.rows);
|
|
43
|
+
if (focusTakesGeometry(focused, wasFocused, policy)) {
|
|
44
|
+
runtime.takeResizeControl(surface.sessionHandle, surface.viewId, surface.cols, surface.rows);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
10
47
|
export function viewportSelection(selection, scrollbar, cols, rows) {
|
|
11
48
|
if (!selection)
|
|
12
49
|
return null;
|
|
@@ -33,7 +70,7 @@ export function TerminalSurface(props) {
|
|
|
33
70
|
const { session } = props;
|
|
34
71
|
return _jsx(TerminalSurfaceSession, { ...props }, `${session.id}:${session.handle}`);
|
|
35
72
|
}
|
|
36
|
-
function TerminalSurfaceSession({ session, theme, effects = DEFAULT_EFFECTS, bindings, active = true, platform, visible = true, controlsResize = active, inputPolicy = "inherit", readWrite = true, onActivate, readClipboard, onCopyAvailabilityChange, onContextMenu, onToggleFullscreen: _onToggleFullscreen, onMenuAction, }) {
|
|
73
|
+
function TerminalSurfaceSession({ session, theme, effects = DEFAULT_EFFECTS, bindings, active = true, platform, visible = true, controlsResize = active, takeGeometryOnFocus = false, inputPolicy = "inherit", readWrite = true, onActivate, readClipboard, onCopyAvailabilityChange, onContextMenu, onToggleFullscreen: _onToggleFullscreen, onMenuAction, }) {
|
|
37
74
|
// Fullscreen is owned by Workspace platform routing (toggle_fullscreen).
|
|
38
75
|
void _onToggleFullscreen;
|
|
39
76
|
const terminalRuntime = useGhostteaRuntime();
|
|
@@ -42,8 +79,15 @@ function TerminalSurfaceSession({ session, theme, effects = DEFAULT_EFFECTS, bin
|
|
|
42
79
|
const canvasRef = useRef(null);
|
|
43
80
|
const inputRef = useRef(null);
|
|
44
81
|
const gridRef = useRef({ cols: session.cols, rows: session.rows });
|
|
82
|
+
const links = useTerminalLinks(terminalRuntime, session.handle, inputRef, gridRef, platform, visible);
|
|
45
83
|
const controlsResizeRef = useRef(controlsResize);
|
|
46
84
|
const clientReadWriteRef = useRef(clientReadWrite);
|
|
85
|
+
// Read by the focus sync, so that a policy change does not re-run it and
|
|
86
|
+
// flap focus at the runtime.
|
|
87
|
+
const interactiveRef = useRef(interactive);
|
|
88
|
+
const takeGeometryOnFocusRef = useRef(takeGeometryOnFocus);
|
|
89
|
+
// The focus last reported, so that only a gain can take the seat.
|
|
90
|
+
const focusedRef = useRef(false);
|
|
47
91
|
const [viewId] = useState(() => crypto.randomUUID());
|
|
48
92
|
const [inputFocused, setInputFocused] = useState(false);
|
|
49
93
|
const selectionAnchorRef = useRef(null);
|
|
@@ -71,7 +115,9 @@ function TerminalSurfaceSession({ session, theme, effects = DEFAULT_EFFECTS, bin
|
|
|
71
115
|
useEffect(() => {
|
|
72
116
|
controlsResizeRef.current = controlsResize;
|
|
73
117
|
clientReadWriteRef.current = clientReadWrite;
|
|
74
|
-
|
|
118
|
+
interactiveRef.current = interactive;
|
|
119
|
+
takeGeometryOnFocusRef.current = takeGeometryOnFocus;
|
|
120
|
+
}, [clientReadWrite, controlsResize, interactive, takeGeometryOnFocus]);
|
|
75
121
|
const setLocalSelection = useCallback((selection, selectAll = false) => {
|
|
76
122
|
selectionRef.current = selection;
|
|
77
123
|
selectionAllRef.current = selection !== null && selectAll;
|
|
@@ -238,15 +284,24 @@ function TerminalSurfaceSession({ session, theme, effects = DEFAULT_EFFECTS, bin
|
|
|
238
284
|
}, [active]);
|
|
239
285
|
useEffect(() => {
|
|
240
286
|
const canvas = canvasRef.current;
|
|
241
|
-
|
|
287
|
+
const surface = canvas?.parentElement;
|
|
288
|
+
if (!canvas || !surface)
|
|
242
289
|
return;
|
|
243
|
-
const
|
|
290
|
+
const dpr = window.devicePixelRatio || 1;
|
|
291
|
+
canvas.style.setProperty("--ghosttea-canvas-scale", `${1 / dpr}`);
|
|
292
|
+
const handle = terminalRuntime.mount(session.id, session.handle, viewId, canvas, {
|
|
293
|
+
width: surface.clientWidth,
|
|
294
|
+
height: surface.clientHeight,
|
|
295
|
+
dpr,
|
|
296
|
+
});
|
|
244
297
|
terminalRuntime.setViewInputPolicy(viewId, clientReadWriteRef.current);
|
|
245
298
|
let { cols, rows } = gridRef.current;
|
|
246
299
|
const observer = new ResizeObserver(([entry]) => {
|
|
247
|
-
if (!entry)
|
|
300
|
+
if (!entry || entry.contentRect.width <= 0 || entry.contentRect.height <= 0)
|
|
248
301
|
return;
|
|
249
|
-
|
|
302
|
+
const dpr = window.devicePixelRatio || 1;
|
|
303
|
+
canvas.style.setProperty("--ghosttea-canvas-scale", `${1 / dpr}`);
|
|
304
|
+
handle.resize(entry.contentRect.width, entry.contentRect.height, dpr);
|
|
250
305
|
const nextCols = Math.max(2, Math.floor((entry.contentRect.width - ORIGIN_X * 2) / CELL_WIDTH));
|
|
251
306
|
const nextRows = Math.max(1, Math.floor((entry.contentRect.height - ORIGIN_Y * 2) / LINE_HEIGHT));
|
|
252
307
|
if (nextCols !== cols || nextRows !== rows) {
|
|
@@ -257,7 +312,7 @@ function TerminalSurfaceSession({ session, theme, effects = DEFAULT_EFFECTS, bin
|
|
|
257
312
|
terminalRuntime.resize(session.id, viewId, cols, rows);
|
|
258
313
|
}
|
|
259
314
|
});
|
|
260
|
-
observer.observe(
|
|
315
|
+
observer.observe(surface);
|
|
261
316
|
return () => {
|
|
262
317
|
observer.disconnect();
|
|
263
318
|
handle.dispose();
|
|
@@ -315,13 +370,20 @@ function TerminalSurfaceSession({ session, theme, effects = DEFAULT_EFFECTS, bin
|
|
|
315
370
|
useEffect(() => {
|
|
316
371
|
const syncFocus = () => {
|
|
317
372
|
const { cols, rows } = gridRef.current;
|
|
318
|
-
|
|
373
|
+
const focused = active && inputFocused && document.hasFocus() && document.activeElement === inputRef.current;
|
|
374
|
+
syncSurfaceFocus(terminalRuntime, { sessionHandle: session.handle, viewId, cols, rows }, focused, focusedRef.current, {
|
|
375
|
+
takeGeometryOnFocus: takeGeometryOnFocusRef.current,
|
|
376
|
+
controlsResize: controlsResizeRef.current,
|
|
377
|
+
interactive: interactiveRef.current,
|
|
378
|
+
});
|
|
379
|
+
focusedRef.current = focused;
|
|
319
380
|
};
|
|
320
381
|
const onWindowBlur = () => {
|
|
321
382
|
restoreInputFocusRef.current = restoreInputFocusRef.current || document.activeElement === inputRef.current;
|
|
322
383
|
releaseForwardedKeys();
|
|
323
384
|
const { cols, rows } = gridRef.current;
|
|
324
385
|
terminalRuntime.setFocused(session.handle, viewId, false, cols, rows);
|
|
386
|
+
focusedRef.current = false;
|
|
325
387
|
};
|
|
326
388
|
const onWindowFocus = () => {
|
|
327
389
|
if (active && restoreInputFocusRef.current)
|
|
@@ -477,8 +539,20 @@ function TerminalSurfaceSession({ session, theme, effects = DEFAULT_EFFECTS, bin
|
|
|
477
539
|
}, 40);
|
|
478
540
|
};
|
|
479
541
|
const onPointerDown = (event) => {
|
|
542
|
+
syncSurfacePress(terminalRuntime, { sessionHandle: session.handle, viewId, ...gridRef.current }, focusedRef.current, {
|
|
543
|
+
takeGeometryOnFocus: takeGeometryOnFocusRef.current,
|
|
544
|
+
controlsResize: controlsResizeRef.current,
|
|
545
|
+
interactive: interactiveRef.current,
|
|
546
|
+
});
|
|
480
547
|
onActivate?.();
|
|
481
548
|
event.currentTarget.focus({ preventScroll: true });
|
|
549
|
+
if (links.begin(event)) {
|
|
550
|
+
pointerModeRef.current = "link";
|
|
551
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
552
|
+
event.preventDefault();
|
|
553
|
+
event.stopPropagation();
|
|
554
|
+
return;
|
|
555
|
+
}
|
|
482
556
|
const mouseTracking = terminalRuntime.isMouseTracking(session.handle);
|
|
483
557
|
const localSelection = !interactive || usesLocalSelection(mouseTracking, event.shiftKey);
|
|
484
558
|
if (event.button === 2 && localSelection)
|
|
@@ -501,6 +575,7 @@ function TerminalSurfaceSession({ session, theme, effects = DEFAULT_EFFECTS, bin
|
|
|
501
575
|
terminalRuntime.setSelection(session.handle, viewportSelection(selectionRef.current, scrollbarRef.current, cols, rows), viewId);
|
|
502
576
|
};
|
|
503
577
|
const onPointerMove = (event) => {
|
|
578
|
+
links.move(event);
|
|
504
579
|
if (!event.currentTarget.hasPointerCapture(event.pointerId))
|
|
505
580
|
return;
|
|
506
581
|
if (pointerModeRef.current === "mouse") {
|
|
@@ -520,7 +595,12 @@ function TerminalSurfaceSession({ session, theme, effects = DEFAULT_EFFECTS, bin
|
|
|
520
595
|
};
|
|
521
596
|
const onPointerUp = (event) => {
|
|
522
597
|
stopSelectionAutoScroll();
|
|
523
|
-
if (pointerModeRef.current === "
|
|
598
|
+
if (pointerModeRef.current === "link") {
|
|
599
|
+
links.finish(event);
|
|
600
|
+
event.preventDefault();
|
|
601
|
+
event.stopPropagation();
|
|
602
|
+
}
|
|
603
|
+
else if (pointerModeRef.current === "mouse") {
|
|
524
604
|
sendMouse(event, "release", mouseButton(event.button));
|
|
525
605
|
}
|
|
526
606
|
else if (pointerModeRef.current === "selection" && selectionRef.current) {
|
|
@@ -606,15 +686,21 @@ function TerminalSurfaceSession({ session, theme, effects = DEFAULT_EFFECTS, bin
|
|
|
606
686
|
event.currentTarget.releasePointerCapture(event.pointerId);
|
|
607
687
|
revealScrollbar();
|
|
608
688
|
};
|
|
609
|
-
return (_jsxs("div", { className: "terminal-surface", children: [_jsx("canvas", { ref: canvasRef, "aria-label": `Terminal session ${session.id}
|
|
689
|
+
return (_jsxs("div", { className: "terminal-surface", children: [_jsx("canvas", { ref: canvasRef, "aria-label": `Terminal session ${session.id}`, style: {
|
|
690
|
+
"--ghosttea-canvas-scale": 1 / (typeof window === "undefined" ? 1 : window.devicePixelRatio || 1),
|
|
691
|
+
} }), _jsx("textarea", { ref: inputRef, className: "terminal-input", style: links.hoveredLink ? { cursor: "pointer" } : undefined, title: links.hoveredLink?.uri, "data-terminal-link": links.hoveredLink?.uri, autoCapitalize: "off", autoComplete: "off", spellCheck: false, readOnly: !interactive, "aria-label": "Terminal input", onFocus: () => {
|
|
610
692
|
onActivate?.();
|
|
611
693
|
restoreInputFocusRef.current = true;
|
|
612
694
|
setInputFocused(true);
|
|
613
695
|
}, onBlur: () => {
|
|
696
|
+
links.clear();
|
|
614
697
|
restoreInputFocusRef.current = !document.hasFocus();
|
|
615
698
|
setInputFocused(false);
|
|
616
699
|
releaseForwardedKeys();
|
|
617
|
-
}, onKeyDown: onKeyDown, onKeyUp: onKeyUp, onPaste: onPaste, onPointerDown: onPointerDown, onPointerMove: onPointerMove,
|
|
700
|
+
}, onKeyDown: onKeyDown, onKeyUp: onKeyUp, onPaste: onPaste, onPointerDown: onPointerDown, onPointerMove: onPointerMove, onPointerLeave: links.leave, onLostPointerCapture: () => {
|
|
701
|
+
if (pointerModeRef.current === "link")
|
|
702
|
+
links.clear();
|
|
703
|
+
}, onPointerUp: onPointerUp, onPointerCancel: onPointerUp, onWheel: onWheel, onContextMenu: (event) => {
|
|
618
704
|
event.preventDefault();
|
|
619
705
|
onContextMenu?.(selectionRef.current !== null);
|
|
620
706
|
}, onCompositionEnd: (event) => {
|
|
@@ -623,7 +709,15 @@ function TerminalSurfaceSession({ session, theme, effects = DEFAULT_EFFECTS, bin
|
|
|
623
709
|
}, onInput: (event) => {
|
|
624
710
|
if (!event.nativeEvent.isComposing)
|
|
625
711
|
event.currentTarget.value = "";
|
|
626
|
-
} }),
|
|
712
|
+
} }), links.hoveredLink ? (_jsx("div", { className: "terminal-link-overlay", "aria-hidden": "true", children: links.hoveredLink.spans.map((span, index) => (_jsx("span", { style: {
|
|
713
|
+
left: ORIGIN_X + span.startColumn * CELL_WIDTH,
|
|
714
|
+
top: ORIGIN_Y + (span.row + 1) * LINE_HEIGHT - 3,
|
|
715
|
+
width: (span.endColumn - span.startColumn) * CELL_WIDTH,
|
|
716
|
+
backgroundColor: `rgb(${theme.foreground
|
|
717
|
+
.slice(0, 3)
|
|
718
|
+
.map((channel) => Math.round(channel * 255))
|
|
719
|
+
.join(" ")})`,
|
|
720
|
+
} }, index))) })) : null, scrollbarScrollable ? (_jsx("div", { className: `terminal-scrollbar${scrollbarVisible ? " is-visible" : ""}`, role: "scrollbar", "aria-label": "Terminal scrollback", "aria-orientation": "vertical", "aria-valuemin": 0, "aria-valuemax": scrollbarMaxOffset, "aria-valuenow": scrollbar.offset, onPointerDown: onScrollbarPointerDown, onPointerMove: onScrollbarPointerMove, onPointerUp: onScrollbarPointerUp, onPointerCancel: onScrollbarPointerUp, children: _jsx("div", { className: "terminal-scrollbar-thumb", style: {
|
|
627
721
|
height: `${scrollbarSize * 100}%`,
|
|
628
722
|
top: `${scrollbarPosition * 100}%`,
|
|
629
723
|
transform: `translateY(-${scrollbarPosition * 100}%)`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerminalSurface.js","sourceRoot":"","sources":["../src/TerminalSurface.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TerminalSurface.js","sourceRoot":"","sources":["../src/TerminalSurface.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ConfigSnapshot } from "@vibecook/ghosttea-protocol";
|
|
2
|
-
import type { GhostteaAppearanceUpdate, GhostteaConfigEditorBridge } from "./types.js";
|
|
2
|
+
import type { GhostteaAppearanceUpdate, GhostteaBackdropBlurBridge, GhostteaConfigEditorBridge } from "./types.js";
|
|
3
3
|
import type { TerminalShaderEffect } from "../renderers/types.js";
|
|
4
4
|
export interface AppearanceDraftState {
|
|
5
5
|
themeName: string | null;
|
|
@@ -7,6 +7,8 @@ export interface AppearanceDraftState {
|
|
|
7
7
|
opacityCells: boolean;
|
|
8
8
|
effects: TerminalShaderEffect[];
|
|
9
9
|
animation: boolean;
|
|
10
|
+
lightAdaptation: "auto" | "off";
|
|
11
|
+
minimumContrast: number;
|
|
10
12
|
}
|
|
11
13
|
export declare function appearanceDraftFromConfig(config: ConfigSnapshot): AppearanceDraftState;
|
|
12
14
|
export declare function sameAppearanceDraft(left: AppearanceDraftState, right: AppearanceDraftState): boolean;
|
|
@@ -15,7 +17,8 @@ export interface AppearanceSettingsProps {
|
|
|
15
17
|
onClose: () => void;
|
|
16
18
|
onSave?: (update: GhostteaAppearanceUpdate) => Promise<void>;
|
|
17
19
|
configEditor?: GhostteaConfigEditorBridge;
|
|
20
|
+
backdropBlur?: GhostteaBackdropBlurBridge;
|
|
18
21
|
onPreview: (config: ConfigSnapshot | undefined) => void;
|
|
19
22
|
}
|
|
20
|
-
export declare function AppearanceSettings({ config, onClose, onSave, configEditor, onPreview }: AppearanceSettingsProps): import("react").JSX.Element;
|
|
23
|
+
export declare function AppearanceSettings({ config, onClose, onSave, configEditor, backdropBlur, onPreview, }: AppearanceSettingsProps): import("react").JSX.Element;
|
|
21
24
|
//# sourceMappingURL=AppearanceSettings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppearanceSettings.d.ts","sourceRoot":"","sources":["../../src/appearance/AppearanceSettings.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"AppearanceSettings.d.ts","sourceRoot":"","sources":["../../src/appearance/AppearanceSettings.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAKlE,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACnH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,KAAK,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,oBAAoB,CAYtF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAWpG;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,SAAS,EAAE,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;CACzD;AAED,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,OAAO,EACP,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,EAAE,uBAAuB,+BA0czB"}
|