Move fullscreen transcript control to TUI configuration (#46849)

## What changed

Use `tui.fullscreen_transcript` to opt into the fullscreen transcript, including scrolling, selection, and search. It defaults to `false`; `--no-alt-screen` and `tui.alternate_screen = "never"` still take precedence.

The new preference controls both the first frame and application startup. Boolean CLI overrides for it are allowed during daemon startup. The old `features.transcript_v2` flag is deprecated and ignored, with a notice directing users to the new setting; it does not migrate into or override the preference.

## Testing

Add coverage for default terminal scrollback, fullscreen persistence through startup, alternate-screen restrictions, daemon override validation, and independence from the deprecated flag. Update existing history and activity tests to use the new preference.

GitOrigin-RevId: 4117bf1ee548fa8d101a594f9506673d87c74c15
This commit is contained in:
Eric Traut
2026-09-20 16:59:00 +00:00
committed by copyberry
parent 79ef00ded1
commit a2de8fedcc
20 changed files with 106 additions and 75 deletions
+5
View File
@@ -793,6 +793,11 @@ pub struct Tui {
#[serde(default)]
pub raw_output_mode: bool,
/// Own the fullscreen transcript, including scrolling, selection, and search.
/// Defaults to `false`; alternate-screen restrictions take precedence.
#[serde(default)]
pub fullscreen_transcript: bool,
/// Controls whether the TUI uses the terminal's alternate screen buffer.
///
/// - `auto` (default): Use alternate screen.