tmux bottom status bar color change

I recently started to use tmux and like it much, but its green bottom bar is a bit distracting, is there a way to change its color? or a way to hide it?

Asked By: Sam

||

There are many options given in the manual. (See the OPTIONS section.) Create an RC file: ~/.tmux.conf. The content 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 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.

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;%smcolour%sn" "${i}" "${i}"
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. Its description is xterm-256color.

Answered By: Christopher

For me it’s

  • Ctrl+B
  • then enter
    :set status-style "bg=red"
    
Answered By: isomorphismes

You can make the status bar transparent. Put this into your ~/.tmux.conf.

set -g status-style bg=default

enter image description here

enter image description here

Answered By: Cyrus Yip

If you are changing status-style and it is not applying, take a look at other places in your config, as you might be overriding it somehow.

I had status-left and status-right with custom fg colors, so status-style fg wouldn’t apply. Took me a while to find out.

Answered By: marcelocra
Categories: Answers Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.