I've been editing my color profile and experimenting with what each entry changes the color of.

For reference this is what I'm talking about:

enter image description here

I've looked everywhere for a list of what each color palette entry changes the color for, but ended up empty handed

This is what I know so far for each "Palette entry #":

  • 1 highlight color
  • 2 String color
  • 3 ? color of a certain highlight
  • 4 ? python 'def' and 'TODO' color
  • 5 ? Commented code, color of text when highlighted by "color palette 3"
  • 6 ? imports/ escaped characters
  • 7 ? function color main, print
  • 8 ?
  • 9 ?
  • 10 color of text under a certain highlight
  • 11 ? run-able file / executable / zip files
  • 12 ?
  • 13 Directory color
  • 14 ? PNG files, pictures
  • 15 ?
  • 16 ?

Is what I have so far correct? What do the other entries change the color of?


It works the other way around. The terminal emulator offers 2*8 colors for applications to choose from, in addition to the default foreground/background colors, and doesn't know / doesn't care how applications use them. (There are much more colors available for applications, but these are the standard ones, and the ones typically customized by the user.)

These colors are traditionally black, red, green, yellow (brown), blue, magenta, cyan, white (light gray) and their brighter counterpart. You can pick your exact favorite shade for them, there are a few predefined ones, but you can also create your own scheme (and of course no one forces you to actually pick colors that are similar to the usual values and correspond to the formal names, just as you did for the first color (white instead of black) (*), likely resulting in hardly readable look in several apps).

Each application decides on its own which colors it wants to use for which feature, context etc. You need to consult the documentation and settings of each application where you're interested in its use of colors.

For example, for the ls command check the environment variable LS_COLORS. You'll recognize the file extensions, plus there are two-letter keywords for file types. As for the values, 30–37 denote the first 8 colors as foreground ones; 90–97, or often 30–37 combined with 1 (or 01) denote the next 8 colors as foreground ones – although 1 (or 01) also makes the text bold. 40–47 stand for the first 8 colors and 100–107 for the next 8 colors as background ones. For mc (Midnight Commander) the definitions are in the skin files under /usr/share/mc/skins or a similar directory, and for its editor the syntax highlight files in the syntax directory next to it. And so on... For every single application you have to individually check which colors it uses for what purpose, and whether (and if so, how) they allow to configure them. There's no common pattern or typical assignment of colors.

(*) There used to be a bug in gnome-terminal where the first color wasn't properly initialized on the UI, so perhaps it wasn't you changing it to white. This was fixed in gnome-terminal 3.20.3.

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.