Skip to content

TUI: add config option to hide message source labels #488

@bug-ops

Description

@bug-ops

Problem

Every chat message displays a source label prefix ([user], [zeph], [bash], [mcp], etc.). These labels add visual noise and are often redundant since message styling (color) already distinguishes roles. There is no way to disable them.

Proposed solution

Add a [tui] config section with show_source_labels = false (default).

Changes

  1. crates/zeph-core/src/config/types.rs — add TuiConfig struct:

    pub struct TuiConfig {
        pub show_source_labels: bool, // default: false
    }

    Add pub tui: TuiConfig field to root Config.

  2. config/default.toml — add section:

    [tui]
    show_source_labels = false
  3. crates/zeph-tui/src/widgets/chat.rs — conditionally render labels:

    • Lines ~116-121: skip [user]/[zeph]/[system] prefix when disabled
    • Lines ~224-225: skip [bash]/[mcp] tool name prefix when disabled
    • Adjust indent calculation accordingly
  4. Thread config to chat widget — pass show_source_labels bool through the existing render path (the App struct already has access to config).

Notes

  • Default is false (labels hidden) since message colors already indicate the source
  • Env override: ZEPH_TUI__SHOW_SOURCE_LABELS=true

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions