From 2ccf93e1778eddbb8c30574b10782ef8d8620e4d Mon Sep 17 00:00:00 2001 From: Felipe Coury Date: Mon, 27 Apr 2026 13:16:22 -0300 Subject: [PATCH] feat(tui): shrink session header logo --- codex-rs/tui/src/history_cell.rs | 48 ++++++++----------- ...ter_long_transcript_fresh_header_only.snap | 18 ++++--- ...eader_fast_status_fast_capable_models.snap | 18 ++++--- ...s__session_header_indicates_yolo_mode.snap | 20 ++++---- ...nfo_availability_nux_tooltip_snapshot.snap | 20 ++++---- 5 files changed, 55 insertions(+), 69 deletions(-) diff --git a/codex-rs/tui/src/history_cell.rs b/codex-rs/tui/src/history_cell.rs index e67c6b6411..f37f6ab2d5 100644 --- a/codex-rs/tui/src/history_cell.rs +++ b/codex-rs/tui/src/history_cell.rs @@ -1051,43 +1051,37 @@ impl HistoryCell for CompletedMcpToolCallWithImageOutput { } } -const CODEX_LOGO_LINES: [&str; 8] = [ - " ⢀⣠⣤⣤⣄⡀", - " ⣠⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄", - " ⣴⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡆", - "⢰⣿⣿⣿⣄⠈⢿⣿⣿⣿⣿⣿⣿⣿⣧", - " ⢻⣿⣿⠏⢀⣾⣿⠿⠿⠿⠿⣿⣿⣿⡇", - " ⢸⣿⣿⣶⣿⣿⣿⣶⣶⣶⣶⣿⣿⡟", - " ⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠁", - " ⠉⠉⠙⠻⠿⠿⠟⠋", +const CODEX_LOGO_LINES: [&str; 6] = [ + " ⢀⣴⣶⣶⣦⣤⣤⣀", + "⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣷", + "⣾⣿⣷⡀⢻⣿⣿⣿⣿⣿⣿⡄", + "⠘⣿⣿⠁⣼⣿⠛⠛⠛⣿⣿⣿", + " ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁", + " ⠈⠛⠛⠻⢿⣿⣿⠿⠃", ]; -const CODEX_LOGO_WIDTH: usize = 16; +const CODEX_LOGO_WIDTH: usize = 12; const CODEX_LOGO_GAP_WIDTH: usize = 2; const SESSION_HEADER_TEXT_MAX_INNER_WIDTH: usize = 56; // Just an eyeballed value pub(crate) const SESSION_HEADER_MAX_INNER_WIDTH: usize = CODEX_LOGO_WIDTH + CODEX_LOGO_GAP_WIDTH + SESSION_HEADER_TEXT_MAX_INNER_WIDTH; -const CODEX_LOGO_BRIGHT_GRADIENT: [(u8, u8, u8); 8] = [ +const CODEX_LOGO_BRIGHT_GRADIENT: [(u8, u8, u8); 6] = [ (169, 162, 255), - (151, 161, 255), - (130, 160, 255), - (112, 143, 255), - (88, 119, 255), - (75, 96, 255), - (63, 78, 250), + (143, 161, 255), + (116, 146, 255), + (85, 114, 255), + (68, 85, 252), (49, 66, 245), ]; -const CODEX_LOGO_DARK_GRADIENT: [(u8, u8, u8); 8] = [ +const CODEX_LOGO_DARK_GRADIENT: [(u8, u8, u8); 6] = [ (82, 72, 190), - (69, 85, 205), - (55, 101, 218), - (43, 112, 225), - (35, 96, 216), - (31, 77, 200), - (28, 58, 180), + (63, 91, 210), + (45, 110, 224), + (34, 92, 213), + (29, 66, 188), (24, 43, 155), ]; -fn codex_logo_gradient_for_bg(terminal_bg: Option<(u8, u8, u8)>) -> [(u8, u8, u8); 8] { +fn codex_logo_gradient_for_bg(terminal_bg: Option<(u8, u8, u8)>) -> [(u8, u8, u8); 6] { if terminal_bg.is_some_and(crate::color::is_light) { CODEX_LOGO_DARK_GRADIENT } else { @@ -4164,8 +4158,8 @@ mod tests { let title_column = title_line.find("OpenAI Codex").expect("title"); assert!(logo_column < title_column); - assert_eq!(lines.len(), 10); - assert_eq!(lines[3], title_line.as_str()); + assert_eq!(lines.len(), 8); + assert_eq!(lines[2], title_line.as_str()); } #[test] diff --git a/codex-rs/tui/src/snapshots/codex_tui__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap b/codex-rs/tui/src/snapshots/codex_tui__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap index 8bda989c07..5e15d1cc17 100644 --- a/codex-rs/tui/src/snapshots/codex_tui__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap @@ -3,13 +3,11 @@ source: tui/src/app.rs assertion_line: 10814 expression: rendered --- -╭───────────────────────────────────────────────────────────────╮ -│ ⢀⣠⣤⣤⣄⡀ │ -│ ⣠⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄ │ -│ ⣴⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡆ >_ OpenAI Codex (v) │ -│ ⢰⣿⣿⣿⣄⠈⢿⣿⣿⣿⣿⣿⣿⣿⣧ │ -│ ⢻⣿⣿⠏⢀⣾⣿⠿⠿⠿⠿⣿⣿⣿⡇ model: gpt-test high /model to change │ -│ ⢸⣿⣿⣶⣿⣿⣿⣶⣶⣶⣶⣿⣿⡟ directory: /tmp/project │ -│ ⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠁ │ -│ ⠉⠉⠙⠻⠿⠿⠟⠋ │ -╰───────────────────────────────────────────────────────────────╯ +╭───────────────────────────────────────────────────────────╮ +│ ⢀⣴⣶⣶⣦⣤⣤⣀ │ +│ ⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣷ >_ OpenAI Codex (v) │ +│ ⣾⣿⣷⡀⢻⣿⣿⣿⣿⣿⣿⡄ │ +│ ⠘⣿⣿⠁⣼⣿⠛⠛⠛⣿⣿⣿ model: gpt-test high /model to change │ +│ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁ directory: /tmp/project │ +│ ⠈⠛⠛⠻⢿⣿⣿⠿⠃ │ +╰───────────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui/src/snapshots/codex_tui__app__tests__clear_ui_header_fast_status_fast_capable_models.snap b/codex-rs/tui/src/snapshots/codex_tui__app__tests__clear_ui_header_fast_status_fast_capable_models.snap index 6d0b33b867..312da735c2 100644 --- a/codex-rs/tui/src/snapshots/codex_tui__app__tests__clear_ui_header_fast_status_fast_capable_models.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__app__tests__clear_ui_header_fast_status_fast_capable_models.snap @@ -3,13 +3,11 @@ source: tui/src/app.rs assertion_line: 10856 expression: rendered --- -╭──────────────────────────────────────────────────────────────────────╮ -│ ⢀⣠⣤⣤⣄⡀ │ -│ ⣠⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄ │ -│ ⣴⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡆ >_ OpenAI Codex (v) │ -│ ⢰⣿⣿⣿⣄⠈⢿⣿⣿⣿⣿⣿⣿⣿⣧ │ -│ ⢻⣿⣿⠏⢀⣾⣿⠿⠿⠿⠿⣿⣿⣿⡇ model: gpt-5.4 xhigh fast /model to change │ -│ ⢸⣿⣿⣶⣿⣿⣿⣶⣶⣶⣶⣿⣿⡟ directory: /tmp/project │ -│ ⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠁ │ -│ ⠉⠉⠙⠻⠿⠿⠟⠋ │ -╰──────────────────────────────────────────────────────────────────────╯ +╭──────────────────────────────────────────────────────────────────╮ +│ ⢀⣴⣶⣶⣦⣤⣤⣀ │ +│ ⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣷ >_ OpenAI Codex (v) │ +│ ⣾⣿⣷⡀⢻⣿⣿⣿⣿⣿⣿⡄ │ +│ ⠘⣿⣿⠁⣼⣿⠛⠛⠛⣿⣿⣿ model: gpt-5.4 xhigh fast /model to change │ +│ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁ directory: /tmp/project │ +│ ⠈⠛⠛⠻⢿⣿⣿⠿⠃ │ +╰──────────────────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__session_header_indicates_yolo_mode.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__session_header_indicates_yolo_mode.snap index 269456350c..96a76fcd61 100644 --- a/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__session_header_indicates_yolo_mode.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__session_header_indicates_yolo_mode.snap @@ -1,15 +1,13 @@ --- source: tui/src/history_cell.rs -assertion_line: 4216 +assertion_line: 4236 expression: rendered --- -╭─────────────────────────────────────────────────────────╮ -│ ⢀⣠⣤⣤⣄⡀ │ -│ ⣠⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄ >_ OpenAI Codex (vtest) │ -│ ⣴⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡆ │ -│ ⢰⣿⣿⣿⣄⠈⢿⣿⣿⣿⣿⣿⣿⣿⣧ model: gpt-5 /model to change │ -│ ⢻⣿⣿⠏⢀⣾⣿⠿⠿⠿⠿⣿⣿⣿⡇ directory: /tmp/project │ -│ ⢸⣿⣿⣶⣿⣿⣿⣶⣶⣶⣶⣿⣿⡟ permissions: YOLO mode │ -│ ⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠁ │ -│ ⠉⠉⠙⠻⠿⠿⠟⠋ │ -╰─────────────────────────────────────────────────────────╯ +╭─────────────────────────────────────────────────────╮ +│ ⢀⣴⣶⣶⣦⣤⣤⣀ >_ OpenAI Codex (vtest) │ +│ ⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣷ │ +│ ⣾⣿⣷⡀⢻⣿⣿⣿⣿⣿⣿⡄ model: gpt-5 /model to change │ +│ ⠘⣿⣿⠁⣼⣿⠛⠛⠛⣿⣿⣿ directory: /tmp/project │ +│ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁ permissions: YOLO mode │ +│ ⠈⠛⠛⠻⢿⣿⣿⠿⠃ │ +╰─────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap index a6d4a974e1..ba721ac55d 100644 --- a/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap @@ -1,17 +1,15 @@ --- source: tui/src/history_cell.rs -assertion_line: 3293 +assertion_line: 3288 expression: rendered --- -╭───────────────────────────────────────────────────────╮ -│ ⢀⣠⣤⣤⣄⡀ │ -│ ⣠⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄ │ -│ ⣴⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡆ >_ OpenAI Codex (v0.0.0) │ -│ ⢰⣿⣿⣿⣄⠈⢿⣿⣿⣿⣿⣿⣿⣿⣧ │ -│ ⢻⣿⣿⠏⢀⣾⣿⠿⠿⠿⠿⣿⣿⣿⡇ model: gpt-5 /model to change │ -│ ⢸⣿⣿⣶⣿⣿⣿⣶⣶⣶⣶⣿⣿⡟ directory: /tmp/project │ -│ ⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠁ │ -│ ⠉⠉⠙⠻⠿⠿⠟⠋ │ -╰───────────────────────────────────────────────────────╯ +╭───────────────────────────────────────────────────╮ +│ ⢀⣴⣶⣶⣦⣤⣤⣀ │ +│ ⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣷ >_ OpenAI Codex (v0.0.0) │ +│ ⣾⣿⣷⡀⢻⣿⣿⣿⣿⣿⣿⡄ │ +│ ⠘⣿⣿⠁⣼⣿⠛⠛⠛⣿⣿⣿ model: gpt-5 /model to change │ +│ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁ directory: /tmp/project │ +│ ⠈⠛⠛⠻⢿⣿⣿⠿⠃ │ +╰───────────────────────────────────────────────────╯ Tip: Model just became available