Tidy titlebar: dropdowns for shell + layout, '+' button to spawn

- Collapse the inline distro buttons + PowerShell + 🔑 SSH hosts into
  a single 'Ubuntu ▾' dropdown (WSL distros + PowerShell sections),
  with 🔑 as a separate icon-only button.
- Collapse the 5 preset buttons into a 'layout ▾' dropdown.
- Add a '+' button next to the shell picker that spawns a new pane of
  the picked shell by splitting the active pane (smart orientation:
  splits right if wide, down if tall). Per-pane ⇥/⇣ arrows still
  inherit from parent — only '+' uses the titlebar selection.
- Drop the 🔔 test-toast button.
- Drop overflow:hidden from titlebar + pane toolbar so dropdowns
  aren't clipped; height lock + nowrap still prevent the reflow bug.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
megaproxy 2026-05-25 22:26:41 +01:00
parent e46446444e
commit fa18307fd9
3 changed files with 197 additions and 66 deletions

View file

@ -20,12 +20,11 @@
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). */
squeezed, height locks the row height. Overflow is left visible
so dropdown menus below the chips aren't clipped by the bar. */
white-space: nowrap;
height: 34px;
box-sizing: border-box;
overflow: hidden;
}
.titlebar > * {
flex-shrink: 0;
@ -35,12 +34,7 @@
color: #ddd;
}
.distros, .presets {
display: flex;
gap: 4px;
align-items: center;
}
.distro-btn, .preset-btn, .palette-btn {
.titlebar-chip, .palette-btn {
font: inherit;
font-family: "Cascadia Mono", "JetBrains Mono", "Consolas", monospace;
font-size: 11px;
@ -51,15 +45,21 @@
padding: 2px 8px;
cursor: pointer;
}
.distro-btn:hover, .preset-btn:hover, .palette-btn:hover {
.titlebar-chip:hover, .palette-btn:hover {
background: #2a2a2a;
color: #ddd;
}
.distro-btn.active {
background: #1a3a5c;
.titlebar-chip.add-pane {
font-size: 14px;
line-height: 1;
padding: 2px 8px;
color: #cce6ff;
border-color: #2a5a8c;
}
.titlebar-chip.add-pane:hover {
background: #1a3a5c;
color: #fff;
}
.palette-btn.bcast-all.on {
background: #4a3010;
color: #f0c060;
@ -74,14 +74,6 @@
color: #80e080;
border-color: #2a6a2a;
}
.preset-btn {
min-width: 28px;
text-align: center;
}
.muted {
color: #666;
font-style: italic;
}
.layout-info {
margin-left: auto;
font-family: "Cascadia Mono", "JetBrains Mono", "Consolas", monospace;