Search code examples
pythongtk3pygobject

Get font color of the current GTK theme


I need to get the font color of the current theme.

I found this question that explains it how to do it in C with gtk_style_lookup_color, but it seems that the function is deprecated.

Making more researches I found the new function gtk_style_context_lookup_color

But I have problems understanding the docs. Also, when I try to call it by using Gtk.style_context_lookup_color( .. ) I get that it doesn't exists!

Is it because I need to call it with something like GtkStyleContext.style_context_lookup_color(arg1,arg2) ?


Solution

  • I found the answer using gtk.settings.

        settings=Gtk.Settings.get_default()
    
        colors=settings.get_property("gtk-color-scheme")
        colors=colors.split("\n")
    
        for color in colors:
            if 'text' in color:
                text_color=color.split(':')[1].strip()
                print text_color
                break
    

    It seems that the "gtk-color-scheme" property stores all the colors of the theme, so if you are searching for any other color you can find it in the same way!