summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-13 15:12:32 -0600
committerAdam <[email protected]>2025-12-13 15:12:32 -0600
commitd0789632b4cf8d29d67faf652d955868fc447208 (patch)
tree23d2fe421eacf8731a6867cb7dc5d58d3fb89987
parenta6e297baadc6c19a566a69da92c7fb2010f40977 (diff)
downloadopencode-d0789632b4cf8d29d67faf652d955868fc447208.tar.gz
opencode-d0789632b4cf8d29d67faf652d955868fc447208.zip
fix(desktop): terminal light mode
-rw-r--r--packages/desktop/src/components/terminal.tsx19
1 files changed, 14 insertions, 5 deletions
diff --git a/packages/desktop/src/components/terminal.tsx b/packages/desktop/src/components/terminal.tsx
index 15302f152..865d9b30f 100644
--- a/packages/desktop/src/components/terminal.tsx
+++ b/packages/desktop/src/components/terminal.tsx
@@ -1,8 +1,9 @@
import { Ghostty, Terminal as Term, FitAddon } from "ghostty-web"
-import { ComponentProps, onCleanup, onMount, splitProps } from "solid-js"
+import { ComponentProps, createEffect, onCleanup, onMount, splitProps } from "solid-js"
import { useSDK } from "@/context/sdk"
import { SerializeAddon } from "@/addons/serialize"
import { LocalPTY } from "@/context/session"
+import { usePrefersDark } from "@solid-primitives/media"
export interface TerminalProps extends ComponentProps<"div"> {
pty: LocalPTY
@@ -21,6 +22,7 @@ export const Terminal = (props: TerminalProps) => {
let serializeAddon: SerializeAddon
let fitAddon: FitAddon
let handleResize: () => void
+ const prefersDark = usePrefersDark()
onMount(async () => {
ghostty = await Ghostty.load()
@@ -31,10 +33,17 @@ export const Terminal = (props: TerminalProps) => {
fontSize: 14,
fontFamily: "TX-02, monospace",
allowTransparency: true,
- theme: {
- background: "#191515",
- foreground: "#d4d4d4",
- },
+ theme: prefersDark()
+ ? {
+ background: "#191515",
+ foreground: "#d4d4d4",
+ cursor: "#d4d4d4",
+ }
+ : {
+ background: "#fcfcfc",
+ foreground: "#211e1e",
+ cursor: "#211e1e",
+ },
scrollback: 10_000,
ghostty,
})