75

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?

91

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.

  • This works fine for Ubuntu, But I Fedora 17 when I set fg color to Gray it says "bad color". – Sam Jan 11 '13 at 22:02
  • I used official method from Fedora wiki, and every time I tried to login, returned this error messages: -bash: $'\r': command not found -bash: $'\r': command not found -bash: $'\r': command not found -bash: /etc/profile.d/256colors.sh: line 13: syntax error near unexpected token $'in\r'' 'bash: /etc/profile.d/256colors.sh: line 13: case "$TERM" in .Also I used the other two method, I run with no error but did not do anything! – Sam Jan 12 '13 at 9:04
  • 4
    To set bg-color to transparent: set -g status-bg default – Mr Hyde Nov 13 '13 at 11:42
  • Here's the color map: github.com/guns/xterm-color-table.vim/blob/master/… Example: color260 is orange. In Tmux, hit Control-b, then :set -g status-bg colour260. (Tmux uses international "colour" vs American "color.") Also note that Tmux has history, to update the color do Control-b, then : to enter command mode, and hit up arrow to edit the last set color command. – johntellsall Feb 9 '16 at 19:04
  • might be a better solution to use xterm-256color instead of screen-256color for the TERM environment variable. – ILMostro_7 Apr 4 '16 at 7:34
20

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

  • This solution worked for me on my mac with os 10.10.5 – Reina Abolofia Mar 21 '16 at 16:22
  • @ReinaAbolofia Great! =D – isomorphismes Apr 19 '16 at 15:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.