Linux X11: no cursor telemetry, so no follow-cursor zoom

Aberta
#1,493 0 comentários 0 reações 0 responsáveis Ver no GitHub

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
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
electron, typescript
Domínio
backend, desktop

Direção de pesquisa

Start with src/hooks/useScreenRecorder.ts and trace how effectiveBrowserCursorMode selects system on Linux X11 and where cursor positions are recorded. Check the browser capture path and whether Chromium honours getDisplayMedia with cursor: "never" on X11; the issue leaves this unverified and offers an alternative of recording positions in system mode. Done means cursor-follow zoom works on X11 without drawing a duplicate cursor, while Wayland, macOS and Windows remain unaffected.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Follow-up to #1491 / #1492.

Since #1492, recording works on Linux X11 sessions, but no cursor positions are recorded there: auto-zoom that follows the cursor and the editable cursor overlay are unavailable.

Why: on the browser capture path outside Windows, effectiveBrowserCursorMode (src/hooks/useScreenRecorder.ts) forces system, because Chromium bakes the real cursor into the X11 frames. Keeping editable-overlay would draw a second cursor on top. Cursor positions are only recorded in editable-overlay mode, on every platform.

Possible directions

  • Exclude the cursor from the X11 capture (e.g. getDisplayMedia with cursor: "never", if Chromium honours it on X11 — unverified), then lift the system override there.
  • Record cursor positions in system mode too (for follow-cursor zoom), without drawing an overlay.

Wayland, macOS and Windows are not affected.

Linguagem predominante
TypeScript
Estrelas
3.7k
Forks
231
Merge médio
19h 7min
PRs com merge (30d)
266

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de getopenscreen/openscreen

Todas as issues de getopenscreen/openscreen

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.