Cómo anular los temas GTK3 / Gnome Shell por aplicación

12

Estoy usando Cinnamon y Gnome Shell (Gnome 3) en Fedora 17 con el tema oscuro Blapple . Muchas aplicaciones no pueden manejar temas oscuros muy bien.

En Gnome 2 tenía una solución simple para estos programas. Simplemente les indiqué que usaran un tema ligero a través de la variable de entorno GTK2_RC_FILEScomo la siguiente (el ejemplo funcionó en alguna configuración de Ubuntu Gnome 2 2009):

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

Ahora en Gnome 3 eso no funciona. Lo probé en muchas variaciones diferentes de comando como las siguientes, sin éxito hasta ahora:

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

No puedo encontrar documentación sobre esto en ningún lado. Si sabe cómo hacerlo o dónde podría obtener esa información, dígame.

Por qué anular : en caso de que LibreOffice y OpenOffice intenten solucionar los problemas parece inútil. Cuando se instala el tema Blapple, todo tiene un fondo gris. Intentar anular el color de fondo predeterminado en Calc, por ejemplo, hace que el fondo sea blanco, pero también anula todas y cada una de las celdas de fondo personalizadas para que sea blanco, lo cual es horrible. No me dejes empezar por lo bien que funciona Impress ...

aef
fuente
GNOME Shell usa GTK3 - no GTK2
fpmurphy
Yo sé eso. Probé los dos.
aef

Respuestas:

8

Tengo el mismo problema, OpenOffice + tema negro se ve feo. Parece que no hay nada que sea tan conveniente como la antigua GTK2_RC_FILESvariable, pero mira esto:

Una aplicación puede hacer que GTK + analice una hoja de estilo CSS específica llamando gtk_css_provider_load_from_file()y agregando el proveedor con gtk_style_context_add_provider()o gtk_style_context_add_provider_for_screen (). Además, ciertos archivos se leerán cuando se inicialice GTK +. Primero, el archivo XDG_CONFIG_HOME/gtk-3.0/gtk.cssse carga si existe. Luego, GTK + intenta cargar HOME/.themes/theme-name/gtk-3.0/gtk.css, volviendo a GTK_DATA_PREFIX/share/themes/theme-name/gtk-3.0/gtk.css, donde theme-name es el nombre del tema actual (vea la "gtk-theme-name" configuración) y GTK_DATA_PREFIXes el prefijo configurado cuando se compiló GTK +, a menos que sea anulado por la GTK_DATA_PREFIXvariable de entorno.

Fuente

Esto significa que al hacer esto, fuerza a GTK a usar el tema plano predeterminado:

env GTK2_RC_FILES= GTK_DATA_PREFIX= libreoffice --writer

Parece que no existe la posibilidad de anular el nombre del tema (que es un poco estúpido y debe corregirse), por lo que parece que la única forma sería crear un directorio de temas "falso".

leoluk
fuente
8

Sé que esta es una pregunta muy antigua, pero es cómo hacerlo en GTK + 3.

GTK_THEME=Adwaita gnome-calculator

o usar

GTK_THEME=Adwaita:dark gnome-calculator

para la variante oscura del tema Adwaita.

Michael Tunnell
fuente
Bonito hallazgo; esto funciona para gnome-calculator pero no funciona para todas las aplicaciones :(
Ninj0r