From a75cb98575c60d00353390a43ac2bfacef4f233f Mon Sep 17 00:00:00 2001 From: dormouse-bot <287024035+dormouse-bot@users.noreply.github.com> Date: Fri, 19 Jun 2026 08:21:47 +0000 Subject: [PATCH 1/2] docs(layout): document the mouse-override icon in the pane-header element list and tiers The pane-header spec omitted the mouse-reporting override icon from both the element list and the responsive-tier breakdown. #148 made its tier behavior concrete (hidden at the minimal tier) without updating the spec. Co-Authored-By: Claude Opus 4.8 --- docs/specs/layout.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/specs/layout.md b/docs/specs/layout.md index a137d925..1e6f1755 100644 --- a/docs/specs/layout.md +++ b/docs/specs/layout.md @@ -82,13 +82,14 @@ Elements from left to right: - Alert bell button (reflects session activity status) - TODO pill (if todo state is set; hidden in minimal tier) - Flexible gap +- Mouse-reporting override icon (only when the inside program requests mouse reporting; hidden in minimal tier) - SplitHorizontalIcon `split left/right [|]` (full tier only) - SplitVerticalIcon `split top/bottom [-]` (full tier only) - ArrowsOutIcon / ArrowsInIcon `zoom / unzoom [z]` (full tier only) - ArrowLineDownIcon `minimize [m]` - XIcon `kill [x]` (hover turns error-red) -The alert bell and TODO pill are defined in `docs/specs/alert.md` (visual states, interaction, context menu, and hardening). +The alert bell and TODO pill are defined in `docs/specs/alert.md` (visual states, interaction, context menu, and hardening). The mouse-reporting override icon (Phosphor `CursorClickIcon` / `SelectionSlashIcon`) is defined in `docs/specs/mouse-and-clipboard.md`. ### Pane body @@ -98,9 +99,11 @@ The pane body paints `--color-terminal-bg` on the React pane wrapper and the `Te The header adapts to available width via ResizeObserver in three tiers: -- **Full** (>280px): all controls visible — alert, TODO, split, zoom, minimize, kill -- **Compact** (160–280px): SplitH/SplitV/Zoom hidden; alert, TODO, minimize, kill visible -- **Minimal** (<160px): SplitH/SplitV/Zoom and TODO pill hidden; alert, minimize, kill visible. Session name truncates with ellipsis as needed. +- **Full** (>280px): all controls visible — alert, TODO, mouse-override icon, split, zoom, minimize, kill +- **Compact** (160–280px): SplitH/SplitV/Zoom hidden; alert, TODO, mouse-override icon, minimize, kill visible +- **Minimal** (<160px): SplitH/SplitV/Zoom, TODO pill, and mouse-override icon hidden; alert, minimize, kill visible. Session name truncates with ellipsis as needed. + +The mouse-override icon only appears when the inside program has requested mouse reporting (per `docs/specs/mouse-and-clipboard.md`); when present, it follows the tier visibility above. ## Baseboard From 38704caffc88903ec3ac14a86c3d5e5cc69b81e1 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 19 Jun 2026 15:59:52 -0700 Subject: [PATCH 2/2] refactor(mouse): use CursorTextIcon for the mouse-reporting override Replace SelectionSlashIcon with CursorTextIcon in the pane-header override indicator and update the layout and mouse-and-clipboard specs to match. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/specs/layout.md | 2 +- docs/specs/mouse-and-clipboard.md | 2 +- lib/src/components/wall/TerminalPaneHeader.tsx | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/specs/layout.md b/docs/specs/layout.md index 1e6f1755..79b6cc2e 100644 --- a/docs/specs/layout.md +++ b/docs/specs/layout.md @@ -89,7 +89,7 @@ Elements from left to right: - ArrowLineDownIcon `minimize [m]` - XIcon `kill [x]` (hover turns error-red) -The alert bell and TODO pill are defined in `docs/specs/alert.md` (visual states, interaction, context menu, and hardening). The mouse-reporting override icon (Phosphor `CursorClickIcon` / `SelectionSlashIcon`) is defined in `docs/specs/mouse-and-clipboard.md`. +The alert bell and TODO pill are defined in `docs/specs/alert.md` (visual states, interaction, context menu, and hardening). The mouse-reporting override icon (Phosphor `CursorClickIcon` / `CursorTextIcon`) is defined in `docs/specs/mouse-and-clipboard.md`. ### Pane body diff --git a/docs/specs/mouse-and-clipboard.md b/docs/specs/mouse-and-clipboard.md index b461f8a8..a1958d4f 100644 --- a/docs/specs/mouse-and-clipboard.md +++ b/docs/specs/mouse-and-clipboard.md @@ -27,7 +27,7 @@ The terminal makes the current regime visible in the pane header, provides a way ## 1. The Mouse Icon (Header Indicator) -**Visibility.** No icon when the inside program has not requested mouse reporting; a **Mouse icon** (Phosphor `CursorClickIcon`) when it has; replaced by a **No-Mouse icon** (Phosphor `SelectionSlashIcon`) in the same header location while the user has activated an override. +**Visibility.** No icon when the inside program has not requested mouse reporting; a **Mouse icon** (Phosphor `CursorClickIcon`) when it has; replaced by a **No-Mouse icon** (Phosphor `CursorTextIcon`) in the same header location while the user has activated an override. **Click.** Clicking the Mouse icon activates a **temporary override** (see §2). Clicking the No-Mouse icon ends the override immediately and restores mouse reporting to the inside program. diff --git a/lib/src/components/wall/TerminalPaneHeader.tsx b/lib/src/components/wall/TerminalPaneHeader.tsx index a67e1473..f7311c59 100644 --- a/lib/src/components/wall/TerminalPaneHeader.tsx +++ b/lib/src/components/wall/TerminalPaneHeader.tsx @@ -8,7 +8,7 @@ import { ArrowsOutIcon, BellIcon, CursorClickIcon, - SelectionSlashIcon, + CursorTextIcon, SplitHorizontalIcon, SplitVerticalIcon, XIcon, @@ -329,7 +329,7 @@ export function TerminalPaneHeader({ api }: IDockviewPanelHeaderProps) { > {inOverride ? ( - + ) : ( )}