Add full disk access checks and settings
Add background themes and custom images Add shell command logging toggle Add UTF-8 locale guarantee for PTY Add Claude hook settings injection Add hotkey system for GUI Add glass panel styling Add search disabled state for agent panels Add zoom toggle command Add device report filtering Add entitlements for notarization Update version to 0.1.27
This commit is contained in:
@@ -124,7 +124,7 @@ const fontStackLE = (family: string | null) =>
|
||||
|
||||
function xtermThemeLE(p: Record<string, string>) {
|
||||
return {
|
||||
background: p["bg-panel"],
|
||||
background: p["term-bg"] ?? p["bg-panel"],
|
||||
foreground: p["text-primary"],
|
||||
cursor: p["text-primary"],
|
||||
selectionBackground: p["search-match"],
|
||||
@@ -140,6 +140,7 @@ function StoppedSnapshot({ surfaceId, font, palette }: { surfaceId: string; font
|
||||
fontFamily: fontStackLE(font?.family ?? null),
|
||||
fontSize: font?.size ?? 13,
|
||||
theme: palette ? xtermThemeLE(palette) : undefined,
|
||||
allowTransparency: true, // term-bg may be transparent under a background theme
|
||||
cursorBlink: false,
|
||||
disableStdin: true,
|
||||
scrollback: 0,
|
||||
@@ -164,7 +165,8 @@ function Leaf({ id, workspaceId, running, states, surfaces, focusedId, onFocus,
|
||||
onMouseDown={() => onFocus(id)}
|
||||
style={{
|
||||
position: "relative", display: "flex", flexDirection: "column", width: "100%", height: "100%",
|
||||
background: COLORS.bgPanel, borderRadius: 8, overflow: "hidden",
|
||||
background: "transparent",
|
||||
borderRadius: 8, overflow: "hidden",
|
||||
// Constant 2px border, color-only on focus. A width change (1px<->2px)
|
||||
// would resize the inner content box, fire ResizeObserver -> fit -> PTY
|
||||
// SIGWINCH, making zsh/powerlevel10k reprint its prompt on every focus
|
||||
@@ -173,7 +175,15 @@ function Leaf({ id, workspaceId, running, states, surfaces, focusedId, onFocus,
|
||||
boxSizing: "border-box",
|
||||
}}
|
||||
>
|
||||
{inner}
|
||||
{/* Glass fill + blur as a layer BEHIND the content. The terminal's transparent
|
||||
cells show this through. Crucially the terminal canvas is NOT a descendant
|
||||
of a backdrop-filter element — under WKWebView that clips/smears the WebGL
|
||||
canvas (first-glyph clip at column 0, smearing on scroll). With "none" the
|
||||
glass is the solid bg-panel so the classic look is unchanged. */}
|
||||
<div style={{ position: "absolute", inset: 0, zIndex: 0, background: COLORS.panelGlass, backdropFilter: COLORS.panelBlur, WebkitBackdropFilter: COLORS.panelBlur, pointerEvents: "none" }} />
|
||||
<div style={{ position: "relative", zIndex: 1, flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }}>
|
||||
{inner}
|
||||
</div>
|
||||
{dropEdge && <DropIndicator edge={dropEdge} />}
|
||||
</div>
|
||||
);
|
||||
@@ -217,7 +227,7 @@ function Leaf({ id, workspaceId, running, states, surfaces, focusedId, onFocus,
|
||||
<div
|
||||
onMouseDown={(e) => { onFocus(id); onStartPanelDrag(id, e); }}
|
||||
title="Drag to move this panel"
|
||||
style={{ display: "flex", alignItems: "center", gap: 8, height: 30, flex: "0 0 30px", padding: "0 10px", background: COLORS.bgElevated, borderBottom: `1px solid ${COLORS.borderSubtle}`, cursor: "grab" }}
|
||||
style={{ display: "flex", alignItems: "center", gap: 8, height: 30, flex: "0 0 30px", padding: "0 10px", background: COLORS.elevatedGlass, borderBottom: `1px solid ${COLORS.borderSubtle}`, cursor: "grab" }}
|
||||
>
|
||||
<GripVertical size={13} color={COLORS.textMuted} />
|
||||
<StatusRing state={state} running={true} />
|
||||
@@ -238,7 +248,7 @@ function Leaf({ id, workspaceId, running, states, surfaces, focusedId, onFocus,
|
||||
onMouseLeave={(e) => { e.currentTarget.style.color = COLORS.textMuted; }} />
|
||||
</div>
|
||||
<div style={{ flex: 1, minHeight: 0 }}>
|
||||
<TerminalView key={id} surfaceId={id} font={font} palette={palette} />
|
||||
<TerminalView key={id} surfaceId={id} font={font} palette={palette} focused={focused} />
|
||||
</div>
|
||||
{searchSurfaceId === id && (
|
||||
<SearchBar surfaceId={id} reopenNonce={searchNonce} onClose={onCloseSearch} />
|
||||
|
||||
Reference in New Issue
Block a user