Put the top bar back to words

The icon run in the top bar read worse than what it replaced. Restore the
earlier top bar — pane words, new, open ▾, undo ▾ redo, the edit menu,
snapshots ▾, title, status, export… — and its CSS. The stage bar's overlay
switches, the palette chooser and `menu/popover` stay.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Olive Vaughn 2026-10-04 03:16:09 -04:00
parent f238ff4f62
commit 208dddee07
7 changed files with 168 additions and 207 deletions

View file

@ -155,6 +155,8 @@ audio { display: none; }
/* Which panes are open, in the top bar. Lower-case words rather than icons: the
three panes have names and the names are what the rest of the chrome calls
them. */
.panes > button { color: var(--dim); }
.panes > button.on { color: var(--fg); }
/* A zoom readout that is also the way back to 1:1, so it is a button that looks
like the number it shows. Tabular figures, because the + beside it must not
@ -311,29 +313,8 @@ button.retry { border-color: var(--sel); color: var(--sel); }
}
.top .brand { color: var(--dim); letter-spacing: .14em; text-transform: uppercase; }
/* The top bar's icon runs: plain glyphs until pointed at, accented when on.
A run is one group; `.sep` divides one run from the next. */
.icons { display: flex; align-items: center; gap: 1px; }
.top button.ico { border-color: transparent; background: none; padding: 3px 5px; }
.top button.ico:hover:not(:disabled) { background: var(--sunk); border-color: var(--hair); }
.top button.ico.on { background: var(--sel-bg); border-color: var(--sel); color: var(--sel); }
.top button.ico > svg {
width: 16px; height: 16px;
fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round;
}
.top button.ico svg .fill, .panes svg rect:not(.frame) { fill: currentColor; stroke: none; }
.top .sep { height: 16px; }
/* What this is and what it is doing: the middle of the bar, and the room in it. */
.top .doc {
flex: 1;
min-width: 0;
display: flex;
align-items: center;
justify-content: center;
gap: 9px;
}
.top .status {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
@ -341,13 +322,7 @@ button.retry { border-color: var(--sel); color: var(--sel); }
color: var(--dim);
}
.project-title {
max-width: 28vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
border-color: transparent; background: none; font-weight: 600;
}
.project-title:hover:not(:disabled) { border-color: var(--line); }
.panes button.ico:not(.on) { color: var(--dim); }
.project-title { max-width: 22vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-name { width: 180px; }
.export-scrim { position: fixed; inset: 0; z-index: 50; background: rgba(0, 0, 0, .45); }
.export-dialog {
@ -442,6 +417,11 @@ button.link { border: 0; background: none; padding: 0; color: var(--sel); cursor
.index-list a:hover { color: var(--sel); }
a.brand { text-decoration: none; }
/* Undo, its list, redo: one group. */
.undo { display: flex; gap: 0; }
.undo > button { border-radius: 0; }
.undo > button:first-child { border-radius: 2px 0 0 2px; }
.undo > .undo-list { padding: 0 4px; margin-right: 4px; border-left: 0; border-radius: 0 2px 2px 0; }
.menu.menu-left { left: 0; right: auto; }
/* A menu dropping out of a PANE HEAD. Fixed and placed by `ui/menu` against the