I find that main reason for corrupted theme behavior, was missing package
gtk-engines-murrine
in my (gentoo) distribution. Installing that package help to solve this problem. In this case no theme tweaking was needed. To check missing packages related to gtk, try to run gtk based application from shell and observe the standard output.
In case if this is not the case, one can try to check the certain colors used in gtk widgets eg. #000000 or #ffffff and search for the color occurence in theme files, which are usualy in folder
~/.themes
I use 'gcolor-2' tool for pick color of actual running widgets.
In case of theme 'AmbiancePNight' I found following in file 'gtkrc' :
style "radiocheck" = "button" {
text[NORMAL] = lighter(@selected_bg_color)
text[PRELIGHT] = shade(1.06, shade (0.535, @selected_bg_color))
bg[NORMAL] = shade (0.92, @bg_color)
bg[PRELIGHT] = mix (0.2, @selected_bg_color, shade(1.1, @bg_color))
fg[INSENSITIVE] = darker (@bg_color)
fg[ACTIVE] = @fg_color
engine "murrine" {
reliefstyle = 3
gradient_shades = {1.2, 1.0, 1.0, 0.9}
shadow_shades = {0.6, 0.5}
textstyle = 0
}
}
Start your favorite editor and, try to play with the first line for example like this: text[NORMAL] = "#fff"
After that open theme chooser dialog and de-select/select the theme to load new settings.
NOTE: that if you use wrong syntax the theme will not be loaded, and different theme will be used instead!!!