2010-09-30 36 views
1

Dans une application pygtk, j'utilise rc_parse_string pour ajuster l'apparence de mon interface graphique. (La plupart du temps pour le faire paraître plus natif sous Windows, et à thème des widgets individuels.) Ceci, par exemple, changerait le thème d'icônes pour mon application:Remplacer les paramètres de thème de gnome-settings-daemon dans GTK

gtk.rc_parse_string(""" 
     gtk-icon-theme-name = "Galaxy" 
    """) 

Cela fonctionne sous Windows, mais il ne fonctionne que sous Linux lorsque gnome-settings-daemon n'est pas en cours d'exécution. Comment remplacer les paramètres de thème créés par gnome-settings-daemon? (Dans mon application uniquement, sans changer les paramètres du système!)

(En passant, le même problème se produit lorsque vous essayez de mettre en forme une application individuelle en définissant GTK2_RC_FILES. Cela fonctionne pour les applications non-natives comme OpenOffice, mais échoue pour les applications gnome natives dès que le démon paramètres est en cours d'exécution.)

Répondre

1

J'ai finalement trouvé comment le faire. Pour remplacer le thème de l'icône:

settings = gtk.settings_get_default() 
settings.set_string_property("gtk-icon-theme-name", "galaxy", "") 

Il y a une liste de tous les réglages possibles dans le GtkSettings documentation.

Si vous voulez emballer le thème d'icônes avec votre application, ajoutez le répertoire de script à l'icône chemin de recherche avant de changer la propriété:

theme = gtk.icon_theme_get_default() 
theme.prepend_search_path(sys.path[0])