diff --git a/frontend/src/lib/components/TerminalTab.svelte b/frontend/src/lib/components/TerminalTab.svelte index 5c516c2..621dc6e 100644 --- a/frontend/src/lib/components/TerminalTab.svelte +++ b/frontend/src/lib/components/TerminalTab.svelte @@ -148,8 +148,8 @@ cursorStyle: 'bar', cursorInactiveStyle: 'outline', fontFamily: "'JetBrains Mono Variable', 'JetBrains Mono', monospace", - fontSize: 13, - lineHeight: 1.4, + fontSize: 14, + lineHeight: 1.35, letterSpacing: 0, theme: TERM_THEME, allowProposedApi: true, @@ -360,6 +360,11 @@ padding: 12px 4px 12px 16px; height: 100%; } + /* Paint xterm's own background to cover any fractional-pixel gaps */ + .terminal-container :global(.xterm-viewport), + .terminal-container :global(.xterm-screen) { + background-color: #0a0c0b !important; + } .terminal-container :global(.xterm-viewport) { scrollbar-width: thin; scrollbar-color: rgba(94, 140, 88, 0.18) transparent; @@ -383,27 +388,50 @@ .tab-scroll::-webkit-scrollbar { display: none; } + .term-tab { + position: relative; + } + .term-tab::after { + content: ''; + position: absolute; + right: 0; + top: 25%; + bottom: 25%; + width: 1px; + background: var(--color-border); + } + .term-tab:last-child::after { + display: none; + } + .term-tab-active::after { + display: none; + } + /* Hide separator on tab right before active tab */ + .term-tab:has(+ .term-tab-active)::after { + display: none; + }