.tmux: Powerline not rendered correctly

Created on 20 Jul 2018  ·  26Comments  ·  Source: gpakosz/.tmux

Hi,
I installed PowerlineSymbols.otf but when trying to change the settings to display powerline. This is the result I have. What am I doing wrong?

screen shot 2018-07-20 at 2 44 57 pm

support

Most helpful comment

Alright, are you using an UTF-8 locale? What happens when you export LC_ALL=en_US.UTF-8 before launching tmux?

Also, your animated gif shows you're opening your 26th tmux session. Did you try to kill all tmux processes including the server process after having checked your configuration?

All 26 comments

Hi @agiuliano 👋

What am I doing wrong?

Installing PowerlineSymbols.otf font I guess? 😅

More seriously. I'm sorry I don't know how to help you. It depends on your OS and your terminal emulator. Please make sure you read https://github.com/gpakosz/.tmux#enabling-the-powerline-look if you didn't already.

Your screenshot clearly shows your editor doesn't render Powerline symbols either. As a first troubleshooting step, I would try installing the Source Code Pro font (which contains the proper powerline symbols) and configure my terminal to use it.

Good luck! 🍀

Thanks @gpakosz , I thought I installed PowerlineSymbols.otf by just downloading it and then running fc-cache .fonts. Is that not enough?

@agiuliano I honestly don't know. I'm myself using Source Code Pro which has the proper symbols 🤷‍♂️

@gpakosz alright thanks, which installation guide you followed?

I installed the Source Code Pro font just like any other font

I'm using an answer from here but when I comment out tmux_conf_theme_left_separator_main='' I still have the same issue :(

I'm sorry but troubleshooting your whole Linux + terminal setup is out of scope for this tmux configuration 😐

You'll have to troubleshoot your setup until the following command prints the Powerline symbols correctly. Please make sure it works outside of tmux first.

$ printf '%b\n' '\ue0b0\ue0b1\ue0b2\ue0b3'

image

Good luck! 🍀

thank you @gpakosz !

I solved by installing the font on my mac (not on the remote host) and set iTerm to use the patched fonr for powerline

Yeah sure. Font has to be configured where the terminal emulator runs.

Thanks @gpakosz , I thought I installed PowerlineSymbols.otf by just downloading it and then running fc-cache .fonts. Is that not enough?

Your comment made me assume you were running everything on Linux

I don't understand why my tmux can't see powerline symbols.

See the gif for more info.

tmux powerline

Hey @killua99 👋

What do you see when you edit your ~/.tmux.conf.local copy outside of tmux. Do you see the powerline symbols?

Yes I do, I did try that.

I ran printf '\ue0c0' and I see the symbol (outsite tmux) I run it with tmux, and see nothing. I edit with vim the ~/.tmux.conf.local and see the symbol too.

What's $TERM outside of tmux?

both xterm-256color

Inside tmux, this should be screen-256color

Oh, right, I saw wrong, outsite tmux is xterm-256color, inside tmux is screen-256color. My bad I just saw 256 and skip the rest.

Alright, are you using an UTF-8 locale? What happens when you export LC_ALL=en_US.UTF-8 before launching tmux?

Also, your animated gif shows you're opening your 26th tmux session. Did you try to kill all tmux processes including the server process after having checked your configuration?

inside tmux

LANG="en_US.UTF-8"
LC_COLLATE="en_US"
LC_CTYPE="en_US"
LC_MESSAGES="en_US"
LC_MONETARY="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_ALL="en_US"

outside tmux:

locale (2s 341ms) LANG="en_US.UTF-8" LC_COLLATE="en_US" LC_CTYPE="en_US" LC_MESSAGES="en_US" LC_MONETARY="en_US" LC_NUMERIC="en_US" LC_TIME="en_US" LC_ALL="en_US"

BTW, $ printf '\ue0c0' isn't a symbol known by my Source Code Pro font here.

But $ printf '\ue0b0' displays the "plain right triangle" symbol.

If I change them is the same. $ printf '\ue0c0' is a Powerline Nerd Font: https://github.com/ryanoasis/nerd-fonts

I'm sorry I don't know then 🤷‍♂️

You may want to launch tmux without my configuration and see whether symbols are printed correctly:

$ tmux -L test -f /dev/null

My experience is that problems with fonts and Powerline symbols is either a terminal emulator issue or a tmux issue, but not a configuration issue.

was something with fish shell, with the LANG variable, I remove it from fish shell setup and it start working. odd 🤷🏽‍♂️

Alright, are you using an UTF-8 locale? What happens when you export LC_ALL=en_US.UTF-8 before launching tmux?

Also, your animated gif shows you're opening your 26th tmux session. Did you try to kill all tmux processes including the server process after having checked your configuration?

Had the same problem and setting LC_ALL before calling tmux on my .bashrc fixed it. Tmux need it to render the fonts correctly

Mac:
Terminal —— Preference——Profiles——Font——change——choose your font

Just a quick message for those having this issue, I am on Archlinux and I forgot to fill my /etc/locale.conf file as stated in the official installation, this has caused my TMUX installation to display weird symbols instead of the powerline ones.

Setting the LC_ALL=en_US.UTF-8 locale inside the /etc/locale.conf file (with administrator privileges) has successfully resolved this issue like said here.

$ sudo vim /etc/locale.conf
LC_ALL=en_US.UTF-8
$ reboot #or logout/login

EDIT:

For interested people, I also wanted to have Powerline with VIM. Unfortunately, that didn't rendered well at first, turns out my TERM was set to screen inside of tmux, but alacritty outside. So if you need to use Powerline, properly set your TERM inside of your *shrc and you'll be good to go.

$ vim ~/.zshrc
export TERM=alacritty # or whatever is your terminal emulator
Was this page helpful?
0 / 5 - 0 ratings