Zsh ícones quebrados em urxvt

2

então eu estou atualmente usando o manjaro linux e estou usando o urxvt como meu terminal, o que eu amo muito antes de tudo isso começar a mudar o terminal não é uma opção, desculpe se estou sendo rude.

Instalei o zsh nele como meu shell padrão e adicionei o tema robbyrussell ao oh-my-zsh. No começo estava tudo bem e tudo estava funcionando, mas depois de uma atualização meus ícones quebraram. Particularmente (se você estiver familiarizado com o tema), o ícone da seta quebrou e com todos os ícones em todos os outros temas.

Esse problema ocorre apenas com o urxvt porque quando tento com algum outro terminal como sterminal o tema funciona.

Algumas capturas de tela você pode ver aqui É assim que deve parecer (screenhoots tiradas do sterminal)

Eéassimqueparece(screenhootsretiradosdorxvt)

Eutenhopedidoajudanoreddit,norepositóriodogithubcomoorepositóriooficialdooh-my-zshedorobbyrussell,masninguémpareceumeajudar,entãoeurealmenteesperoquevocêsmeajudem.

Aquiestãoalgumasinformaçõessobremeusistemaoperacionaleterminal:

URXVTVersion9.22OperatingSystem:Manjaroi34.12.24-1NoDesktopEnvoirmenti3wmaswindowmanager

Estouusandoconfiguraçõespadrãodeoh-my-zshparameuarquivozshrceXreourcespadrãodomanjaroi3,quevocêpodeencontrar aqui . Se você precisar de mais informações, basta me dizer. Qualquer ajuda seria muito apreciada!

    
por KnownAsDon 13.03.2018 / 13:41

1 resposta

5

Em primeiro lugar, há uma diferença significativa entre os tipos de terminais rxvt e unicode-rxvt (geralmente abreviados para urxvt). Você indicou que o terminal que está usando é "URXVT Versão 9.22", portanto, para evitar confusão, use o nome correto que não seja rxvt mas urxvt.

Como Mikel apontou, o arquivo Xresources está dizendo ao urxvt para usar a fonte 9x15 que é (a) o método de fonte X11 fornecido pelo servidor antigo e (b) uma fonte bitmap de capacidade limitada.

O arquivo README do Github do oh-my-zsh explica

many themes require installing the Powerline Fonts in order to render properly

Portanto, para mostrar a forma de seta correta, você precisa ter o terminal usando a fonte apropriada. Talvez a sua atualização que quebrou o recurso foi uma atualização que redefinir o uso da fonte por urxvt?

Ao informar que o sterminal exibe o prompt corretamente, verifique qual fonte está usando e, em seguida, altere os .Xresources em seu diretório $ {HOME} para usar essa fonte depois de verificar se funciona com o teste manual urxvt -font "font_name ". (Para o método mais recente de fontes fornecidas pelo Xft, font_name é precedido por "xft:" e seguido por ": size = 12" para tamanho de fonte).

Tendo verificado em meu urxvt, parece que um número considerável de fontes monoespaçadas truetype e opentype bem conhecidas não fornecem o glifo "seta para direita" e apenas mostram uma caixa vazia. No entanto, uma fonte padrão prontamente disponível que funciona (e deve ser instalada em seu sistema) é Deja Vu Sans Mono.

Então, tente ativar um urxvt com

urxvt -font "xft:Deja Vu Sans Mono:size=12" &

e veja se o seu prompt está sendo exibido corretamente.

Dê uma olhada no link para discussão sobre como modificar a especificação de recurso de fonte para urxvt em um Xresources / Xdefaults arquivo.

PS Não se esqueça que você pode usar múltiplos terminais de urxvt mais eficientemente se você primeiro iniciar o daemon urxvtd e depois ativar os terminais com urxvtc.

ADENDO

Obrigado por confirmar que você está usando o urxvt e tem o DejaVu Sans Mono instalado.

Confirme que não há substituição de fonte acontecendo com o comando inserido no terminal no prompt

   fc-match  "DejaVu Sans Mono"

produzindo a saída

   DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"

A localização e os estilos do arquivo de fonte real disponíveis para a fonte podem ser verificados com

    fc-list | grep --color 'DejaVu Sans Mono'

Agora, supondo que esteja tudo bem, você precisa verificar ativando um urxvt a partir da linha de comando de um terminal (desculpe por não deixar isso absolutamente claro acima e eu tive espaço entre Deja e Vu que pode ter causado um problema)

    urxvt -font "xft:DejaVu Sans Mono:size=12" &   

que você pode cortar e colar o caractere de seta para a direita (daqui) "➜" no urxvt e que ele exibe corretamente o que eu verifiquei que funciona.

Eu também posso confirmar que colocando o seguinte em um arquivo Xresources

 URxvt.font:                     xft:DejaVu Sans Mono:autohint=true:size=12
 URxvt.boldFont:                 xft:DejaVu Sans Mono:autohint=true:bold:size=12
 URxvt.italicFont:               xft:DejaVu Sans Mono:autohint=true:italic:size=12
 URxvt.boldItalicFont:           xft:DejaVu Sans Mono:autohint=true:bold:italic:size=12

e carregando no banco de dados de recursos do servidor Xorg com xrdb -merge Xresource_file_name para ter 100% de certeza de que esses valores serão usados e, em seguida, disparar um terminal com apenas urxvt nos resultados da linha de comando em um terminal no qual a fonte mostra corretamente caractere de seta para a direita. (você também deve notar a característica dessa fonte, os caracteres l são cacheados e há um ponto no centro dos caracteres zero).

A fonte que eu normalmente uso em urxvt "Luxi Mono" (mais fácil de ler, fácil para os olhos IMHO) não exibe a seta para a direita corretamente, embora o programa "font-manager" revela que "Luxi Mono" tem o glyph. Da mesma forma, o xterm também é quebrado, mas um teste no terminal lxterminal, no terminal mate e no terminal xfce4 (preferências de check-in em que a fonte está definida como Luxi Mono) exibe todos a seta para a direita corretamente. Portanto, parece que algo está quebrado para algumas fontes em urxvt e xterm (que, se eu entendi, compartilham corretamente algumas origens de código), assim como as outras que funcionam de forma semelhante compartilham algum código comum viz libvte.

    
por 14.03.2018 / 04:54