pub struct StatusLine<'a> {
pub workspace_status: &'a WorkspaceStatus,
pub agent_name: &'a str,
pub config_options: &'a [SessionConfigOption],
pub context_usage: Option<ContextUsageDisplay>,
pub waiting_for_response: bool,
pub unhealthy_server_count: usize,
pub content_padding: usize,
pub exit_confirmation_active: bool,
pub settings: &'a ResolvedStatusLineSettings,
}Expand description
The bottom status bar showing workspace and agent state at a glance.
Built-in segment types:
| Type | Description |
|---|---|
cwd | Current working directory, shortened relative to $HOME |
gitRef | Current git branch or detached HEAD short SHA |
agent | Active agent name |
mode | Current mode/profile (if configured) |
model | Active model name (supports maxWidth) |
reasoning | Reasoning effort bar (visual level indicator) |
context | Context window usage bar (current usage against model limit) |
serverHealth | Unhealthy MCP server count (hidden when not applicable) |
text | Custom static text with an optional semantic style |
Segments that have no data (e.g. gitRef outside a repo, serverHealth when
healthy) are silently omitted.
Segments can be written as string shorthand (e.g. "cwd" or "agent") or object form ({ "type": "cwd" }). Custom text segments support an optional style field with values: primary, secondary, muted, info, success, warning, error.
§Sections
Status lines contain a left and optional right section. If the status line’s width exceeds the terminal width, status lines wrap.
§See also
App— constructs this view each render cycleKeybindings—Tabcycles reasoning,Shift+Tabcycles modeStatusLineSettings— segment configuration
Fields§
§workspace_status: &'a WorkspaceStatus§agent_name: &'a str§config_options: &'a [SessionConfigOption]§context_usage: Option<ContextUsageDisplay>§waiting_for_response: bool§unhealthy_server_count: usize§content_padding: usize§exit_confirmation_active: bool§settings: &'a ResolvedStatusLineSettingsImplementations§
Source§impl StatusLine<'_>
impl StatusLine<'_>
pub fn render(&self, context: &ViewContext) -> Frame
Auto Trait Implementations§
impl<'a> Freeze for StatusLine<'a>
impl<'a> RefUnwindSafe for StatusLine<'a>
impl<'a> Send for StatusLine<'a>
impl<'a> Sync for StatusLine<'a>
impl<'a> Unpin for StatusLine<'a>
impl<'a> UnsafeUnpin for StatusLine<'a>
impl<'a> UnwindSafe for StatusLine<'a>
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>
Converts
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>
Converts
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