core-agent-ide/codex-rs/protocol/src
Helmut Januschka 7daaabc795
fix: add tui.alternate_screen config and --no-alt-screen CLI flag for Zellij scrollback (#8555)
Fixes #2558

Codex uses alternate screen mode (CSI 1049) which, per xterm spec,
doesn't support scrollback. Zellij follows this strictly, so users can't
scroll back through output.

**Changes:**
- Add `tui.alternate_screen` config: `auto` (default), `always`, `never`
- Add `--no-alt-screen` CLI flag
- Auto-detect Zellij and skip alt screen (uses existing `ZELLIJ` env var
detection)

**Usage:**
```bash
# CLI flag
codex --no-alt-screen

# Or in config.toml
[tui]
alternate_screen = "never"
```

With default `auto` mode, Zellij users get working scrollback without
any config changes.

---------

Co-authored-by: Josh McKinney <joshka@openai.com>
2026-01-09 18:38:26 +00:00
..
account.rs fix: move account struct to app-server-protocol and use camelCase (#5829) 2025-10-27 14:06:13 -07:00
approvals.rs Removed experimental "command risk assessment" feature (#7799) 2025-12-10 09:48:11 -08:00
config_types.rs fix: add tui.alternate_screen config and --no-alt-screen CLI flag for Zellij scrollback (#8555) 2026-01-09 18:38:26 +00:00
custom_prompts.rs [app-server] remove serde(skip_serializing_if = "Option::is_none") annotations (#5939) 2025-10-30 18:18:53 +00:00
items.rs [app-server] small fixes for JSON schema export and one-of types (#6614) 2025-11-13 16:25:17 -08:00
lib.rs chore: unify conversation with thread name (#8830) 2026-01-07 17:04:53 +00:00
message_history.rs Generate JSON schema for app-server protocol (#5063) 2025-10-20 11:45:11 -07:00
models.rs nit: parse_arguments (#8927) 2026-01-08 19:49:17 +00:00
num_format.rs Auto compact at ~90% (#5292) 2025-10-20 11:29:49 -07:00
openai_models.rs Merge Modelfamily into modelinfo (#8763) 2026-01-07 10:35:09 -08:00
parse_command.rs [app-server] remove serde(skip_serializing_if = "Option::is_none") annotations (#5939) 2025-10-30 18:18:53 +00:00
plan_tool.rs [app-server] remove serde(skip_serializing_if = "Option::is_none") annotations (#5939) 2025-10-30 18:18:53 +00:00
protocol.rs renaming: task to turn (#8963) 2026-01-09 17:31:17 +00:00
thread_id.rs chore: unify conversation with thread name (#8830) 2026-01-07 17:04:53 +00:00
user_input.rs Inject SKILL.md when it's explicitly mentioned. (#7763) 2025-12-10 13:59:17 -08:00