pub struct UiConfig {Show 19 fields
pub tool_output_mode: ToolOutputMode,
pub tool_output_max_lines: usize,
pub tool_output_spool_bytes: usize,
pub tool_output_spool_dir: Option<String>,
pub allow_tool_ansi: bool,
pub inline_viewport_rows: u16,
pub reasoning_display_mode: ReasoningDisplayMode,
pub reasoning_visible_default: bool,
pub status_line: StatusLineConfig,
pub keyboard_protocol: KeyboardProtocolConfig,
pub layout_mode: LayoutModeOverride,
pub display_mode: UiDisplayMode,
pub show_sidebar: bool,
pub dim_completed_todos: bool,
pub message_block_spacing: bool,
pub minimum_contrast: f64,
pub bold_is_bright: bool,
pub safe_colors_only: bool,
pub color_scheme_mode: ColorSchemeMode,
}Fields§
§tool_output_mode: ToolOutputModeTool output display mode (“compact” or “full”)
tool_output_max_lines: usizeMaximum number of lines to display in tool output (prevents transcript flooding)
tool_output_spool_bytes: usizeMaximum bytes of output to display before auto-spooling to disk
tool_output_spool_dir: Option<String>Optional custom directory for spooled tool output logs
allow_tool_ansi: boolAllow ANSI escape sequences in tool output (enables colors but may cause layout issues)
inline_viewport_rows: u16Number of rows to allocate for inline UI viewport
reasoning_display_mode: ReasoningDisplayModeReasoning display mode for chat UI (“always”, “toggle”, or “hidden”)
reasoning_visible_default: boolDefault visibility for reasoning when display mode is “toggle”
status_line: StatusLineConfigStatus line configuration settings
keyboard_protocol: KeyboardProtocolConfigKeyboard protocol enhancements for modern terminals (e.g. Kitty protocol)
layout_mode: LayoutModeOverrideOverride the responsive layout mode
display_mode: UiDisplayModeUI display mode preset (full, minimal, focused)
Show the right sidebar (queue, context, tools)
dim_completed_todos: boolDim completed todo items (- [x]) in agent output
message_block_spacing: boolAdd spacing between message blocks
minimum_contrast: f64Minimum contrast ratio for text against background (WCAG 2.1 standard)
- 4.5: WCAG AA (default, suitable for most users)
- 7.0: WCAG AAA (enhanced, for low-vision users)
- 3.0: Large text minimum
- 1.0: Disable contrast enforcement
bold_is_bright: boolCompatibility mode for legacy terminals that map bold to bright colors. When enabled, avoids using bold styling on text that would become bright colors, preventing visibility issues in terminals with “bold is bright” behavior.
safe_colors_only: boolRestrict color palette to the 11 “safe” ANSI colors portable across common themes. Safe colors: red, green, yellow, blue, magenta, cyan + brred, brgreen, brmagenta, brcyan Problematic colors avoided: brblack (invisible in Solarized Dark), bryellow (light themes), white/brwhite (light themes), brblue (Basic Dark). See: https://blog.xoria.org/terminal-colors/
color_scheme_mode: ColorSchemeModeColor scheme mode for automatic light/dark theme switching.
- “auto”: Detect from terminal (via OSC 11 or COLORFGBG env var)
- “light”: Force light mode theme selection
- “dark”: Force dark mode theme selection
Trait Implementations§
Source§impl<'de> Deserialize<'de> for UiConfig
impl<'de> Deserialize<'de> for UiConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for UiConfig
impl JsonSchema for UiConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for UiConfig
impl RefUnwindSafe for UiConfig
impl Send for UiConfig
impl Sync for UiConfig
impl Unpin for UiConfig
impl UnsafeUnpin for UiConfig
impl UnwindSafe for UiConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more