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

1

Estou tendo esse problema estranho com o emacs e realmente apreciaria alguma ajuda. Estou executando o emacs no terminal em um servidor Ubuntu configurado no VirtualBox no meu windows pc. Eu tentei o Cygwin e o Git-Bash (ambos têm mintty) e recebo o mesmo problema em ambos os terminais.

O problema que estou tendo é quando eu ativo um dos meus temas personalizados para o emacs, o texto fica confuso e ilegível. É principalmente o texto comentado que parece se fundir com outro texto. No entanto, quando eu alterno para um dos temas padrão fornecidos com o emacs, o problema desaparece. Então, isso parece ser um problema com os temas personalizados (Gotham e todo o pacote de amanhã à noite), porque eu também notei que os temas personalizados são afetados pelo tema Mintty que estou usando, enquanto os temas padrão do emacs não são afetados. por estes. Então, quando eu habilito, por exemplo, o tema gotham, e eu abro as opções do mintty e troco os temas de cores, 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), mudar os temas do mintty não afeta as cores do emacs.

Eu acredito que os problemas estão conectados aos temas do emacs. O problema não deve vir do uso de temas mintty, já que tentei iniciar um terminal com opções padrão (com apenas xterm-256color) ativadas e obter os mesmos problemas dos temas personalizados do emacs. Pode ser um problema com o xterm-256color, mas não consigo verificar isso, já que o emacs não carrega nenhum tema quando apenas as cores padrão de 8 bits são ativadas. Mas, mais uma vez, se a mintty fosse a culpa, todos os temas do emacs deveriam ser afetados, ao invés de apenas os customizados que eu baixei.

Então, o que eu estou querendo 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. No momento, estou analisando temas padrão do emacs em relação a temas personalizados do emacs para ver se encontro alguma coisa, mas não sou suficientemente versado em lisp para realmente entender o que estou procurando.

ATUALIZAÇÃO - Depois de experimentar mais, percebi que os temas problemáticos parecem estar ausentes ou não estão conseguindo carregar algumas cores. Eu vi isso enquanto percorria os diferentes temas com M-x customize-themes . Alguns dos temas reterão alguns antecedentes e cores 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 em cima de uma outra com cores e fontes diferentes.

    
por maxorcist 10.07.2017 / 17:13

2 respostas

2

Obtendo itálico trabalhando com o tmux

desde que o mintty suporta itálico desde 2.7.6

Resposta curta e doce

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

  2. Edite seu arquivo .tmux.conf (alterei o padrão e a cópia 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. Aviso: Eu testei isso apenas no cygwin, sem sistemas linux reais.

Histórico e explicação mais demorada.

Eu gastei cerca de uma hora tentando descobrir 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 abrai o tmux. O Tmux realmente não funciona bem com coisas como realce de sintaxe ou itálico (sem configuração). Então a próxima coisa a fazer é alguma pesquisa. Nas minhas viagens me deparei com estas próximas poucas links .

O primeiro link para o segundo, e tecnicamente tinha todas as informações necessárias para corrigir meus problemas. Não era bem aceitável para mim, já que o primeiro tinha você escrevendo seu próprio arquivo terminfo especial que nada vai reconhecer quando você começar a sshing em outros lugares. Então, isso estava certo, mas achei que provavelmente havia uma maneira de editar o terminfo do terminal atual para adicionar suporte em itálico. Depois de mais algumas pesquisas eu encontrei este que era exatamente o que eu estava procurando para, mas não corrigiu o problema.

Em um palpite, eu fui ao projeto github para o tmux e procurei por 'itálico', e surgiu com questão # 1137 . Eu sugeriria ler todo o tópico, pois ele tem algumas informações muito úteis, além de apenas colocar as palavras em itálico.

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

    
por 18.01.2018 / 21:40
1

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

Também encontrei essa explicação no link :

The trouble is, terminals are basically designed for rectangular character cells, so slanted letter don't really fit that. When trying italic fonts in mintty, parts of letters are painted outside their character cells, so they also end up being cut off or not erased properly."

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

    
por 13.07.2017 / 14:32