I'm trying to set something to gray, but can't figure out how. The only bit of info in the man page about colors I can find is:
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. I also found a blog post which iterates through colors, but I can't quite grok it, and don't want to sit at the terminal all day guessing color numbers until one works.
7 Answers
You can get a list with this bash snippet:
for i in {0..255}; do printf "\x1b[38;5;${i}mcolour${i}\x1b[0m\n" done Then use colourxxx with tmux.
I found this image to be enlightening.
1In Subversion (what will be tmux 1.5) you can also use #abcdef hex-style colours which are mapped to the nearest 256 colour palette entry. You need quotes as it's treated as a string, whereas regular color names are treated as named constants. Also note that 3-letter shorthand (#f00) is invalid.
Example:
set pane-active-border-bg red # no quotes for name set pane-active-border-bg "#ff0000" # quotes for rgb 3Before tmux 3.2 (released in April 2021), tmux only supported the international (British) spelling for the 256 colour palette, e.g.
"colour121" as opposed to the American spelling that drops the u
"color121" If you're using tmux 3.2 or later, you can spell it either way.
0Building up on @cYrus' answer, I wrote a script to break the output of the colors into N number of columns, where N is the first argument
# colors.sh
#!/bin/bash if [ -z $1 ]; then BREAK=4 else BREAK=$1 fi for i in {0..255} ; do printf "\x1b[38;5;${i}mcolour${i} \t" if [ $(( i % $BREAK )) -eq $(($BREAK-1)) ] ; then printf "\n" fi done Try it by saving it into a file called colors.sh, then ./colors.sh 4
Don't forget to chmod +x colors.sh first.
I've been using the xterm-color-table.vim script. Any 256 color terminal color table will work.
I find this function producing the most concise and clear output (it's not mine):
colors () { for i in {0..255} do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'} done } Then you use colourXXX where XXX is the three digits code printed above as the value for fg=, bg= etc...

