diff --git a/src/App.css b/src/App.css index 3561b8c..ef7d4f3 100644 --- a/src/App.css +++ b/src/App.css @@ -16,6 +16,19 @@ font-size: 12px; color: #aaa; user-select: none; + /* Lock to a single row even when the window is narrow: buttons whose + text would otherwise wrap (e.g. "📡 all off") would grow the + titlebar, shrink .pane-wrap, and reflow every xterm. nowrap stops + text-wrap inside buttons, flex-shrink:0 stops children from being + squeezed, height locks the row height, overflow:hidden clips items + that don't fit (widen the window to see them). */ + white-space: nowrap; + height: 34px; + box-sizing: border-box; + overflow: hidden; +} +.titlebar > * { + flex-shrink: 0; } .titlebar .label { font-weight: 600; diff --git a/src/lib/layout/LeafPane.css b/src/lib/layout/LeafPane.css index eeff96a..791a1e7 100644 --- a/src/lib/layout/LeafPane.css +++ b/src/lib/layout/LeafPane.css @@ -58,7 +58,17 @@ font-size: 11px; color: #aaa; user-select: none; - min-height: 24px; + height: 24px; + box-sizing: border-box; + /* Lock height: a narrow pane used to wrap toolbar items to 2+ rows, + which shrank the xterm beneath and reflowed the terminal. Clip + overflow instead of showing a scrollbar (which would itself eat + into the 24px and crush the buttons). */ + white-space: nowrap; + overflow: hidden; +} +.pane-toolbar > * { + flex-shrink: 0; } .pane-label { font: inherit;