GTKでのgnome-設定デーモンのオーバーライドテーマ設定
質問
PyGTKのアプリでは、私は私のGUIの外観を調整するためにrc_parse_string使用しています。 (主に、それはWindowsで、テーマ個々のウィジェットに、よりネイティブに見えるように。)これは、例えば、自分のアプリケーションのアイコンテーマ変更します。
を gtk.rc_parse_string("""
gtk-icon-theme-name = "Galaxy"
""")
これはWindowsで動作しますが、GNOME-設定-デーモンが実行されていないときにのみ、Linuxで動作します。どのように私は、GNOME-設定-デーモンによって作られたテーマ設定を上書きしますか? (システム全体の設定を変更することなく、唯一の私のアプリケーションで!)
(あなたがテーマにGTK2_RC_FILES
を設定することにより、個々のアプリを試してみたときにところで、同じ問題が発生します。これは、OpenOfficeのような非ネイティブアプリケーションのために動作しますが、すぐに実行されているデーモンの設定などとしてネイティブGNOMEのアプリのために失敗します。)
解決
私は最終的にそれを行う方法を見つけました。アイコンテーマを無効にするには:
settings = gtk.settings_get_default()
settings.set_string_property("gtk-icon-theme-name", "galaxy", "")
GtkSettingsドキュメント内のすべての可能な設定のリストがありますするます。
あなたは、あなたのアプリケーションでアイコンテーマをパッケージ化プロパティを変更する前に、アイコン検索パスにスクリプトディレクトリを追加する場合:
theme = gtk.icon_theme_get_default()
theme.prepend_search_path(sys.path[0])
所属していません StackOverflow