Wie können GTK3 / Gnome Shell-Designs pro Anwendung überschrieben werden?

6769
aef

Ich verwende sowohl Zimt als auch Gnome Shell (Gnome 3) auf Fedora 17 mit dem dunklen Thema Blapple . Viele Anwendungen können dunkle Themen nicht sehr gut verarbeiten.

In Gnome 2 hatte ich eine einfache Lösung für diese Programme. Ich habe sie gerade angewiesen, ein Light Theme über die Umgebungsvariable GTK2_RC_FILESwie folgt zu verwenden (Beispiel funktionierte in einigen 2009 Ubuntu Gnome 2-Setups):

env GTK2_RC_FILES=/usr/share/themes/Human/gtk-2.0/gtkrc ooffice --writer 

In Gnome 3 funktioniert das jetzt nicht. Ich habe es in vielen verschiedenen Variationen des Kommandos ausprobiert, bis jetzt ohne Erfolg:

env GTK2_RC_FILES=/usr/share/themes/Adwaita/gtk-3.0/gtkrc GTK3_RC_FILES=/usr/share/themes/Adwaita/gtk-3.0 libreoffice --writer 

Ich kann nirgendwo Unterlagen finden. Wenn Sie wissen, wie es geht oder wo ich diese Informationen erhalten kann, teilen Sie mir das bitte mit.

Warum überhaupt überschreiben : Im Falle von LibreOffice und OpenOffice, die versuchen, die Probleme zu umgehen, erscheint es sinnlos. Wenn das Blapple-Design installiert ist, hat alles einen grauen Hintergrund. Wenn Sie beispielsweise versuchen, die Standardhintergrundfarbe in Calc zu überschreiben, wird der Hintergrund weiß, aber auch jede benutzerdefinierte Hintergrundzelle wird weiß, was schrecklich ist. Lass mich nicht damit anfangen, wie schön Impress funktioniert…

9
GNOME Shell verwendet GTK3 - nicht GTK2 fpmurphy1 vor 11 Jahren 0
Ich weiß das. Ich habe beide probiert. aef vor 11 Jahren 0

2 Antworten auf die Frage

6
leoluk

I have got the same problem, OpenOffice + black theme looks ugly. Is seems there's nothing which is as convenient as the old GTK2_RC_FILES variable, but take a look at this:

An application can cause GTK+ to parse a specific CSS style sheet by calling gtk_css_provider_load_from_file() and adding the provider with gtk_style_context_add_provider() or gtk_style_context_add_provider_for_screen(). In addition, certain files will be read when GTK+ is initialized. First, the file XDG_CONFIG_HOME/gtk-3.0/gtk.css is loaded if it exists. Then, GTK+ tries to load HOME/.themes/theme-name/gtk-3.0/gtk.css, falling back to GTK_DATA_PREFIX/share/themes/theme-name/gtk-3.0/gtk.css, where theme-name is the name of the current theme (see the "gtk-theme-name" setting) and GTK_DATA_PREFIX is the prefix configured when GTK+ was compiled, unless overridden by the GTK_DATA_PREFIX environment variable.

Source

This means that by doing this, you force GTK to use the default plain theme:

env GTK2_RC_FILES= GTK_DATA_PREFIX= libreoffice --writer 

There doesn't seem to be a possibility to override the theme name (which is a bit stupid and should be fixed), so it seems the only way would be to create a "fake" theme directory.

6
Michael Tunnell

Ich weiß, dass dies eine sehr alte Frage ist, aber dies ist, wie man es in GTK + 3 macht.

GTK_THEME=Adwaita gnome-calculator 

oder verwenden

GTK_THEME=Adwaita:dark gnome-calculator 

für die dunkle Variante des Adwaita-Themas.

Schöner Fund; Dies funktioniert für Gnome-Rechner aber nicht für alle Anwendungen :( Ninj0r vor 5 Jahren 0