diff --git a/codex-rs/core/src/codex.rs b/codex-rs/core/src/codex.rs index 4a4faa84e..eb1bc4f9d 100644 --- a/codex-rs/core/src/codex.rs +++ b/codex-rs/core/src/codex.rs @@ -688,7 +688,7 @@ impl AgentTask { let event = Event { id: self.sub_id, msg: EventMsg::Error(ErrorEvent { - message: "Turn interrupted".to_string(), + message: " Turn interrupted".to_string(), }), }; let tx_event = self.sess.tx_event.clone(); diff --git a/codex-rs/tui/src/bottom_pane/chat_composer.rs b/codex-rs/tui/src/bottom_pane/chat_composer.rs index ea3a4eddb..e53fe0367 100644 --- a/codex-rs/tui/src/bottom_pane/chat_composer.rs +++ b/codex-rs/tui/src/bottom_pane/chat_composer.rs @@ -35,6 +35,8 @@ const BASE_PLACEHOLDER_TEXT: &str = "..."; /// If the pasted content exceeds this number of characters, replace it with a /// placeholder in the UI. const LARGE_PASTE_CHAR_THRESHOLD: usize = 1000; +/// Background color used for the chat composer area. +const COMPOSER_BG_COLOR: Color = Color::Black; /// Result returned when the user interacts with the text area. pub enum InputResult { @@ -735,6 +737,10 @@ impl WidgetRef for &ChatComposer { let mut textarea_rect = textarea_rect; textarea_rect.width = textarea_rect.width.saturating_sub(1); textarea_rect.x += 1; + + // Fill only the textarea content region with a subtle background so it + // doesn't affect the hint line or popups and remains behind the text. + buf.set_style(textarea_rect, Style::default().bg(COMPOSER_BG_COLOR)); let mut state = self.textarea_state.borrow_mut(); StatefulWidgetRef::render_ref(&(&self.textarea), textarea_rect, buf, &mut state); if self.textarea.text().is_empty() { diff --git a/codex-rs/tui/src/history_cell.rs b/codex-rs/tui/src/history_cell.rs index be96a9e9e..8df5340f8 100644 --- a/codex-rs/tui/src/history_cell.rs +++ b/codex-rs/tui/src/history_cell.rs @@ -504,10 +504,8 @@ impl HistoryCell { } pub(crate) fn new_error_event(message: String) -> Self { - let lines: Vec> = vec![ - vec!["ERROR: ".red().bold(), message.into()].into(), - "".into(), - ]; + let lines: Vec> = + vec![vec!["🖐 ".red().bold(), message.into()].into(), "".into()]; HistoryCell::ErrorEvent { view: TextBlock::new(lines), }