Pergunta

Em um aplicativo PYGTK, estou usando RC_PARSE_STRING para ajustar a aparência da minha GUI. (Principalmente para torná -lo mais nativo no Windows e tema widgets individuais.) Isso, por exemplo, mudaria o tema do ícone para o meu aplicativo:

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

Isso funciona no Windows, mas só funciona no Linux quando o Gnome-Settings-Daemon não está em execução. Como substituo as configurações do tema feitas por gnome-settings-Daemon? (Somente no meu aplicativo, sem alterar as configurações em todo o sistema!)

(A propósito, o mesmo problema ocorre quando você tenta tema um aplicativo individual, configurando GTK2_RC_FILES. Ele funciona para aplicativos não nativos como o OpenOffice, mas falha nos aplicativos GNOME nativos assim que o daemon das configurações estiver em execução.)

Foi útil?

Solução

Acabei descobrindo como fazer isso. Para substituir o tema do ícone:

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

Há uma lista de todas as configurações possíveis no Documentação do GTKSettings.

Se você deseja empacotar o tema do ícone com seu aplicativo, adicione o diretório de script ao caminho da pesquisa de ícones antes de alterar a propriedade:

theme = gtk.icon_theme_get_default()
theme.prepend_search_path(sys.path[0])
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top