fix(maestro): say preview with a fill, not a ring
The previewed row and the keyboard cursor both drew a 2px inset ring, which read as a border on hover rather than as a colour. Rows now carry the preview hue as a fill: a light wash under the pointer or the cursor, deepening to an opaque `--preview-tint` once the preview lands. That leaves `.is-active`'s ring as the only one in the session list, where it now means exactly one thing — open in a pane. The pane's titlebar drops its hairline for the same reason; the dashed edges that remain belong to the canvas and the throwaway tab.
This commit is contained in:
+15
-11
@@ -101,10 +101,9 @@
|
||||
oklch(0.99 0.005 var(--preview-h)),
|
||||
oklch(0.19 0.045 var(--preview-h))
|
||||
);
|
||||
--preview-tint: light-dark(
|
||||
oklch(0.55 0.16 var(--preview-h) / 0.12),
|
||||
oklch(0.78 0.14 var(--preview-h) / 0.16)
|
||||
);
|
||||
/* Opaque, not a wash: the previewed row reads as a fill, and a fill has to
|
||||
land on the same colour whatever tier the row was already painted. */
|
||||
--preview-tint: color-mix(in oklab, var(--preview) 30%, var(--surface-2));
|
||||
--preview-ring: light-dark(
|
||||
oklch(0.55 0.16 var(--preview-h) / 0.5),
|
||||
oklch(0.78 0.14 var(--preview-h) / 0.6)
|
||||
@@ -1168,11 +1167,16 @@ textarea {
|
||||
background: color-mix(in oklab, var(--accent) 16%, var(--surface-2));
|
||||
}
|
||||
|
||||
/* Where the keyboard walk (j/k) is standing. Distinct from `.is-active`: this
|
||||
is a cursor, not a statement about what is mounted, so it reads as a ring
|
||||
rather than a fill and the two can sit on the same row. */
|
||||
/* Where the keyboard walk (j/k) is standing. On a session row the cursor is
|
||||
also what previews it, so it reads exactly like a hover — the preview hue,
|
||||
deepening to the full fill once the preview lands. A folder row previews
|
||||
nothing, so it keeps the plain cursor ring. */
|
||||
.tree-leaf.is-highlighted {
|
||||
box-shadow: inset 0 0 0 2px var(--preview-ring);
|
||||
background: color-mix(in oklab, var(--preview) 12%, var(--surface-2));
|
||||
}
|
||||
|
||||
.tree-leaf.is-highlighted[data-status="running"] {
|
||||
background: color-mix(in oklab, var(--preview) 18%, var(--surface-2));
|
||||
}
|
||||
|
||||
.tree-folder-header.is-highlighted {
|
||||
@@ -1198,9 +1202,10 @@ textarea {
|
||||
preview of an already-open session still reads as provisional. */
|
||||
.tree-leaf.is-previewing,
|
||||
.tree-leaf.is-previewing[data-status="running"],
|
||||
.tree-leaf.is-previewing.is-active {
|
||||
.tree-leaf.is-previewing.is-active,
|
||||
.tree-leaf.is-previewing.is-highlighted {
|
||||
background: var(--preview-tint);
|
||||
box-shadow: inset 0 0 0 2px var(--preview-ring);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Exited sessions recede: dimmed name + an "exited" badge carry status, so it's
|
||||
@@ -3081,7 +3086,6 @@ input.leaf-rename:focus {
|
||||
.mv-pane.is-preview .attach-header,
|
||||
.mv-pane.is-preview.is-focused .attach-header {
|
||||
background: color-mix(in oklab, var(--preview) 34%, var(--surface));
|
||||
box-shadow: inset 0 -1px 0 var(--preview-ring);
|
||||
opacity: 1;
|
||||
}
|
||||
/* A pane with no session yet: a quiet hint rather than blank terminal black. */
|
||||
|
||||
Reference in New Issue
Block a user