2 pontos por GN⁺ 2024-10-04 | 1 comentários | Compartilhar no WhatsApp
  • Configurar as cores do terminal é um problema difícil para muita gente. Em especial, “azul sobre fundo preto” é uma combinação frequentemente citada como difícil de ler.
  • As cores ANSI são compostas por 16 cores, e cada emulador de terminal pode interpretá-las de forma diferente.

Problema 1: azul sobre fundo preto

  • Texto azul sobre fundo preto é difícil de ler.
  • As cores ANSI não têm um padrão rígido, então podem aparecer de forma diferente em cada terminal.

Problema 1.5: amarelo-claro sobre fundo branco

  • Amarelo-claro sobre fundo branco fica em um nível quase ilegível.
  • Para resolver problemas de contraste, é possível reconfigurar as cores do emulador de terminal.

Como reconfigurar as cores

  • Método 1: configurações do emulador de terminal : a maioria dos emuladores de terminal modernos oferece recursos de reconfiguração de cores.
  • Método 2: executar um script de shell : é possível alterar as cores do terminal usando códigos de escape ANSI.

Problema 2: programas que usam 256 cores

  • Programas como fd usam o conjunto estendido de 256 cores, o que pode resultar em contraste ruim.
  • Algumas ferramentas modernas oferecem suporte a temas personalizados e funcionam bem com vários temas de terminal.

Problema 3: os cinzas do tema Solarized

  • Os tons de cinza do tema Solarized afetam as cores de diretórios e arquivos executáveis.
  • O tema Solarized padrão usa cinza, mas a versão base16 modificada usa cores mais claras.

Problema 4: tema do vim que não combina com o fundo do terminal

  • Se a cor de fundo do tema do vim for diferente da do tema do terminal, podem surgir bordas visíveis.

Problema 5: configuração de cor de fundo por programas

  • Programas como ngrok podem definir uma cor de fundo indesejada.
  • O script base16-shell define a cor #16 como laranja-claro para fornecer cores adicionais.

Problema 6: TERM configurado incorretamente

  • Se a variável de ambiente TERM estiver configurada incorretamente, as cores podem não ser exibidas corretamente.

Problema 7: a dificuldade de escolher boas cores

  • Pessoas daltônicas podem ter dificuldade para encontrar combinações de cores adequadas.
  • Se a cor de fundo e a cor do cursor forem parecidas, pode ser difícil localizá-lo.

Problema 8: problemas de cores no nethack/mc

  • Programas como nethack ou midnight commander podem esperar um tema de cores específico.
  • É possível resolver isso alterando a paleta de cores antes de iniciar o programa.

Problema 9: desativação de cores ao escrever em um pipe

  • Comandos como fd | less desativam as cores.
  • É possível ver as cores usando unbuffer fd | less -r.

Problema 10: cores indesejadas no ls e em outros comandos

  • É possível desativar ou personalizar as cores do ls.

Problema 11: problemas de cores no vim

  • Há duas formas de configurar cores no vim: cores ANSI e cores de 24 bits.
  • Desde 2016, o vim oferece suporte a cores de 24 bits.

Outros problemas

  • Problemas que surgem da combinação de vários programas são difíceis de tratar.

Efeito do base16

  • Foi possível configurar as cores com sucesso usando base16-shell e base16-vim.
  • Pode haver limitações com os temas embutidos e com as configurações de cores ANSI.

Outras ferramentas de temas de cores

  • Existem ferramentas para gerar temas de cores, como rootloops.sh.
  • Temas populares incluem catpuccin, Monokai, Gruvbox e Dracula.

Resumo do GN⁺

  • Configurar cores de terminal é complexo, mas usar recursos mínimos de contraste pode resolver muitos problemas.
  • É possível melhorar a experiência do usuário usando vários temas e ferramentas de cor.
  • As configurações de cores do terminal podem ser aplicadas de maneira diferente conforme o gosto e as necessidades de cada pessoa.
  • Outros projetos com funcionalidades parecidas incluem Solarized e Gruvbox.

1 comentários

 
GN⁺ 2024-10-04
Comentários do Hacker News
  • Descobriu que temas claros parecem sutilmente diferentes de temas escuros em várias telas e configurações. Isso é um problema sério ao portar temas para diferentes computadores

    • Podem surgir problemas ao mudar para consoles Linux ou BSD com suporte limitado a fontes e cores. Usou fbterm para conseguir recursos de terminal razoáveis sem X, mas o próprio fbterm também tem problemas. Ao configurar cores no vim, é preciso preparar um tema alternativo para consoles com menos recursos
  • O tema de cores padrão dos emuladores de terminal não é bom, então deve ser alterado. Pessoalmente, prefere o tema Solarized

    • Ferramentas CLI que usam sequências de escape de cor de 8 bits ou 24 bits devem ser evitadas. Isso pode ser hostil ao usuário. Não ajuda quando desenvolvedores definem temas de cor como padrão
  • Queria usar um tema claro, mas desistiu porque muitos programas usam cores otimizadas para fundo escuro. Atualmente usa um tema ANSI sobre fundo escuro para manter contraste suficiente

  • É uma boa ideia verificar as cores usando o novo algoritmo APCA. O APCA considera tamanho e peso da fonte, primeiro plano/fundo, iluminação ao redor etc.

  • Há também quem queira desativar completamente as cores. Pessoalmente, gostaria de experimentar, mas também gosta de cores bonitas

  • O frame-background-mode do Emacs pode estar configurado incorretamente, fazendo as cores parecerem ruins

  • Usa o tema de cores FlatUI com pequenas modificações e não tem tido grandes problemas

  • O azul de letreiros de neon ou placas com nome em LED é o que mais força os olhos à noite. De longe, parece borrado e fora de foco

  • O interesse por cores de terminal diminuiu, e ajustar cores não tem impacto positivo na produtividade. Só ajusta um pouco o contraste do fundo do tema padrão pro do terminal da Apple

  • Passou muito tempo escolhendo cores de terminal, mas agora usa texto preto em fundo branco. Durante o dia não há ofuscamento, e à noite usa f.lux para reduzir a fadiga ocular