diff --git a/ui-electrobun/src/mainview/TerminalTabs.svelte b/ui-electrobun/src/mainview/TerminalTabs.svelte index ab0baf4..2236a41 100644 --- a/ui-electrobun/src/mainview/TerminalTabs.svelte +++ b/ui-electrobun/src/mainview/TerminalTabs.svelte @@ -25,7 +25,9 @@ // Track which tabs have been mounted at least once (for lazy init) let mounted = $state>(new Set([firstTabId])); - function addTab() { + function addTab(e?: MouseEvent) { + // Blur terminal canvas so future clicks on tab bar work + if (e) (e.target as HTMLElement)?.focus(); const id = `${projectId}-t${counter}`; tabs = [...tabs, { id, title: `shell ${counter}` }]; counter++; @@ -121,7 +123,7 @@ Terminal panes: always rendered (display:none when collapsed) so xterm state is preserved across collapse/expand. Using display:none instead of {#if}. --> -
+
{#each tabs as tab (tab.id)} {#if mounted.has(tab.id)}