tui: • Working, 100% context dim (#4629)

- add a `•` before the "Working" shimmer
- make the percentage in "X% context left" dim instead of bold

<img width="751" height="480" alt="Screenshot 2025-10-02 at 2 29 57 PM"
src="https://github.com/user-attachments/assets/cf3e771f-ddb3-48f4-babe-1eaf1f0c2959"
/>
This commit is contained in:
Jeremy Rose
2025-10-02 18:17:34 -07:00
committed by GitHub
parent 1d94b9111c
commit 9617b69c8a
11 changed files with 12 additions and 12 deletions

View File

@@ -222,7 +222,7 @@ fn context_window_line(percent: Option<u8>) -> Line<'static> {
let mut spans: Vec<Span<'static>> = Vec::new();
match percent {
Some(percent) => {
spans.push(format!("{percent}%").bold());
spans.push(format!("{percent}%").dim());
spans.push(" context left".dim());
}
None => {

View File

@@ -716,8 +716,8 @@ mod tests {
top.push(buf[(x, 1)].symbol().chars().next().unwrap_or(' '));
}
assert!(
top.trim_start().starts_with("Working"),
"expected top row to start with 'Working': {top:?}"
top.trim_start().starts_with("Working"),
"expected top row to start with 'Working': {top:?}"
);
assert!(
top.contains("Working"),

View File

@@ -2,5 +2,5 @@
source: tui/src/chatwidget/tests.rs
expression: terminal.backend()
---
" Thinking (0s • esc to interrupt) "
" Thinking (0s • esc to interrupt) "
" Ask Codex to do anything "

View File

@@ -9,7 +9,7 @@ expression: term.backend().vt100().screen().contents()
└ Search Change Approved
Read diff_render.rs
Investigating rendering code (0s • esc to interrupt)
Investigating rendering code (0s • esc to interrupt)
Summarize recent commits

View File

@@ -3,7 +3,7 @@ source: tui/src/chatwidget/tests.rs
expression: terminal.backend()
---
" "
" Analyzing (0s • esc to interrupt) "
" Analyzing (0s • esc to interrupt) "
" "
" "
" Ask Codex to do anything "

View File

@@ -146,7 +146,7 @@ fn render_changes_block(rows: Vec<Row>, wrap_cols: usize, cwd: &Path) -> Vec<RtL
let total_removed: usize = rows.iter().map(|r| r.removed).sum();
let file_count = rows.len();
let noun = if file_count == 1 { "file" } else { "files" };
let mut header_spans: Vec<RtSpan<'static>> = vec!["".into()];
let mut header_spans: Vec<RtSpan<'static>> = vec!["".dim()];
if let [row] = &rows[..] {
let verb = match &row.change {
FileChange::Add { .. } => "Added",

View File

@@ -994,7 +994,7 @@ impl HistoryCell for PlanUpdateCell {
indented_lines.extend(render_step(status, step));
}
}
lines.extend(prefix_lines(indented_lines, "".into(), " ".into()));
lines.extend(prefix_lines(indented_lines, "".dim(), " ".into()));
lines
}

View File

@@ -2,5 +2,5 @@
source: tui/src/status_indicator_widget.rs
expression: terminal.backend()
---
" Working (0s • esc "
" Working (0s • esc "
" "

View File

@@ -2,7 +2,7 @@
source: tui/src/status_indicator_widget.rs
expression: terminal.backend()
---
" Working (0s • esc to interrupt) "
" Working (0s • esc to interrupt) "
" "
" ↳ first "
" ↳ second "

View File

@@ -2,5 +2,5 @@
source: tui/src/status_indicator_widget.rs
expression: terminal.backend()
---
" Working (0s • esc to interrupt) "
" Working (0s • esc to interrupt) "
" "

View File

@@ -160,7 +160,7 @@ impl WidgetRef for StatusIndicatorWidget {
let pretty_elapsed = fmt_elapsed_compact(elapsed);
// Plain rendering: no borders or padding so the live cell is visually indistinguishable from terminal scrollback.
let mut spans = vec![" ".into()];
let mut spans = vec![" ".dim()];
spans.extend(shimmer_spans(&self.header));
spans.extend(vec![
" ".into(),