Forzar que un programa use un tema GTK distinto al configurado 4

Forzar que un programa use un tema GTK distinto al configuradoA continuación veremos como podemos forzar que un programa use un tema GTK distinto al configurado. De esta forma podremos conseguir lo que podéis observar en la captura de pantalla:

Programas usando distintos temas GTK

Si observáis la captura de pantalla veréis que hay tres programas abiertos y cada uno de ellos está usando un tema GTK diferente:

  • El primero de los programas es Gedit y está usando el tema Adwaita Dark.
  • El segundo de los programas es Corebird y el tema que está usando es el Adwaita claro.
  • Finalmente el tercer programa es Evince y usa tema Numix.

UTILIDADES DE FORZAR QUE UN PROGRAMA USE UN TEMA GTK DISTINTO AL PREDETERMINADO

Las utilidades que puede tener la funcionalidad que acabamos de ver son las siguientes:

En ocasiones existen temas que no se visualizan correctamente en determinados programas. Si este es nuestro caso podemos forzar que el programa que se visualiza de forma incorrecta se abra con un tema GTK distinto al que tenemos configurado en nuestro sistema operativo.

Otra utilidad que puede tener es simplemente estética. Puede darse el caso que un determinado programa luzca mucho mejor con un tema claro que con un tema oscuro.

FORZAR QUE UN PROGRAMA SE ABRA CON EL TEMA GTK QUE QUERAMOS DESDE LA TERMINAL

Los pasos a seguir para forzar que un programa se abra con el tema GTK que queremos son los siguientes:

Averiguar el tipo de librerías que usa el programa

Para averiguar el tipo de librerías que usa un programa les recomiendo que lean y apliquen los consejos que se muestran en el siguiente enlace:

Qué son las librerías GTK y que versión usamos

Forzar que un programa que usa librerías GTK3 se abra con el tema que queramos

En el caso que el programa que queramos abrir use librerías GTK3, tan solo tenemos que abrir una terminal y teclear un comando del siguiente tipo:

GTK_THEME=nombre_del_tema_gtk nombre_del_programa

Por lo tanto si queremos abrir Libreoffice Writter con el tema Adwaita tenemos que ejecutar el siguiente comando en la terminal:

GTK_THEME=Adwaita libreoffice --writer

En el caso que nuestro objetivo sea abrir Corebird con el tema Adwaita oscuro tenemos que ejecutar el siguiente comando en la terminal:

GTK_THEME=Adwaita:dark corebird
Nota: Como habréis observado, en el comando que acabamos de ejecutar las variables de un tema se indican con el símbolo : seguido del nombre de la variante del tema.

Finalmente si queremos abrir el programa Catfish con el tema Numix tan solo tenemos que ejecutar el siguiente comando en la terminal:

GTK_THEME=Numix catfish

De esta forma tan fácil y tan sencilla conseguiremos forzar que un programa use el tema GTK que nosotros queramos.

Forzar que un programa que usa librerías GTK2 o QT se abra con el tema que queramos

Para forzar que un programa que utiliza librerías QT o GTK2 se abra con un tema en concreto tenemos que abrir una terminal y aplicar un comando del siguiente tipo:

GTK2_RC_FILES=ruta_del_fichero_gtkrc nombre_del_programa
Nota: La ruta del fichero gtkrc se encuentra dentro de la ubicación /usr/share/themes en cada una de las carpetas que contienen los temas.

Por lo tanto si nuestro objetivo es abrir el programa Gimp con el tema Xfce-flat tenemos que ejecutar el siguiente comando en la terminal:

GTK2_RC_FILES=/usr/share/themes/Xfce-flat/gtk-2.0/gtkrc gimp

En el caso que queramos abrir el programa Okular con el tema Numix tenemos que ejecutar el siguiente comando en la terminal:

GTK2_RC_FILES=/usr/share/themes/Numix/gtk-2.0/gtkrc okular

De esta forma tan sencilla podemos aplicar el tema que queramos en una aplicación GTK2 o QT sin cambiar el tema GTK global de nuestro escritorio.

FORZAR QUE UN PROGRAMA USE UN TEMA GTK DETERMINADO DE FORMA PERMANENTE

Para que un programa determinado se abra de forma permanente con el tema que queramos, tan solo tenemos que modificar el contenido del archivo .desktop que usamos para abrir el programa.

Para ello en la terminal ejecutamos el comando:

gksudo thunar

Una vez se abra gestor de archivos thunar navegamos a la ubicación /usr/share/applications.

Seguidamente buscan el archivo .desktop del programa que quieren abrir con un tema GTK diferente al configurado y lo abren con su editor de textos preferido.

Acceder a los ficheros .desktop para forzar el tema

Modificaciones en el archivo .desktop para aplicaciones que usen GTK3

Una vez abierto el fichero .desktop buscan la línea que empieza por las letras Exec=

Como en mi caso seleccione el archivo .desktop de Totem, la línea completa que empieza por Exec= es la siguiente:

Exec=totem %U

Una vez encontrada la línea la modifican añadiendo el texto env GTK_THEME=nombre_del_tema quedando del siguiente modo:

