tmux bottom bar color change

There are many options given in the manual. (See the OPTIONS section.) Create an RC file: ~/.tmux.conf. The contents below enables UTF-8, sets the right TERM type, and draws the status bar with a black background and white foreground.

set status-utf8 on
set utf8 on

set -g default-terminal "screen-256color"

set -g status-bg black
set -g status-fg white

In FreeBSD 10.1, I have had to add -g to the UTF directives.

set -g status-utf8 on
set -g utf8 on

On UTF-8, many SSH clients require one to explicitly define a character set to use. For example, in Putty, select Window -> Translation -> Remote character set: UTF-8 and select Use Unicode line drawing code points.

And to turn off the status bar...

set -g status off

On colors from the manual...

message-bg colour

Set status line message background colour, where colour is one of: black, red, green, yellow, blue, magenta, cyan, white, colour0 to colour255 from the 256-colour palette, or default.

So, to list the available colors, first create a script, maybe colors.sh:

#!/usr/bin/env bash
for i in {0..255} ; do
    printf "\x1b[38;5;${i}mcolour${i}\n"
done

Next, execute the script, piping to less:

colors.sh | less -r

This produces a list of colors, 1-255, in this format:

colour1
[...]
colour255

Pick a color from the list, perhaps colour240, a shade of grey. In ~/.tmux.conf, use this value to set the desired color:

set -g status-bg colour240

In Fedora 17, 256-color terminals are not enabled by default. The official method used to enable 256-color terminals by default is given on the Fedora Project Wiki. Follow that guide, or, as a per-user solution, create an alias for tmux to force 256-color support with the "-2" switch.

alias tmux="tmux -2"

Then start tmux to test it.

Note that, as @ILMostro_7 points out, it would not be correct to set the TERM type for tmux from, for example, ~/.bashrc. Each tmux pane emulates a terminal - not the same thing as an xterm. The emulation in tmux needs to match screen, a different terminal description, to behave properly; but, the real terminal does not need to do so. It's description is xterm-256color.


For me it's C-b, :set status-style "bg=red".

Tags:

Colors

Tmux