summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components/settings-general.tsx
diff options
context:
space:
mode:
authorLuke Parker <[email protected]>2026-04-19 19:46:34 +1000
committerGitHub <[email protected]>2026-04-19 19:46:34 +1000
commit10bd044c55600408f2bca606bb6ce37c88b459f9 (patch)
tree21142e75094316dd82389f7c32d299f0491d472e /packages/app/src/components/settings-general.tsx
parentc09bcfe5314ff4d78d169a9a373450d19df9b407 (diff)
downloadopencode-10bd044c55600408f2bca606bb6ce37c88b459f9.tar.gz
opencode-10bd044c55600408f2bca606bb6ce37c88b459f9.zip
feat: add terminal font settings and built-in Nerd Font (#23391)
Diffstat (limited to 'packages/app/src/components/settings-general.tsx')
-rw-r--r--packages/app/src/components/settings-general.tsx27
1 files changed, 27 insertions, 0 deletions
diff --git a/packages/app/src/components/settings-general.tsx b/packages/app/src/components/settings-general.tsx
index c380fb69b..490bc2e48 100644
--- a/packages/app/src/components/settings-general.tsx
+++ b/packages/app/src/components/settings-general.tsx
@@ -19,6 +19,9 @@ import {
sansDefault,
sansFontFamily,
sansInput,
+ terminalDefault,
+ terminalFontFamily,
+ terminalInput,
useSettings,
} from "@/context/settings"
import { decode64 } from "@/utils/base64"
@@ -181,6 +184,7 @@ export const SettingsGeneral: Component = () => {
const soundOptions = [noneSound, ...SOUND_OPTIONS]
const mono = () => monoInput(settings.appearance.font())
const sans = () => sansInput(settings.appearance.uiFont())
+ const terminal = () => terminalInput(settings.appearance.terminalFont())
const soundSelectProps = (
enabled: () => boolean,
@@ -451,6 +455,29 @@ export const SettingsGeneral: Component = () => {
/>
</div>
</SettingsRow>
+
+ <SettingsRow
+ title={language.t("settings.general.row.terminalFont.title")}
+ description={language.t("settings.general.row.terminalFont.description")}
+ >
+ <div class="w-full sm:w-[220px]">
+ <TextField
+ data-action="settings-terminal-font"
+ label={language.t("settings.general.row.terminalFont.title")}
+ hideLabel
+ type="text"
+ value={terminal()}
+ onChange={(value) => settings.appearance.setTerminalFont(value)}
+ placeholder={terminalDefault}
+ spellcheck={false}
+ autocorrect="off"
+ autocomplete="off"
+ autocapitalize="off"
+ class="text-12-regular"
+ style={{ "font-family": terminalFontFamily(settings.appearance.terminalFont()) }}
+ />
+ </div>
+ </SettingsRow>
</SettingsList>
</div>
)