import { Label } from "@/components/ui/label"; import { Switch } from "@/components/ui/switch"; import { Slider } from "@/components/ui/slider"; import { Input } from "@/components/ui/input"; import { SquareTerminal } from "lucide-react"; import { cn } from "@/lib/utils"; import { useAppStore } from "@/store/app-store"; import { toast } from "sonner"; import { TERMINAL_FONT_OPTIONS } from "@/config/terminal-themes"; export function TerminalSection() { const { terminalState, setTerminalDefaultRunScript, setTerminalScreenReaderMode, setTerminalFontFamily, setTerminalScrollbackLines, setTerminalLineHeight, setTerminalDefaultFontSize, } = useAppStore(); const { defaultRunScript, screenReaderMode, fontFamily, scrollbackLines, lineHeight, defaultFontSize, } = terminalState; return (

Terminal

Customize terminal appearance and behavior. Theme follows your app theme in Appearance settings.

{/* Font Family */}
{/* Default Font Size */}
{defaultFontSize}px
setTerminalDefaultFontSize(value)} className="flex-1" />
{/* Line Height */}
{lineHeight.toFixed(1)}
{ setTerminalLineHeight(value); }} onValueCommit={() => { toast.info("Line height changed", { description: "Restart terminal for changes to take effect", }); }} className="flex-1" />
{/* Scrollback Lines */}
{(scrollbackLines / 1000).toFixed(0)}k lines
setTerminalScrollbackLines(value)} onValueCommit={() => { toast.info("Scrollback changed", { description: "Restart terminal for changes to take effect", }); }} className="flex-1" />
{/* Default Run Script */}

Command to run automatically when opening a new terminal (e.g., "claude", "codex")

setTerminalDefaultRunScript(e.target.value)} placeholder="e.g., claude, codex, npm run dev" className="bg-accent/30 border-border/50" />
{/* Screen Reader Mode */}

Enable accessibility mode for screen readers

{ setTerminalScreenReaderMode(checked); toast.success(checked ? "Screen reader mode enabled" : "Screen reader mode disabled", { description: "Restart terminal for changes to take effect", }); }} />
); }