Skip to content

feat(tui): enable native text selection via Termina 0.11.0#1359

Merged
Aaronontheweb merged 7 commits into
netclaw-dev:devfrom
Aaronontheweb:claude-wt-termina-0.11.0-upgrade
Jun 9, 2026
Merged

feat(tui): enable native text selection via Termina 0.11.0#1359
Aaronontheweb merged 7 commits into
netclaw-dev:devfrom
Aaronontheweb:claude-wt-termina-0.11.0-upgrade

Conversation

@Aaronontheweb

Copy link
Copy Markdown
Collaborator

Summary

  • Bumps Termina from 0.10.2 to 0.11.0 and configures all TUI surfaces with raw input + alternate-scroll mode, enabling native terminal text selection without holding Shift.
  • Ctrl+C now requires a double-press to exit (standard for raw-input TUI apps).
  • Kitty keyboard mode intentionally omitted — unnecessary for a chat TUI and not widely supported by terminal emulators.

Closes #1340

Test plan

  • 349 TUI unit tests pass
  • dotnet build clean with 0 warnings
  • Copyright headers verified
  • Smoke harness (./scripts/smoke/run-smoke.sh light) — init-wizard tape has a pre-existing sync failure on dev (timeout on "Connect to a private skill server" step), unrelated to this change
  • Manual verification: select and copy text from chat output without Shift
  • Manual verification: double-press Ctrl+C exits the TUI
  • Manual verification: mouse scroll still navigates chat history
  • tmux verification: set -g allow-passthrough on enables native selection in tmux sessions

…etclaw-dev#1340)

Bump Termina to 0.11.0 and configure all TUI surfaces with raw input,
alternate-scroll, and Kitty keyboard disambiguation so users can select
and copy text without holding Shift.
Termina 0.11.1 auto-detects whether the terminal honors DECCKM before
routing CSI A/B as wheel events. Fixes arrow navigation in VHS tapes
and other PTY wrappers that ignore DECCKM.
@Aaronontheweb Aaronontheweb force-pushed the claude-wt-termina-0.11.0-upgrade branch from 31a80e4 to 3f239ed Compare June 8, 2026 18:44
@Aaronontheweb Aaronontheweb added dependencies Pull requests that update a dependency file enhancement New feature or request tui Terminal UI (Termina) issues UX/DX UI / UX / DX friction issue or user-facing annoyances. labels Jun 8, 2026
After Ctrl+Q tears down the TUI and restores the main screen buffer
(CSI ?1049l), VHS's screen scraper needs a beat to pick up the restored
content. Without this, Wait+Screen assertions match stale pre-TUI
buffer text and subsequent echo output is invisible to VHS.
With raw input mode, single Ctrl+C no longer exits the TUI — it
requires a double press (CtrlCHandlingMode.DoublePressWhenRawInput).
Use Ctrl+Q which is the standard TUI quit shortcut.
@Aaronontheweb Aaronontheweb marked this pull request as ready for review June 9, 2026 01:47

@Aaronontheweb Aaronontheweb left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified on both Windows and Linux that native select with the mouse works, so copying and pasting out of netclaw chat and all other UI elements should be straight forward now. Most of the hard work here was done as part of Termina 0.11.0's big epic: Aaronontheweb/termina#240

@Aaronontheweb Aaronontheweb merged commit 84123f9 into netclaw-dev:dev Jun 9, 2026
15 checks passed
@Aaronontheweb Aaronontheweb deleted the claude-wt-termina-0.11.0-upgrade branch June 9, 2026 01:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file enhancement New feature or request tui Terminal UI (Termina) issues UX/DX UI / UX / DX friction issue or user-facing annoyances.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

I can't copy text from the screen

1 participant