Terminal loses text selection whenever a TUI enables mouse reporting — no way to opt out in the browser
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- typescript, vscode
- Domínio
- developer-experience, frontend, web-dev
Direção de pesquisa
Comece rastreando a integração do terminal do code-server e o uso que ela faz do build distribuído do @xterm/xterm 6.1.0-beta.291; em seguida, compare como mouseEventsRequireAlt poderia ser configurado. Consulte as perguntas frequentes do terminal para verificar a alternativa Shift+drag. Considera-se concluído quando os usuários do navegador conseguem preservar a seleção do terminal enquanto o relatório do mouse continua disponível, ou quando a limitação e o workaround estão documentados.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- TypeScript
- Estrelas
- 79.5k
- Forks
- 6.9k
- Merge médio
- 2d 13h
- PRs com merge (30d)
- 41
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de coder/code-server
-
Unsaved editor comes back after "Don't Save" when switching between Windows and macOS browsersAbertabug triage
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 68/100
coder/code-server#8025 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
coder/code-server#7976 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
coder/code-server#7962 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
bug needs-investigation
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
coder/code-server#7955 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 42/100
coder/code-server#7948 · 1 comentário · 2 reações ·
Mantenedores costumam responder em até 1 dia
Todas as issues de coder/code-server
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
betagouv/mon-entreprise#4699 ·
Mantenedores costumam responder em até 3 dias
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
jaegertracing/jaeger-ui#4547 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
ai-driven-qa
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
linagora/twake-calendar-frontend#1467 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
need4deed-org/sdk#267 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
auth0/universal-login#414 ·
Mantenedores costumam responder em até 1 dia