← Schema index / Config Reference

tui schema (1801-1950)

Canonical generated docsThis section is generated from caco config schema --json. The table below preserves the runtime field path, type, required/default markers, and canonical description for every value in this slice.

TUI configuration — terminal dashboard settings.

Field pathTypeRequiredDefaultCanonical description
└ tui.ghostty.shader.surfaces.popup.inactivemapoptionalLook while the pane is not focused.
└ tui.ghostty.shader.surfaces.popup.inactive.materialstringoptionalInterior material while unfocused.
└ tui.ghostty.shader.surfaces.popup.inactive.borderstringoptionalBorder light while unfocused.
└ tui.ghostty.shader.surfaces.popup.inactive.strengthintegeroptionalStrength percentage while unfocused, 0-300.
└ tui.ghostty.shader.eventsmapoptionalEvent pulse styles by event kind: info, success, attention, error, operator.
└ tui.ghostty.shader.events.infomapoptionalRoutine messages and unclassified feed events.
└ tui.ghostty.shader.events.info.effectstringoptionalPulse effect: none, ripple, flare, sweep, firework.
└ tui.ghostty.shader.events.info.colorstringoptionalHex colour, accent or secondary.
└ tui.ghostty.shader.events.info.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shader.events.info.duration_msintegeroptionalPulse duration in milliseconds, 200-4000.
└ tui.ghostty.shader.events.successmapoptionalCompletions, merges and releases.
└ tui.ghostty.shader.events.success.effectstringoptionalPulse effect: none, ripple, flare, sweep, firework.
└ tui.ghostty.shader.events.success.colorstringoptionalHex colour, accent or secondary.
└ tui.ghostty.shader.events.success.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shader.events.success.duration_msintegeroptionalPulse duration in milliseconds, 200-4000.
└ tui.ghostty.shader.events.attentionmapoptionalQuestions, approvals, choices and blocked work.
└ tui.ghostty.shader.events.attention.effectstringoptionalPulse effect: none, ripple, flare, sweep, firework.
└ tui.ghostty.shader.events.attention.colorstringoptionalHex colour, accent or secondary.
└ tui.ghostty.shader.events.attention.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shader.events.attention.duration_msintegeroptionalPulse duration in milliseconds, 200-4000.
└ tui.ghostty.shader.events.errormapoptionalFailures and errors.
└ tui.ghostty.shader.events.error.effectstringoptionalPulse effect: none, ripple, flare, sweep, firework.
└ tui.ghostty.shader.events.error.colorstringoptionalHex colour, accent or secondary.
└ tui.ghostty.shader.events.error.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shader.events.error.duration_msintegeroptionalPulse duration in milliseconds, 200-4000.
└ tui.ghostty.shader.events.operatormapoptionalYour own sent messages.
└ tui.ghostty.shader.events.operator.effectstringoptionalPulse effect: none, ripple, flare, sweep, firework.
└ tui.ghostty.shader.events.operator.colorstringoptionalHex colour, accent or secondary.
└ tui.ghostty.shader.events.operator.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shader.events.operator.duration_msintegeroptionalPulse duration in milliseconds, 200-4000.
└ tui.ghostty.shader.statesmapoptionalLive agent-state auras on agent panes and the sidebar: working, attention, error, done, waiting.
└ tui.ghostty.shader.states.workingmapoptionalRunning with recent tool activity.
└ tui.ghostty.shader.states.working.effectstringoptionalAura effect: none, shimmer, heartbeat, glitch, glow.
└ tui.ghostty.shader.states.working.colorstringoptionalHex colour, accent or secondary.
└ tui.ghostty.shader.states.working.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shader.states.attentionmapoptionalWaiting, blocked, paused or stalled.
└ tui.ghostty.shader.states.attention.effectstringoptionalAura effect: none, shimmer, heartbeat, glitch, glow.
└ tui.ghostty.shader.states.attention.colorstringoptionalHex colour, accent or secondary.
└ tui.ghostty.shader.states.attention.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shader.states.errormapoptionalFailed.
└ tui.ghostty.shader.states.error.effectstringoptionalAura effect: none, shimmer, heartbeat, glitch, glow.
└ tui.ghostty.shader.states.error.colorstringoptionalHex colour, accent or secondary.
└ tui.ghostty.shader.states.error.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shader.states.donemapoptionalCompleted.
└ tui.ghostty.shader.states.done.effectstringoptionalAura effect: none, shimmer, heartbeat, glitch, glow.
└ tui.ghostty.shader.states.done.colorstringoptionalHex colour, accent or secondary.
└ tui.ghostty.shader.states.done.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shader.states.waitingmapoptionalAttention that has persisted for 20 s.
└ tui.ghostty.shader.states.waiting.effectstringoptionalAura effect: none, shimmer, heartbeat, glitch, glow.
└ tui.ghostty.shader.states.waiting.colorstringoptionalHex colour, accent or secondary.
└ tui.ghostty.shader.states.waiting.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shader.unfocusedstringoptionalTreatment of panes other than the focused one: dim, frost, deep, fade, phosphor, cool, sketch, hologram, recede, fog, wet, sepia, derez, blur. Defaults to the preset's.
└ tui.ghostty.shader.inputmapoptionalPointer, click and keystroke effects; omitted parts come from the preset.
└ tui.ghostty.shader.input.pointerstringoptionalLight following the pointer: none, glow, lantern, reticle, lens, magnify, spotlight, magnet, prism, haze.
└ tui.ghostty.shader.input.clickstringoptionalClick effect: none, shockwave, burst, ping, derez, ink, bloom, shatter, swirl. Scrolling sends speed lines whenever one is set.
└ tui.ghostty.shader.input.keysstringoptionalKeystroke effect at the text cursor or focused input: none, sparks, glitch, ripple, flash, heat.
└ tui.ghostty.shader.input.colorstringoptionalHex colour, accent or secondary.
└ tui.ghostty.shader.input.lensmapoptionalA magnifying lens over the pointer, on any look. Ctrl+Alt+Z shows or hides it.
└ tui.ghostty.shader.input.lens.modestringoptionalpointerWhen it shows: pointer (while the pointer moves), toggle (from Ctrl+Alt+Z), always, or off.
└ tui.ghostty.shader.input.lens.zoomintoptional180Magnification percentage, 120-400.
└ tui.ghostty.shader.input.lens.radiusintoptional4Radius in text rows, 1-12.
└ tui.ghostty.shader.input.hoverstringoptionalbothWhat answers the pointer: controls (buttons light, tabs and links underline), panes (the border nearest the pointer lights), both, or none.
└ tui.ghostty.shader.textmapoptionalArriving text and the freshest arrival; omitted parts come from the preset.
└ tui.ghostty.shader.text.revealstringoptionalsweepHow a new chat message draws in: sweep (row by row behind a caret of light), dissolve, glow, or none.
└ tui.ghostty.shader.text.freshstringoptionalhaloHow the freshest arrival is marked: halo (a glow round its box that settles), sheen (and a band of light across it), or none.
└ tui.ghostty.shader.text.strengthintoptional100Strength percentage, 0-300.
└ tui.ghostty.shader.captionsbooloptionaltrueBriefly name the event behind each pulse in the footer.
└ tui.ghostty.shader.source_highlightbooloptionaltrueFlash the row or input that caused a pulse before it spreads.
└ tui.ghostty.shadersmap[string, map]optionalNamed shader looks selectable with tui.shader_name, caco tui --shader and Ctrl+Alt+S. Each entry is a full shader block; a name shadows the built-in look of the same name.
└ tui.ghostty.shaders.enablebooloptionalfalseEnable the live shader.
└ tui.ghostty.shaders.pathstringoptionalExplicit .glsl shader; receives the same palette payload. Defaults to the bundled Lumen shader.
└ tui.ghostty.shaders.animationbooloptionaltrueGhostty custom-shader-animation: animate the focused surface every display frame.
└ tui.ghostty.shaders.reduced_motionbooloptionalfalseBundled shader only: freeze materials, use steady borders and state light, and disable pulses, grain, cursor trails and focus glides. Explicit path shaders are unchanged.
└ tui.ghostty.shaders.intensityintegeroptional100Overall effect strength percentage, 0-200.
└ tui.ghostty.shaders.accentstringoptionalPrimary light colour (hex). Defaults to the theme accent.
└ tui.ghostty.shaders.secondarystringoptionalSecondary light colour (hex). Defaults to the theme purple.
└ tui.ghostty.shaders.reactivebooloptionaltrueDrive energy and event pulses from live fleet activity.
└ tui.ghostty.shaders.effectsmapoptionalIndividual effect layers; omitted layers are enabled.
└ tui.ghostty.shaders.effects.bloombooloptionaltrueNeon bloom around saturated, luminous UI chrome.
└ tui.ghostty.shaders.effects.aurorabooloptionaltrueAurora light inside the focused pane, scaled by fleet energy.
└ tui.ghostty.shaders.effects.spotlightbooloptionaltrueGently dim panes other than the focused one.
└ tui.ghostty.shaders.effects.ripplebooloptionaltrueRefracting light waves for fleet events.
└ tui.ghostty.shaders.effects.halobooloptionaltrueHalo and travelling light around the focused pane border.
└ tui.ghostty.shaders.effects.vignettebooloptionaltrueSoft edge vignette.
└ tui.ghostty.shaders.effects.cursor_trailbooloptionaltrueLight trail behind the visible text cursor.
└ tui.ghostty.shaders.effects.inputbooloptionaltruePointer, click and keystroke effects for every look.
└ tui.ghostty.shaders.effects.textbooloptionaltrueArriving text drawing in and the freshest arrival glowing, for every look.
└ tui.ghostty.shaders.presetstringoptionallumenLook preset for omitted settings: lumen, subtle, calm, minimal, glass, neon, crt, synthwave, vapor, prism, cosmos, abyss, winter, forge, storm, mainframe, matrix, amber, noir, blueprint, gridrunner, lava, fireflies, rainfall, sonar, netrunner, zen, cathedral, singularity, festival, biolab, inkwell, hologram, deepsea, arcade, observatory, quicksilver, opaline, reef, sumi, synapse, atelier, loom, kaleidoscope, press, foundry, bitmap, banknote, marquee, comic.
└ tui.ghostty.shaders.gradestringoptionalWhole-frame colour grade: none, noir, amber, green, duotone, vapor, teal_orange, sepia, infrared. Defaults to the preset's.
└ tui.ghostty.shaders.renderstringoptionalHow the shader's own light is drawn, leaving text crisp: none, halftone, engrave, led, toon, dither, riso. Defaults to the preset's.
└ tui.ghostty.shaders.qualitystringoptionalbalancedRender quality: low (8 bloom taps), balanced (16), high (24).
└ tui.ghostty.shaders.resolutionstringoptionalautoLight-layer resolution: full, half (once per 2x2 pixels), auto (half on HiDPI).
└ tui.ghostty.shaders.speedintegeroptional100Ambient animation speed percentage, 25-400.
└ tui.ghostty.shaders.tuningmapoptionalPer-layer strengths; omitted values come from the preset.
└ tui.ghostty.shaders.tuning.bloomintegeroptionalBloom strength percentage, 0-300.
└ tui.ghostty.shaders.tuning.bloom_radiusintegeroptionalBloom radius percentage, 25-300.
└ tui.ghostty.shaders.tuning.halointegeroptionalFocus halo and border light strength percentage, 0-300.
└ tui.ghostty.shaders.tuning.cometsintegeroptionalTravelling lights on comet borders, 0-4.
└ tui.ghostty.shaders.tuning.comet_speedintegeroptionalBorder light speed percentage, 10-400.
└ tui.ghostty.shaders.tuning.materialsintegeroptionalPane material strength percentage, 0-300.
└ tui.ghostty.shaders.tuning.unfocused_materialsintegeroptional100Scale for every inactive pane material, percent 0-200.
└ tui.ghostty.shaders.tuning.unfocused_bordersintegeroptional100Scale for every inactive pane border, percent 0-200.
└ tui.ghostty.shaders.tuning.eventsintegeroptionalEvent pulse strength percentage, 0-300.
└ tui.ghostty.shaders.tuning.ripple_reachintegeroptionalRipple reach as a percentage of the screen diagonal, 10-150.
└ tui.ghostty.shaders.tuning.spotlightintegeroptionalDimming of unfocused panes, percent 0-60.
└ tui.ghostty.shaders.tuning.vignetteintegeroptionalVignette strength percentage, 0-100.
└ tui.ghostty.shaders.tuning.grainintegeroptionalFilm grain strength percentage, 0-100.
└ tui.ghostty.shaders.tuning.chromaticintegeroptionalChromatic edge split strength percentage, 0-100.
└ tui.ghostty.shaders.tuning.backdrop_blurintegeroptionalBlur behind an open modal, percent 0-100.
└ tui.ghostty.shaders.tuning.backdrop_dimintegeroptionalDimming behind an open modal, percent 0-100.
└ tui.ghostty.shaders.tuning.depthintegeroptionalHow far the backdrop recedes behind an open modal, percent 0-200.
└ tui.ghostty.shaders.tuning.shadowintegeroptionalShadow cast by modals and popups, percent 0-200.
└ tui.ghostty.shaders.tuning.bloom_thresholdintegeroptional0How bright chrome must be to bloom, percent 0-100.
└ tui.ghostty.shaders.tuning.bloom_tintintegeroptional25Bloom tint toward the accent, percent 0-100.
└ tui.ghostty.shaders.tuning.sharpenintegeroptional0Text sharpening, percent 0-100.
└ tui.ghostty.shaders.tuning.border_widthintegeroptional100Border line thickness, percent 25-300.
└ tui.ghostty.shaders.tuning.border_glowintegeroptional100Border glow spread, percent 25-200.
└ tui.ghostty.shaders.tuning.border_speedintegeroptional100Breathe, pulse, gradient and wave border speed, percent 10-400.
└ tui.ghostty.shaders.tuning.curvatureintegeroptionalCRT screen curvature, percent 0-100.
└ tui.ghostty.shaders.tuning.gradeintegeroptionalColour grade strength, percent 0-100.
└ tui.ghostty.shaders.tuning.renderintegeroptionalRender style strength, percent 0-100.
└ tui.ghostty.shaders.tuning.fillintegeroptionalHow far materials show between letters in text-dense panes, percent 0-100; 0 lights only empty space.
└ tui.ghostty.shaders.tuning.unfocusedintegeroptionalStrength of the unfocused-pane treatment, percent 0-100.
└ tui.ghostty.shaders.tuning.inputintegeroptionalStrength of pointer, click and keystroke effects, percent 0-200.
└ tui.ghostty.shaders.surfacesmapoptionalStyles by pane kind: sidebar, chat, terminal, agent, feed, board, dashboard, other, modal, toast, popup.
└ tui.ghostty.shaders.surfaces.sidebarmapoptionalThe navigation sidebar.
└ tui.ghostty.shaders.surfaces.sidebar.materialstringoptionalInterior material: none, aurora, glass, crt, nebula, holo, backlight, sheen, plasma, starfield, matrix, synthwave, ocean, embers, snow, circuit, topo, bokeh, grid, lava, fireflies, sonar, hex, sand, stained, cells, rain, vortex, fireworks, chrome, opal, caustics, ink, neural, watercolor, silk, kaleido.
└ tui.ghostty.shaders.surfaces.sidebar.borderstringoptionalBorder light: none, halo, comet, breathe, neon, wave, glow, pulse, gradient, corners, rainbow, electric, marching, double, lightcycle, glyphs, constellation, frost, coals, sketch, membrane, beam, lead, brush, filament, ribbon, pearls, fiber.
└ tui.ghostty.shaders.surfaces.sidebar.tintstringoptionalHex tint, accent or secondary.
└ tui.ghostty.shaders.surfaces.sidebar.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shaders.surfaces.sidebar.inactivemapoptionalLook while the pane is not focused.
└ tui.ghostty.shaders.surfaces.sidebar.inactive.materialstringoptionalInterior material while unfocused.
└ tui.ghostty.shaders.surfaces.sidebar.inactive.borderstringoptionalBorder light while unfocused.
└ tui.ghostty.shaders.surfaces.sidebar.inactive.strengthintegeroptionalStrength percentage while unfocused, 0-300.
└ tui.ghostty.shaders.surfaces.chatmapoptionalChat and inbox panes.
└ tui.ghostty.shaders.surfaces.chat.materialstringoptionalInterior material: none, aurora, glass, crt, nebula, holo, backlight, sheen, plasma, starfield, matrix, synthwave, ocean, embers, snow, circuit, topo, bokeh, grid, lava, fireflies, sonar, hex, sand, stained, cells, rain, vortex, fireworks, chrome, opal, caustics, ink, neural, watercolor, silk, kaleido.
└ tui.ghostty.shaders.surfaces.chat.borderstringoptionalBorder light: none, halo, comet, breathe, neon, wave, glow, pulse, gradient, corners, rainbow, electric, marching, double, lightcycle, glyphs, constellation, frost, coals, sketch, membrane, beam, lead, brush, filament, ribbon, pearls, fiber.
└ tui.ghostty.shaders.surfaces.chat.tintstringoptionalHex tint, accent or secondary.
└ tui.ghostty.shaders.surfaces.chat.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shaders.surfaces.chat.inactivemapoptionalLook while the pane is not focused.
└ tui.ghostty.shaders.surfaces.chat.inactive.materialstringoptionalInterior material while unfocused.
└ tui.ghostty.shaders.surfaces.chat.inactive.borderstringoptionalBorder light while unfocused.
└ tui.ghostty.shaders.surfaces.chat.inactive.strengthintegeroptionalStrength percentage while unfocused, 0-300.
└ tui.ghostty.shaders.surfaces.terminalmapoptionalShells and consoles.
└ tui.ghostty.shaders.surfaces.terminal.materialstringoptionalInterior material: none, aurora, glass, crt, nebula, holo, backlight, sheen, plasma, starfield, matrix, synthwave, ocean, embers, snow, circuit, topo, bokeh, grid, lava, fireflies, sonar, hex, sand, stained, cells, rain, vortex, fireworks, chrome, opal, caustics, ink, neural, watercolor, silk, kaleido.
└ tui.ghostty.shaders.surfaces.terminal.borderstringoptionalBorder light: none, halo, comet, breathe, neon, wave, glow, pulse, gradient, corners, rainbow, electric, marching, double, lightcycle, glyphs, constellation, frost, coals, sketch, membrane, beam, lead, brush, filament, ribbon, pearls, fiber.
└ tui.ghostty.shaders.surfaces.terminal.tintstringoptionalHex tint, accent or secondary.
└ tui.ghostty.shaders.surfaces.terminal.strengthintegeroptionalStrength percentage, 0-300.
└ tui.ghostty.shaders.surfaces.terminal.inactivemapoptionalLook while the pane is not focused.
└ tui.ghostty.shaders.surfaces.terminal.inactive.materialstringoptionalInterior material while unfocused.