How to change the color of menu text?

Solution 1:

To change that property, you'll need to hack the gtkrc file for the theme in question. I presume that you're working with Ambiance.

The first thing you probably want to due is make a local copy of the theme instead of working on the system wide copy. Let's call it Ambiance-Mod. Open a terminal an run this:

cp -r /usr/share/themes/Ambiance ~/.themes/Ambiance-Mod

You also need to edit the index.theme to use your new theme.

gedit ~/.themes/Ambiance-Mod/index.theme

Change all instances on Ambiance to Ambiance-Mod

You should have Ambiance-Mod in your "Apperience Preferences." Now let's edit the gtkrc file.

gedit ~/.themes/Ambiance-Mod/gtk-2.0/gtkrc

The the part that controls the text you'd like to change can be found on line 334, fg[INSENSITIVE] for style "menu" = "dark"

style "menu" = "dark" {
    xthickness = 0
    ythickness = 0

    bg[NORMAL] = "#43423f"
    bg[INSENSITIVE] = "#43423f"
    fg[INSENSITIVE]   = shade (0.54, "#43423f")

    engine "murrine"
    {
        roundness = 0
    }
}

You need to change shade (0.54, "#43423f") to use your desired Hex color. Try something like "#969696" Make sure it is quoted.

change color

If you're not afraid of messing up the original theme, you could edit /usr/share/themes/Ambiance/gtk-2.0/gtkrc directly and skip the parts about copying the theme and renaming things in index.theme

If you'd like to play around with more options, check out the GTK Theming Tutorial on the GNOME wiki.