summaryrefslogtreecommitdiffhomepage
path: root/packages/app
diff options
context:
space:
mode:
authorLuke Parker <[email protected]>2026-03-12 16:38:56 +1000
committerGitHub <[email protected]>2026-03-12 16:38:56 +1000
commitd481f64bdeaca91226e66c0e7888c7a10ba631f7 (patch)
tree8700aaad0363342015ffc49cb962620186e1f7f0 /packages/app
parent54e7baa6cfff86627e5555842560b4a20e4be424 (diff)
downloadopencode-d481f64bdeaca91226e66c0e7888c7a10ba631f7.tar.gz
opencode-d481f64bdeaca91226e66c0e7888c7a10ba631f7.zip
fix(electron): theme Windows titlebar overlay (#16843)
Co-authored-by: Brendan Allan <[email protected]>
Diffstat (limited to 'packages/app')
-rw-r--r--packages/app/src/app.tsx9
-rw-r--r--packages/app/src/components/titlebar.tsx4
2 files changed, 10 insertions, 3 deletions
diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx
index 52a1dac6a..2790e7d3c 100644
--- a/packages/app/src/app.tsx
+++ b/packages/app/src/app.tsx
@@ -62,6 +62,9 @@ declare global {
deepLinks?: string[]
wsl?: boolean
}
+ api?: {
+ setTitlebar?: (theme: { mode: "light" | "dark" }) => Promise<void>
+ }
}
}
@@ -115,7 +118,11 @@ export function AppBaseProviders(props: ParentProps) {
return (
<MetaProvider>
<Font />
- <ThemeProvider>
+ <ThemeProvider
+ onThemeApplied={(_, mode) => {
+ void window.api?.setTitlebar?.({ mode })
+ }}
+ >
<LanguageProvider>
<UiI18nBridge>
<ErrorBoundary fallback={(error) => <ErrorPage error={error} />}>
diff --git a/packages/app/src/components/titlebar.tsx b/packages/app/src/components/titlebar.tsx
index b45f81150..3e2374f43 100644
--- a/packages/app/src/components/titlebar.tsx
+++ b/packages/app/src/components/titlebar.tsx
@@ -1,4 +1,4 @@
-import { createEffect, createMemo, Show, untrack } from "solid-js"
+import { createEffect, createMemo, onCleanup, Show, untrack } from "solid-js"
import { createStore } from "solid-js/store"
import { useLocation, useNavigate, useParams } from "@solidjs/router"
import { IconButton } from "@opencode-ai/ui/icon-button"
@@ -282,7 +282,7 @@ export function Titlebar() {
>
<div id="opencode-titlebar-right" class="flex items-center gap-1 shrink-0 justify-end" />
<Show when={windows()}>
- <div class="w-6 shrink-0" />
+ {!tauriApi() && <div class="w-36 shrink-0" />}
<div data-tauri-decorum-tb class="flex flex-row" />
</Show>
</div>