Powerline: [Archlinux] No powerline symbols in urxvt with tmux

Created on 21 Oct 2013  ·  26Comments  ·  Source: powerline/powerline

Hello.

I've installed the powerline under archlinux using the recommended package that it is indicated in the documentation [1].

After the install I've added to my ~/.tmux.conf the fallowing line:
source '/usr/share/tmux/powerline.conf'
The required patched fond are installed from [2] and fc-list reports that it is aware of them.

I tried restarting X as instructed in to the documentation but the result is the same:
2013-10-21_1329x70

How can I solve this?

Thank you.

[1] https://aur.archlinux.org/packages/python-powerline-git/
[2] https://aur.archlinux.org/packages/ttf-dejavusansmono-powerline-git/


Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

font linux invalid bug

Most helpful comment

I'm very sorry for necro'ing this issue, but I'm just leaving this here because this is still high up in the search ranks for this particular problem. It doesn't pertain to Powerline specifically, but it might help out some users none the less. _This is not a Powerline issue_

So, apart from having your locale set properly (an obvious one), most of the Urxvt AUR packages I've come across (specifically rxvt-unicode-patched and rxvt-unicode-better-wheel-scrolling, a must-have IMO) _are compiled without unicode3 support and frills disabled_. I wouldn't be surprised if other distributions used the same compiler flags. Run urxvt --help 2>&1 | grep options: to check which options it was built with. Should contain at least frills, unicode3 and optionally iso14755 if you want to input Unicode characters as well.

In the PKGBUILD under build():

Change
--disable-frills \
to

--enable-frills \
--enable-unicode3

As long as your terminal emulator is compiled without unicode rendering, no amount of configuration will make it display unicode characters. They're being considered 'unnecessary features', but they add negligible overhead to the size of the installed package (~100KB).

Hope this helps!

Sincerely, a fellow terminal lover

All 26 comments

What terminal are you using?

Oh, i forgot to provide that information.

It is rxvt-unicode (urxvt) v9.18 - released: 2013-03-24 and it is compiled with unicode3 as urxvt -v reports.

This are the options used for compiling:
options: perl,xft,styles,combining,blink,iso14755,unicode3,encodings=eu+vn+jp+jp-ext+kr+zh+zh-ext,fade,transparent,tint,pixbuf,XIM,frills,selectionscrolling,wheel,slipwheel,smart-resize,cursorBlink,pointerBlank,scrollbars=plain+rxvt+NeXT+xterm

This is the PKBUILD for urxvt from AUR Archlinux [1], as you can see the unicode3 option is enabled.

[1] https://aur.archlinux.org/packages/rx/rxvt-unicode-patched/PKGBUILD

It works for me...

@otommod what patched fonts are you using? same urxvt version? same OS?

The one you use. I run urxvt -fn 'xft:DejaVu Sans Mono for Powerline-10'

I run it like you said and it is much better now, but there are some signs that I think that aren't recognized:

2013-10-22_1069x66

This is what i have in my .Xresources.

Can you please post what setting you have in your .Xresources so I can try to set them?

Well, I don't use urxvt so I don't have anything in my .Xresources file. I also don't get the soft separators (the one's that aren't getting displayed) too. It's that I don't have any segment with soft separators in tmux, so I noticed this just now that I run vim.

@otommod What terminal emulator are you using?

I'm using st[1]. It's lightweight, has full xft and fontconfig support, 24bit colors. It lacks a scroll buffer though, so you will have to use tmux or screen for that.

[1] https://aur.archlinux.org/packages/st-git

I failed in setting up urxvt with powerline and eventually switched to xfce-terminal. The thread in the bbs also has links to this bugtracker here where people posted their way to success with powerline and urxvt. Good luck!

@nasenatmer I found your thread in my earlier searches. I've tried the xfce-terminal but the result i the same with the one from here. I also find some issues on this project referring to the issue with the powerline on urxvt. I will try to use what @otommod suggested. Thank you for your help.

Same issue here, except I have three systems with nearly identical Arch configs (installed using a setup script that installs all the same packages and copies in my configs). Only one of the three systems is giving this behavior: the other two work. For the life of me I cannot figure out the difference. I have the same fonts installed, the same URXVT compile and config, etc.

