MoonshotAI / MoonshotAI/kimi-code
Feature request: fullscreen TUI mode with mouse text selection/copy (like Claude Code)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 1.2k
- Avg merge
- 11h 53m
- Merged PRs (30d)
- 350
Description
What feature would you like to see?
Two related TUI features, both inspired by Claude Code's fullscreen mode:
1. Fullscreen TUI mode (alternate screen buffer), toggleable
Claude Code can run in a fullscreen mode where the TUI takes over the whole terminal. This gives a stable, app-controlled rendering surface: scrolling, layout, and mouse handling all behave consistently instead of interleaving with the host terminal's scrollback. A keybinding (e.g. ctrl+b) or a config option to enter/leave fullscreen would be ideal.
(Related: #2195 asks for the opposite direction — an option to disable the alternate screen for SSH scrollback. A user-facing toggle would serve both requests.)
2. Built-in mouse text selection that actually copies
In fullscreen mode, drag-selecting text with the mouse should create an app-level selection and copy it to the system clipboard — with an OSC 52 fallback when no native clipboard is available (SSH, tmux, browser code-server terminals).
Current pain point: in the inline TUI, mouse selection is unreliable. Drag-selecting shows a "Copied" hint, but the text never reaches the system clipboard — this is especially broken inside browser-based code-server terminals and tmux, where the terminal's own selection and the app's mouse handling fight each other. Users currently have to discover Shift-drag workarounds themselves.
(Related: #1174 proposes a conservative mouse policy that keeps native terminal selection and shows a Shift-drag hint. That helps, but an app-level selection+copy with OSC 52 fallback would make copy work out of the box in remote/browser terminals where native selection is unavailable entirely.)
Additional information
Environment: Kimi Code CLI on Linux, used daily inside tmux and browser code-server (web VS Code) terminals, often over SSH. In these environments neither the terminal's native selection nor naive OSC 52 passthrough works reliably, so app-managed selection with an OSC 52 fallback is the only option that works everywhere.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the existing TUI mouse-selection and clipboard handling, then review related issues #2195 and #1174 for compatibility constraints. Done should include a toggleable fullscreen mode and reliable app-level selection and copying, with OSC 52 fallback in SSH, tmux, and browser terminals.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100