9d05e6c293
Users reported a "scroll demon" — visible thrash where the display would flicker / scroll / redraw spuriously while moving the mouse. Root cause: the #376 native-selection escape hatch watched every mouse event for `KeyModifiers::SHIFT`, and on each transition (Shift pressed → released, or vice versa) it: 1. Toggled the alt-screen mouse-capture mode via crossterm execute!(DisableMouseCapture / EnableMouseCapture). 2. Pushed a status toast ("Native selection — release Shift to return" / "Mouse capture restored"). On terminals that report mouse-event modifier state aggressively (notably the modern xterm-modifyOtherKeys / Kitty keyboard protocol family the v0.8.32 Windows fix in PR #1483 just turned on more broadly), the bypass would flip on stray Shift state changes during ordinary scrolling — producing a tight cycle of mouse-capture toggles and toast renders that the user perceived as the display going haywire. The feature was never load-bearing for native text selection on modern terminals: macOS Terminal and iTerm honor Option-drag (macOS convention), most Linux terminals honor Shift-drag at the terminal layer regardless of what the TUI does with mouse events, and Windows Terminal exposes its own copy mode. The in-TUI bypass was a workaround for a narrower set of terminals that bowed out of relevance once we got mouse capture cleaner elsewhere. Removed: - `let mut shift_bypass_active = false;` state on `ui::run_app` - The mouse-event Shift-modifier branch that flipped capture modes and emitted toasts - The 5-second redraw nudge that the toast cycle implied Net delta: 23 lines deleted, 0 added. Mouse capture stays on for the whole session (or off when `--no-mouse-capture` is set at launch), and stray Shift events on mouse move are now ordinary mouse events. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>