tiletopia/src/styles.css
megaproxy 369ec8e2fd Theme scrollbars + global broadcast toggle
Two small QoL additions:

- styles.css: WebKit pseudo-element styling for .xterm-viewport
  scrollbars (8px wide, dark thumb #2a2a2a on transparent track,
  hover lighten). Matches the rest of the dark theme so the right
  edge of each terminal stops looking like default OS chrome.

- tree.ts: setAllBroadcast(root, on) helper that flips every leaf's
  broadcast flag to the given value, preserving object identity
  where nothing changed.

- App.tsx: titlebar 📡 button showing global broadcast state
  ("all off" / "all on" / "N/M"). Click toggles every pane between
  all-broadcasting and all-off. Orange when any panes are
  broadcasting; darker orange when partial.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 18:18:56 +01:00

65 lines
1.3 KiB
CSS

@import "@xterm/xterm/css/xterm.css";
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html,
body,
#root {
width: 100%;
height: 100%;
overflow: hidden;
}
body {
background: #1a1a1a;
color: #e0e0e0;
font-family: "Cascadia Code", "Fira Code", "JetBrains Mono", monospace;
font-size: 14px;
line-height: 1.4;
}
.app-root {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
color: #888;
font-size: 13px;
letter-spacing: 0.05em;
}
.xterm { height: 100%; }
.xterm-viewport { background: #0c0c0c !important; }
/* Themed scrollbars — Chromium pseudo-elements (WebView2 supports these). */
.xterm-viewport::-webkit-scrollbar {
width: 8px;
height: 8px;
}
.xterm-viewport::-webkit-scrollbar-track {
background: transparent;
}
.xterm-viewport::-webkit-scrollbar-thumb {
background: #2a2a2a;
border-radius: 4px;
border: 1px solid #1a1a1a;
}
.xterm-viewport::-webkit-scrollbar-thumb:hover {
background: #3a3a3a;
}
.xterm-viewport::-webkit-scrollbar-corner {
background: transparent;
}
/* Firefox fallback (and the new spec) — not strictly needed in WebView2
but free-and-correct. */
.xterm-viewport {
scrollbar-width: thin;
scrollbar-color: #2a2a2a transparent;
}