Terminal loses text selection whenever a TUI enables mouse reporting — no way to opt out in the browser
Les mainteneurs répondent en général sous 2 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- typescript, vscode
- Domaine
- developer-experience, frontend, web-dev
Piste de recherche
Commencez par suivre l’intégration du terminal de code-server et son utilisation du build livré de @xterm/xterm 6.1.0-beta.291, puis comparez la manière dont mouseEventsRequireAlt pourrait être configuré. Consultez la FAQ du terminal pour trouver la solution de contournement Shift+drag. C’est terminé lorsque les utilisateurs du navigateur peuvent conserver la sélection du terminal tout en gardant la remontée des événements de la souris disponible, ou lorsque la limitation et le workaround sont documentés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What happens
Any TUI that enables mouse reporting (CSI ? 1000 h) takes the click away from xterm.js, so a plain drag in the terminal no longer creates a selection. On the desktop that is annoying; in code-server it removes the last reliable path to the OS clipboard, because the DOM selection is what the browser's own copy relies on — the VS Code copy commands go through an async IPC hop that loses the clipboard user-gesture.
Concretely: with a full-screen TUI running (e.g. Claude Code with tui: fullscreen), users cannot copy terminal text out of the browser at all, unless they know that Shift+drag forces a selection.
Measured
Loaded the exact @xterm/xterm build shipped by code-server (6.1.0-beta.291) standalone and drove it with real mouse events:
| Mouse tracking armed | plain drag | Shift + drag |
|---|---|---|
| none | selection | selection |
?1000h ?1006h |
nothing | selection |
?1000h ?1002h ?1003h ?1006h |
nothing | selection |
Ask
xterm.js already has the option that solves this — mouseEventsRequireAlt, which keeps tracking armed but only claims the click while a modifier is held. It is not referenced anywhere in the VS Code build that code-server ships, so it stays at its default.
I have opened an upstream request for VS Code to expose it as a terminal setting: https://github.com/microsoft/vscode/issues/330052. Filing here as well because the browser case is materially worse than the desktop one, and because code-server may want to set the option (or surface a preference) ahead of upstream.
At minimum, documenting Shift+drag as the escape hatch in the terminal FAQ would already help.
- Langage dominant
- TypeScript
- Étoiles
- 79.4k
- Forks
- 6.9k
- Merge moyen
- 2 j 15 h
- PR mergées (30 j)
- 38
Préparer son environnement
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de coder/code-server
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
coder/code-server#8017 · 2 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
coder/code-server#7976 · 2 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
coder/code-server#7962 · 3 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
bug needs-investigation
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
coder/code-server#7955 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 42/100
coder/code-server#7948 · 1 commentaire · 2 réactions ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de coder/code-server
Issues similaires
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
StabilityNexus/Fate-EVM-Frontend#153 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
code-yeongyu/oh-my-openagent#9039 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Tencent/teamai-cli#862 ·
Les mainteneurs répondent en général sous 1 jour
-
bug good first issue hacktoberfest redis
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
libredb/libredb-studio#1164 ·
Les mainteneurs répondent en général sous 1 jour
-
flake
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
coder/xum#4920 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour