urxvt powerline symbols

0

Eu uso o urxvt.

Então, eu estava jogando com temas do tipo "oh-my-zsh" e descobri que alguns deles têm "The PowerLine Symbols".

(se você não sabe o que é - dê uma olhada. link )

Então, basicamente, você tem um conjunto de patches para fontes, que adicionam esses caracteres extras. Ou fontes podem ser baixadas, coloque info ~ / .fonts & & fc-cache -vf ~ / .fonts & & voila!.

Se você não tiver uma fonte totalmente em linha de energia, poderá encadear fontes como essa: URxvt * font: xft: Terminus: pixelsize = 14: antialias = verdadeiro, xft: Inconsolata \ for \ Powerline: pixelsize = 14: antialias = true

Neste caso você usa o regular Mr.Terminus, e quando não tem caracteres, eu acho que vai para a Ms.Inconsolata.

Então, meu problema é assim: link

Eu tentei até agora:

URxvt*font: xft:Terminess Powerline:pixelsize=15:antialias=true
URxvt*font: xft:Fantasque Sans Mono:style=Regular:antialias=true
URxvt*font: xft:Menlo:pixelsize=16:antialias=true
URxvt*font: xft:Terminus:pixelsize=14:antialias=true,xft:Inconsolata\ for\ Powerline:pixelsize=14:antialias=true
URxvt*font: xft:PowerlineSymbols:pixelsize=14:antialias=true,xft:Terminus:pixelsize=14:antialias=true
URxvt*font: xft:Terminus:pixelsize=14:antialias=true,xft:PowerlineSymbols:pixelsize=14:antialias=true

A captura de tela é de URxvt * font: xft: Termine Powerline: pixelsize = 15: antialias = verdadeiro

Meu urxvt é definitivamente construído com suporte unicode. Eu rodei o gentoo e verifiquei novamente as flags de uso - unicode3 -vanilla.

As fontes são baixadas para ~ / .fonts. Aqui está um exemplo de saída:

    fc-list| grep Power
    /home/rakul/.fonts/ter-powerline-x12n.bdf: Terminess Powerline:style=Regular
    /home/rakul/.fonts/ter-powerline-x14n.pcf: Terminess Powerline:style=Regular
    /home/rakul/.fonts/ter-powerline-x12n.pcf: Terminess Powerline:style=Regular
    /home/rakul/.fonts/ter-powerline-x14b.pcf: Terminess Powerline:style=Bold
    /home/rakul/.fonts/ter-powerline-x12b.pcf: Terminess Powerline:style=Bold
    /home/rakul/.fonts/ter-powerline-x14b.bdf: Terminess Powerline:style=Bold
    /home/rakul/.fonts/ter-powerline-x12b.bdf: Terminess Powerline:style=Bold
    /usr/share/fonts/powerline-symbols/PowerlineSymbols.otf: PowerlineSymbols:style=Medium
    /home/rakul/.fonts/Inconsolata for Powerline.otf: Inconsolata for Powerline:style=Medium
/home/rakul/.fonts/ter-powerline-x14n.bdf: Terminess Powerline:style=Regular

Ajuda apreciada!

Atualização 1: Eu esqueci de mencionar uma coisa - a fonte realmente funciona fora do urxvt: konsole + urxvt: hxxp: //img.5cm.ru/view/i6/Kqzo.png então a questão é - o que pode ser feito para o urxvt?

Aqui estão os meus sinalizadores de USE:

 equery u rxvt-unicode 
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for x11-terms/rxvt-unicode-9999:
 U I
 + + 256-color            : Enable 256 color support
 - + alt-font-width       : Calculate the font width using a different method
 - - blink                : Enable blinking text
 - - buffer-on-clear      : Store visible output to history buffer when clearing the screen with ctrl-l. Read https://bbs.archlinux.org/viewtopic.php?id=129302
 - - fading-colors        : Enable colors fading when off focus
 + + focused-urgency      : Enable the urgent flag when a terminal window is focused
 + + font-styles          : Enable support for bold and italic fonts
 - - iso14755             : Enable ISO-14755 support
 + + mousewheel           : Enable scrolling via mouse wheel or buttons 4 and 5
 + + perl                 : Enable perl script support. You can still disable this at runtime with -pe ""
 - - pixbuf               : Enable transparency support using gtk's pixbuf
 - - secondary-wheel      : Support for wheel scrolling on secondary screens (like mutt). Read http://lists.schmorp.de/pipermail/rxvt-unicode/2011q4/001491.html
 + + startup-notification : Enable application startup event feedback mechanism
 + + unicode3             : Use 21 instead of 16 bits to represent unicode characters
 - - vanilla              : Do not add extra patches which change default behaviour; DO NOT USE THIS ON A GLOBAL SCALE as the severity of the meaning changes drastically
 - + wcwidth              : Enable wide char width support
 + + xft                  : Build with support for XFT font renderer (x11-libs/libXft)

Atualização 2: Eu consegui fazer outro símbolo aparecer :) Eu li, que a maneira "moderna" de adicionar suporte a personagens Powerline é adicionando o arquivo PowerlineSymbols.otf a ~ / .fonts e ~ / .config / fontconfig / conf.d / 10-powerline-symbols.conf

Desta forma eu não tenho isso: hxxp: //img.5cm.ru/view/i6/2TBR.png veja, agora são 4 de 7.

    
por Scott Tiger 07.01.2016 / 04:48

1 resposta

2

Respondendo a minha própria pergunta: no gentoo você tem que construir o urxvt com os flags unicode3 e vanila USE, e sem o sinalizador alt-font-width

Atualização 17 de fevereiro 17:
Desde a pergunta original eu troquei meu laptop e fiz a configuração em um gentoo moderno do zero. Aqui está o que eu levei para ter os personagens powerline que eu preciso (não todos eles) e os personagens nacionais junto com Inconsolata no urxvt.

Não estou dizendo que esse é o jeito certo de fazer isso. Este tópico é muito discutível, porque a maioria dos emuladores de terminal implementam hacks para fazer esses trabalhos prontos, mas o urxvt não o faz, afirmando que são as fontes que são o problema, não o emulador. O Gentoo adiciona patches ao urxvt para "suportar" esses caracteres, basicamente adicionando o hack que os autores de urxvt acham ruim. Então, eventualmente, há mais de uma maneira de fazer isso.

Em um gentoo vanilla você precisará dos seguintes flags de uso para urxvt: (por favor, use o seu bom senso para filtrar sinalizadores que não estejam relacionados a fontes e não copiem cegamente os meus)

[I] x11-terms/rxvt-unicode
     Available versions:  9.21^t ~9.22^t **9999^t {256-color alt-font-width blink buffer-on-clear fading-colors +focused-urgency +font-styles iso14755 +mousewheel +perl pixbuf secondary-wheel startup-notification unicode3 +vanilla wcwidth xft}

Eu usei as instruções originais do powerline aqui: link (o "fontconfig "método). (Existe uma ebuild powerline no portage, mas não faz nada para mim)

Mas isso só me deu metade dos símbolos, então eu também baixei uma fonte com patch (eu usei código de molho) como último recurso. Minha configuração de fonte em .Xresourses é assim:

URxvt*font:  xft:inconsolata:size=10:antialias=true,xft:DejaVu Sans:size=10:antialias=true,xft:Sauce Code Powerline:antialias=true:hinting=true:size=9

O DejaVu Sans é para letras cirílicas, se você não precisar delas, pode acenar. Isso me dá todos os símbolos (inconsolata corrigido dá resultados ruins).

    
por 11.01.2016 / 00:46