Obtendo texto ilegível e ilegível de alguns temas de cores com o emacs no terminal ubuntu

1

Estou tendo esse problema estranho com o emacs e gostaria muito de receber alguma ajuda. Estou executando o emacs no terminal em um servidor ubuntu configurado no VirtualBox no meu pc com windows. Eu tentei o Cygwin e o Git-Bash (ambos têm hortelã) e tenho o mesmo problema nos dois terminais.

O problema que estou enfrentando é que, quando eu ativo um dos meus temas personalizados para o emacs, o texto fica ilegível e ilegível. É principalmente o texto comentado que parece se fundir com outro texto. No entanto, quando mudo para um dos temas padrão que acompanham o emacs, o problema desaparece. Portanto, isso parece ser um problema com os temas personalizados (gotham e todo o pacote de amanhã à noite), porque também notei que os temas personalizados são afetados pelo tema hortelã que estou usando, enquanto os temas padrão do emacs não são afetados por estes. Então, quando eu ativo, por exemplo, o tema gotham, e abro as opções mintty e alterno os temas de cores lá, as cores do gotham também são afetadas. Se eu tentar o mesmo com, por exemplo, o tema wombat (que vem com o emacs), a alteração de temas mintty não afeta em nada as cores do emacs.

Acredito que os problemas estejam relacionados aos temas do emacs. O problema não deve vir do uso de temas mintty, pois tentei iniciar um terminal com as opções padrão (apenas com o xterm-256color) ativadas e obtenha os mesmos problemas dos temas personalizados do emacs. Pode ser um problema com o xterm-256color, mas não consigo verificar isso, pois o emacs não carrega nenhum tema quando apenas as cores padrão de 8 bits estão ativadas. Mas, mais uma vez, se o mintty estava errado, todos os temas do emacs devem ser afetados, em vez dos temas personalizados que baixei.

Então, o que eu quero saber é se alguém sabe se há alguma configuração em algum lugar na configuração do emacs ou nos próprios arquivos de tema que permitem que o emacs ignore as cores dos terminais? Qualquer conselho seria muito apreciado. Atualmente, estou no processo de analisar temas padrão do emacs contra temas personalizados do emacs para ver se encontro alguma coisa, mas não sou suficientemente versado no lisp para realmente entender o que estou procurando.

ATUALIZAÇÃO - Depois de experimentar um pouco mais, percebi que os temas problemáticos parecem estar ausentes ou não estão carregando algumas cores. Eu vi isso enquanto percorria os diferentes temas com M-x customize-themes. Alguns dos temas reterão alguma cor de fundo e de texto do tema de trabalho anterior e os misturarão, o que produzirá o texto com aparência distorcida. O texto ilegível é impresso em duas camadas, uma sobre a outra, com cores e fontes diferentes.

maxorcist
fonte

Respostas:

2

Obtendo o itálico trabalhando com o tmux

desde mintty suporta itálico desde 2.7.6

Resposta curta e doce

  1. Edite seu $ TERM.terminfo para incluir sitm=\E[3m& ritm=\E[23me, em seguida, recompile comtic

  2. Edite seu arquivo .tmux.conf (alterei a cópia padrão e a do usuário) para incluir: set -g default-terminal "tmux-256color"

  3. rm -rf /tmp/tmux-* e, em seguida, inicie o servidor tmux novamente e ele deve funcionar.

  4. Disclaimer: Eu só testei isso no cygwin, sem sistemas linux reais.

História de fundo e explicação mais longa.

Passei cerca de uma hora descobrindo isso hoje, espero que ajude os outros a descobrirem mais rápido.

Fundo curto e doce; Eu instalei um novo esquema de cores que usa muito itálico.

Como na maioria das coisas, sempre há um problema. O esquema de cores estava funcionando muito bem ao lado da minha configuração do cygwin, sem problemas até que eu abri o tmux. O Tmux realmente não funciona bem com coisas como destaque de sintaxe ou itálico (sem configuração). Portanto, a próxima coisa a fazer é pesquisar novamente. Em minhas viagens me deparei com estes próximos poucos ligações .

O primeiro está vinculado ao segundo e, tecnicamente, tinha todas as informações necessárias para solucionar meus problemas. Não foi bem aceitável para mim, pois o primeiro foi escrever seu próprio arquivo terminfo especial, que nada reconhecerá quando você começar a procurar outros lugares. Então isso foi resolvido, mas achei que provavelmente havia uma maneira de editar o terminfo do terminal atual para adicionar suporte em itálico. Após mais algumas pesquisas eu encontrei este que era exatamente o que eu estava procurando, mas não definitivas corrigir o problema.

Em um palpite, fui ao projeto github para tmux e procurei 'itálico', e criei a edição # 1137 . Eu sugeriria a leitura de todo o tópico, pois ele tem algumas informações muito úteis, além de apenas palavras em itálico.

Depois de alterar o valor $ TERM no meu arquivo .tmux.conf para 'tmux-256color' e rm -rf'no diretório tmux localizado no tmp, o tmux foi iniciado e exibido todos os itálicos!

Scrambo
fonte
1

Resolvido! O problema surgiu com alguns temas usando itálico, o que aparentemente quebrou a renderização do texto. Eu acho que, neste caso, o problema pode ser causado por Mintty, mas não tenho certeza. Depois de alterar todos os campos no tema que dizem :slant italicque :slant normalo problema foi corrigido.

Também encontrei esta explicação em https://github.com/mintty/mintty/issues/152 :

O problema é que os terminais são basicamente projetados para células de caracteres retangulares, então as letras inclinadas não se encaixam nisso. Ao tentar fontes em itálico em menta, partes das letras são pintadas fora das células dos caracteres, para que elas também sejam cortadas ou apagadas corretamente ".

editar: Veja outra resposta para solução. Minha resposta aqui é mais uma solução alternativa do que uma correção real.

maxorcist
fonte