From f8b434dd1d4d68ac9a467d5c66d37283b61f48b8 Mon Sep 17 00:00:00 2001 From: Miguel Palhas Date: Thu, 3 Sep 2026 16:34:58 +0100 Subject: [PATCH] fix(maestro): keep accent fill when previewing active row Hovering the session already in the pane put the preview tint over its accent fill, so the row that is on screen looked unpicked. Tier 5 now skips `.is-active`. --- docs/PREVIEW.md | 2 +- docs/SIDEBAR.md | 2 +- web/src/styles.css | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/PREVIEW.md b/docs/PREVIEW.md index e22ac23..5424960 100644 --- a/docs/PREVIEW.md +++ b/docs/PREVIEW.md @@ -46,7 +46,7 @@ Web client (`--preview` and friends in `web/src/styles.css`): | The previewed pane's titlebar | Tinted in the preview hue, at full strength, in place of the focused pane's accent tint. | | The canvas | A `preview` chip, top right, and a dashed inset ring. | | A throwaway tab | Dashed border, italic label. | -| The sidebar row being previewed | Filled with the preview hue, over whatever open/focused state the row already had. | +| The sidebar row being previewed | Filled with the preview hue, over whatever open state the row already had — but the row of the session already showing in the pane keeps its accent fill, since previewing it changes nothing on screen. | | A hovered sidebar row, and the keyboard cursor on a session | A lighter wash of the same hue, because both are what previews a row. | Rows say it with fill, not with an edge — see the tier ladder in diff --git a/docs/SIDEBAR.md b/docs/SIDEBAR.md index 7c04d9c..ca339bf 100644 --- a/docs/SIDEBAR.md +++ b/docs/SIDEBAR.md @@ -189,7 +189,7 @@ furthest down wins the paint. | Under the pointer or the keyboard walk | preview hue, light | selection surface, while the sidebar holds the keyboard | | Open in some pane, not the focused one | 6% accent wash (`.is-open`) | — (the `●` glyph carries it) | | Showing in the pane | `--accent-fill` | `pane_row_bg()` — partway from the card surface to the selection surface | -| Previewing (`docs/PREVIEW.md`) | `--preview-tint` | — (no preview colour role yet) | +| Previewing (`docs/PREVIEW.md`), unless that row is the one showing in the pane | `--preview-tint` | — (no preview colour role yet) | The web ladder is written as one ordered run of equal-specificity rules in `styles.css`, every qualifier inside `:where()`, so the order they appear in diff --git a/web/src/styles.css b/web/src/styles.css index 45d5ad4..94ad67e 100644 --- a/web/src/styles.css +++ b/web/src/styles.css @@ -1202,8 +1202,10 @@ textarea { } /* 5. The row the content pane is previewing right now. Last, so previewing a - session that is already open still reads as provisional. */ -.tree-leaf:where(.is-previewing) { + session that is already open still reads as provisional — except the session + already mounted in the pane (tier 4). Previewing that one changes nothing on + screen, so its accent stays put instead of blinking out under the pointer. */ +.tree-leaf:where(.is-previewing):where(:not(.is-active)) { background: var(--preview-tint); }