UPDATE: Solved, at least for me. The difference for me was the failing system did not have a default locale set in /etc/locale.conf. Forcing a UTF8 locale fixed this issue. Those with the same problem should try something like sudo localectl set-locale en_US.UTF-8 to be followed by a reboot.

Closing this issue for being outdated, at least partially resolved and highly dependent on user configuration. (Marking as INVALID due to the latter: errors in user system configuration are not powerline issues, even though configuration changes are being made for powerline.)

I'm very sorry for necro'ing this issue, but I'm just leaving this here because this is still high up in the search ranks for this particular problem. It doesn't pertain to Powerline specifically, but it might help out some users none the less. _This is not a Powerline issue_

So, apart from having your locale set properly (an obvious one), most of the Urxvt AUR packages I've come across (specifically rxvt-unicode-patched and rxvt-unicode-better-wheel-scrolling, a must-have IMO) _are compiled without unicode3 support and frills disabled_. I wouldn't be surprised if other distributions used the same compiler flags. Run urxvt --help 2>&1 | grep options: to check which options it was built with. Should contain at least frills, unicode3 and optionally iso14755 if you want to input Unicode characters as well.

In the PKGBUILD under build():

Change
--disable-frills \
to

--enable-frills \
--enable-unicode3

As long as your terminal emulator is compiled without unicode rendering, no amount of configuration will make it display unicode characters. They're being considered 'unnecessary features', but they add negligible overhead to the size of the installed package (~100KB).

Hope this helps!

Sincerely, a fellow terminal lover

Thanks @ti-mo, that's the most useful thing to come out of this issue. I've since switched to Termite and am quite happy with it, but just confirmed that does indeed solve that particular URXVT issue on one system that wasn't fixed by just the locale fix.

Hey @alerque , happy that solved it for you too! Made a PR to add this to the docs, so hopefully it's a thing of the past for good.

@ti-mo Thanks man, you saved me from wasting another day on trying to get this right in Xterm!!! Definitely owe you a beer ( or 6!)

I'm on Debian 4.9.2-2 with the following urxvt:

rxvt-unicode (urxvt) v9.22 - released: 2016-01-23 options: perl,xft,styles,combining,blink,iso14755,unicode3,encodings=eu+vn+jp+jp-ext+kr+zh+zh-ext,fade,transparent,tint,pixbuf,XIM,frills,selectionscrolling,wheel,slipwheel,smart-resize,cursorBlink,pointerBlank,scrollbars=plain+rxvt+NeXT+xterm

I'm seeing squares where I should be seeing symbols in my oh-my-zsh line ie.
/usr/local/src/filedir on master [?] via 💎

@kfrz I'm getting the same issue. unicode3 and frills are enabled but I'm getting rectangles instead of arrows. Arch linux, i3 and urxvt

I found a solution that worked for me. I just had to install the fonts from here. https://github.com/powerline/fonts

I am having this same problem. The closest i have come to solving it is that my i3 window manager is launching the applications with its default encoding set to C. Which does not have the powerline symbols. My regular environment is set to utf8. This means that if I launch urxvt from another terminal application and define the font, it will contain the powerline symbols. I am not sure how to change the default encoding for i3 to utf8.

@kparikh1 Based on what I know i3 has nothing to do with defining locale, it will use whatever locale it was launched with. You need to configure whatever runs i3.

At least, I am using i3 and I do not have the issue. But I am running that “manually” from <C-A-F1> terminal which already has proper locale, not using any kind of automatic X startup or things like gdm as configuring them would be a useless waste of time. Proper locale in that terminal is coming from /etc/env.d/99locale sourced through /etc/profile.env (env-update merges all files from /etc/env.d there) sourced by /etc/zsh/zprofile, you distribution should have similar mechanizm which maybe will apply to whatever you use to run i3.

@hanss314 I can confirm, on Debian Stretch, installing _powerline python3-powerline_ and _fonts-powerline_ only install fallback _PowerlineSymbols.otf_ font. While it is working for some terminals, it does not for _urxvt_, even compiled with all the needed flags. You have to install at least one of github powerline patched fonts and select it in you ~/.Xresources, ie.:
URxvt*font: xft:Source\ Code\ Pro\ for\ Powerline,Source\ Code\ Pro\ Medium:size=11

Was this page helpful?
0 / 5 - 0 ratings