Exec=env GTK_THEME=Adwaita totem %U

Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero. A partir de ahora cada vez que abramos Totem se visualizará con el tema GTK Adwaita.

Modificaciones en el archivo .desktop para aplicaciones que usen GTK2 o QT

Una vez abierto el fichero .desktop buscan la línea que empieza por las letras Exec=.

Como en mi caso seleccione el archivo .desktop de VLC, la línea completa que empieza por Exec= es la siguiente:

Exec=/usr/bin/vlc --started-from-file %U

Una vez encontrada la línea la modifican añadiendo el texto env GTK2_RC_FILES=ruta_del_fichero_gtkrc_del_tema quedando del siguiente modo:

Exec=env GTK2_RC_FILES=/usr/share/themes/Clearlooks/gtk-2.0/gtkrc /usr/bin/vlc --started-from-file %U

Una vez realizadas las modificaciones guardamos los cambios y cerramos el fichero. A partir de ahora cada vez que abramos VLC se visualizará con el tema Clearlooks.

LIMITACIONES DEL MÉTODO MENCIONADO EN EL POST

El método para abrir programas con el tema GTK que queramos solo se puede aplicar bajo las siguientes condiciones:

  1. Los temas que asignamos a un programa GTK3 tienen que ser compatibles con GTK3.
  2. Los temas que asignamos a un programa GTK2 tienen que ser compatibles con GTK2.
  3. La versión de las librerías GTK3 instaladas en nuestro ordenador tienen que ser iguales o superiores a la versión 3.12.

Además hay que tener en cuenta que el cambio de tema en la barra de título únicamente se aplicará en los programas que son de Gnome.

COMPARTIR !Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInShare on RedditEmail this to someone

Post Relacionados

  • Qué son las librerías GTK y que versión usamos29 mayo, 2016 Qué son las librerías GTK y que versión usamos (5)
    En algunas ocasiones cuando vamos a instalar un tema de escritorio en nuestra distribución Linux, nos preguntamos la versión de librerías GTK que tiene nuestro sistema operativo para ver […]
  • Instalar el tema Numix gtk en Linux21 mayo, 2016 Instalar el tema Numix gtk en Linux (4)
    Recientemente se han actualizado las librerías gtk de mi sistema operativo a la versión 3.20 y esto ha ocasionado que se rompa el tema Numix que vengo usando desde hace ya bastante […]
  • Cambiar el color y el diseño de las carpetas con Numix folders18 junio, 2016 Cambiar el color y el diseño de las carpetas con Numix folders (6)
    Existen usuarios del tema de iconos de Numix que estoy seguro que les gustaría cambiar el color y la apariencia de sus carpetas. Si este es vuestro caso podéis instalar el tema de carpetas […]

4 Comentarios en “Forzar que un programa use un tema GTK distinto al configurado

  1. Reply L4ur3nc3 Ago 24,2016 8:17

    Muy interesante, yo busco este tipo de cosas por que quiero saber como forzar en Openbox el uso de GTK3 en todos los programas, con tema arc, la gran mayoría de mis programas abren en gtk2 pero varios abren en gtk3, estos últimos se ven de maravilla, me gustaría que todos usaran GTk3 pero de momento no se como forzarlo.

    Con tu articulo tengo la suposición de que si se puede, gracias, intentare encontrar una manera.

    • Reply Joan Carles Ago 24,2016 11:05

      Hola

      Un programa no se puede forzar a usar GTK2 o GTK3. Los programas se desarrollan usando GTK2 o GTK3. Si está desarrollado en GTK2 hasta que el desarrollador no lo modifique no podrás usar GTK3.

      Entiendo que en tu caso el tema arc lo puedes visualizar en todos los programas. Si es este el caso entonces si se ven mejor los programas en GTK3 será porque el desarrollador de software que lo desarrollo en GTK3 cuido más la apariencia del programa, o también puede ser que abras un programa desarrollado en GTK3 y el tema que usas no tenga una compatibilidad adecuada con GTK3.

      Saludos

      • Reply L4ur3nc3 Ago 25,2016 18:51

        Los programas que uso tienen tema en GTK3, lo vi en Gnome 3.12 cuando usaba este escritorio, pero openbox usa GTK2 como primera opción, o algo por el estilo.

        A menos que como dices el programa no tenga una versión GTk2, por ejemplo evince-nognome y baobab usan GTK3 mientras que los programas que mas uso toma GTK2 como ventana, es seguro que algunos programas no sean compatibles con GTK3 pero los que mas me importan si, es seguro que se necesitan configurar, la cuestión será averiguar como.

        Como ultima opción será esperar a que los programas dejen de lado GTK2 lo cual tomara muchísimo tiempo.

        Saludos.

        • Reply Joan Carles Ago 25,2016 19:29

          Hola

          No comprendo lo que has escrito ni lo que quieres intentar configurar.

          Es imposible que ni tu ni yo podamos configurar una aplicación GTK2 para que use un tema GTK3. La aplicación GTK2 se visualizará de acuerdo al tema que estés usando.

          Lo que se puede hacer mediante lenguaje CSS es que el aspecto de las ventanas GTK3 se asemeje a las GTK2 y de esta forma que todo el escritorio quede más integrado.

          Saludos

Deja un Comentario