Xterm.js: Rolar para trás infinito?

Criado em 10 mai. 2019  ·  3Comentários  ·  Fonte: xtermjs/xterm.js

Já recebemos vários pedidos relativos a um scrollback infinito, vte também suporta isso em versões mais recentes, então eu gostaria de discutir se isso deveria ser um objetivo.

Tecnicamente, é possível fazer isso utilizando localStorage do navegador, que cuida do consumo de memória e da paginação das coisas para o sistema de arquivos. Ainda teríamos que implementar nosso próprio gateway de paginação leve que pode fazer o buffer de conteúdo CRUD neste back-end de armazenamento e pode buscar / atualizar os dados de renderização de acordo.

Eu, por mim mesmo, acho que não precisamos disso, mas também levanta algumas questões como grande pegada no sistema de arquivos e problemas de usabilidade da barra de rolagem (ela vai pular como um louco para pequenos movimentos em sessões de terminal muito, muito longas).
Ainda assim, gostaria de ouvir sua opinião, talvez @egmontkob possa fornecer mais alguns insights sobre mais aborrecimentos / soluções também.

@Tyriar , @mofux

areaccessibility typproposal

Comentários muito úteis

Nosso formato de scrollback (VTE) é extremamente complicado - na verdade, o suporte a scrollback _finite_ torna-o ainda mais complicado, o suporte a infinito only seria mais simples. Envie-me um ping se você considerar este recurso novamente, ficarei feliz em explicar os detalhes, embora você provavelmente não o tomaria como referência para sua implementação.

Supostamente, esse também era um recurso solicitado com frequência, mas não tenho experiência pessoal com ele. Foi implementado antes de eu entrar no projeto. Eu mesmo uso 50.000 linhas finitas e acho isso um exagero.

Não acho que a usabilidade da barra de rolagem seja um problema; ou se estiver, já está em alguns milhares de linhas. Arrastar a barra de rolagem só pode fazer um posicionamento aproximado que eu pessoalmente raramente uso, para detalhes precisos, prefiro rolar com dois dedos sobre a área do terminal usando o touchpad do meu laptop.

Todos 3 comentários

O armazenamento local também é restrito a 5 MB e começará a despejar dados assim que esse limite for atingido, de modo que pode estar removendo coisas realmente importantes 😛. Não acho que isso seja particularmente importante, especialmente considerando que complicaria um pouco a implementação para oferecer suporte a essa paginação, além disso, você pode basicamente contornar isso aumentando a rolagem para trás. Há questões muito maiores a resolver primeiro, antes mesmo de pensarmos sobre isso.

Vamos chamar isso fora do escopo por enquanto pelas razões mencionadas acima. Também tivemos um problema com isso no passado e permitimos um lado de rolagem muito maior como uma solução alternativa https://github.com/xtermjs/xterm.js/issues/948

Nosso formato de scrollback (VTE) é extremamente complicado - na verdade, o suporte a scrollback _finite_ torna-o ainda mais complicado, o suporte a infinito only seria mais simples. Envie-me um ping se você considerar este recurso novamente, ficarei feliz em explicar os detalhes, embora você provavelmente não o tomaria como referência para sua implementação.

Supostamente, esse também era um recurso solicitado com frequência, mas não tenho experiência pessoal com ele. Foi implementado antes de eu entrar no projeto. Eu mesmo uso 50.000 linhas finitas e acho isso um exagero.

Não acho que a usabilidade da barra de rolagem seja um problema; ou se estiver, já está em alguns milhares de linhas. Arrastar a barra de rolagem só pode fazer um posicionamento aproximado que eu pessoalmente raramente uso, para detalhes precisos, prefiro rolar com dois dedos sobre a área do terminal usando o touchpad do meu laptop.

Esta página foi útil?
0 / 5 - 0 avaliações