Themes
GhosttyTheme ships 485 terminal color themes from iTerm2-Color-Schemes. Each theme can render directly into TerminalConfiguration and participate in light/dark switching.
Catalog lookup
import GhosttyTheme
let theme = GhosttyThemeCatalog.theme(named: "Dracula")
let matches = GhosttyThemeCatalog.search("solarized")
let all = GhosttyThemeCatalog.allThemes
Apply to a terminal
Wrap one or two definitions in TerminalTheme, then assign it to the controller or state container.
import GhosttyTerminal
import GhosttyTheme
let dark = GhosttyThemeCatalog.theme(named: "Dracula")!
let light = GhosttyThemeCatalog.theme(named: "Solarized Light")!
let theme = TerminalTheme(
light: light.toTerminalConfiguration(),
dark: dark.toTerminalConfiguration()
)
terminal.setTheme(theme)
TerminalSurfaceView follows the SwiftUI color scheme and asks TerminalController to resolve the effective config for the active appearance.
Custom colors
let config = TerminalConfiguration.default
.background("#101010")
.foreground("#f0f0f0")
.cursorColor("#ffd866")
.selectionBackground("#334455")
.palette(0, color: "#1b1d23")
.palette(1, color: "#ef6155")
terminal.setTerminalConfiguration(config)