Skip to content

P4: Scrollbar nativa com track/thumb estilizados e auto-hide #36

Description

@chapzin

Estado atual

render_native_scrollbar() em src/tui/ui.rs ja existe e renderiza uma scrollbar basica com caracteres | e botoes •. Mas e minimalista e sempre visivel.

O que precisa ser melhorado

1. Track sutil

  • Track renderizado com caracteres semi-transparentes: ░ ou · ou espaco
  • Contraste minimo com o fundo (nao deve distrair)
  • Apenas visivel quando scrollbar ativa

2. Thumb estilizado

  • Thumb com bloco solido: █ ou ▓ ou ┃
  • Tamanho proporcional a relacao visible/total
  • Cor: accent quando focado, dim quando nao
  • Hover: borda clara ao redor do thumb (se mouse suportado)

3. Auto-hide

  • Scrollbar desaparece apos 2s de inatividade (sem scroll)
  • Reaparece instantaneamente ao scrollar
  • Configuravel: JCODE_SCROLLBAR_AUTOHIDE=false para sempre visivel

4. Indicadores de posicao

  • Marcacoes sutis indicando posicao de prompts do usuario
  • Pequenos tracos horizontais na track
  • Ajuda a navegar visualmente na conversa

5. Side pane scrollbar

  • Mesma logica para o painel lateral (diff/side panel)
  • Consistencia visual entre as duas scrollbars

Arquivos a modificar

  • src/tui/ui.rs — render_native_scrollbar
  • src/tui/ui_viewport.rs — integracao com auto-hide
  • Novo: src/tui/ui_scrollbar.rs — componente isolado
  • crates/jcode-tui-style/src/theme.rs — cores da scrollbar

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions