El look de las aplicaciones GTK cuando usamos KDE

Uno de los problemas más feos con los que suelo toparme, es el look de de los programas que han sido creados con las librerías GTK+ (2.0).

No digo que sea mala librería, o que las aplicaciones sean feas. El diseño y distribución de las interfaces gráficas son responsabilidad del equipo de desarrollo del programa en cuestión. Pero “el como se ven” los botones, cuadros, menús, etc. Son responsabilidad (inicialmente) del tema que trae la distribución Linux (o sistema unix-like) que estemos ocupando.

En mi caso, con ArchLinux, es 100% responsabilidad del usuario, debido a que todo se instala a mano. El problema es que los que usamos KDE y a la vez ciertas aplicaciones hechas con GTK (como el compiz-config-settings-manager o mysql-query-browser) notamos como el tema de nuestro escritorio no pega ni junta con estos programas.

Hay una solución intermedia llamada gtk-qt, que es un “engine” para gtk que sirve como wrapper(*) de los temas hechos con QT (librería gráfica, base de KDE). Al instalar este engine, debería aparecer un nuevo ítem en el Centro de Control de KDE (kcontrol) llamada “GTK Styles and Fonts”.

Lo malo de gtk-qt, es que como wrapper, tiene algunas falencias notorias, como ciertos controles mal dibujados, o que no tome bien el fondo de una ventana o ese tipo de cosas molestas. Sobre todo cuando ocupamos un tema atípico en nuestro KDE (como en mi caso, Baghira).

Hay una segunda alternativa involucra tener instalado gtk-qt. El panel nuevo en el Centro de Control nos permite escoger otro tema de gtk nativo en vez de funcionar como wrapper de qt.

Para instalar gtk-qt en Archlinux hacemos

  • Si tenemos KDE: sudo pacman -S gtk-qt-engine
  • Si tenemos KDEmod: sudo pacman -S kdemod-gtk-qt-engine

En (*)Ubuntu/Debian se puede encontrar con synaptics/adept-manager/kpackage o con apt en consola:

  • sudo apt-get install gtk-qt-engine

En otras distribuciones, bastara con hallarlo en el manejador de paquetes correspondiente.
Una vez que tenemos el wrapper instalado, buscamos un tema para GTK+2.0 que sea parecido a nuestro tema QT. En mi caso, encontré uno que me encaja más o menos con Baghira (mi tema de KDE). No se ve nada mal.

Hay que tener ojo y fijarnos si el tema requiere de algún “engine” de gtk, pues de requerirlo es necesario instalar el engine para que se vea bien el tema. Generalmente los engines de gtk más necesarios están en los repositorios de la distribución.

Por ejemplo, en la misma página que lo encontré decía que necesitaba el engine “aurora”. Busque en los repositorios por ese nombre y encontré el paquete “gtk-aurora-engine”. Más claro que agua de manantial.

OK, era cosa de instalarlo como cualquier otro paquete. Para instalar el tema, se debe copiar el archivo comprimido (con permisos de root) a la carpeta /usr/share/themes y descomprimirlo ahí mismo (con permisos de root también). Ejemplo:

sudo cp ‘archivo del tema.tar.bz2’ /usr/share/themes # copiar el archivo a la carpeta de temas

cd /usr/share/themes # movernos a la carpeta de temas

tar jxvf ‘archivo del tema.tar.bz2’ # descomprimir el archivo (ojo que está ajustado para bzip2).

Bien. Tenemos el engine y el tema instalado. Entonces para activarlo, es necesario dirigirnos al Centro de Control de KDE, donde en la sección Aspecto y Temas, encontraremos el ya mencionado “GTK Styles and Fonts”.

En el primer grupo de opciones dice “GTK Styles” y da 2 opciones, “Use My KDE Style in GTK aplications” (opción a veces problemática) o “Use Another Theme”.

Ahí escogemos el tema recién instalado y le damos “aplicar”.

Ahora para probar, basta abrir algún programa basado en GTK, por ejemplo: Openoffice, Eclipse, Mysql-Query-Browser, Compiz-Config-Settings-Manager, Netbeans, …

Espero que sea de ayuda. si algo no queda claro, díganmelo.

(*) Wrapper o envoltura: es una capa intermedia entre una aplicación interna y externa, con el objetivo de poder hacer funcionar la interna como lo haría la externa, en forma transparente al usuario aunque la interna sea algo totalmente diferente. Ejemplos: ndiswrapper (app interna: driver de windows, app externa: módulo del kernel de linux) ; gtk-qt (app internta: librerías qt, app externa: librerías gtk). En programación, se conoce como Adaptador.

6 comentarios sobre “El look de las aplicaciones GTK cuando usamos KDE”

  1. Buen post, pero algo que he estado buscando y aun no encuentro respuesta es cómo hacer que las aplicaciones que usan gtk luzcan bien cuando son corridas como root, es decir cuando se ejecutan con sudo, o ksudo, como es el caso de synaptic sobre kde, yo lo uso porque adept es inutil, no tiene el poder de synaptic (kubuntu 8.10), pero synaptic luce horrible cuando lo ejecuto. Por ahi en el irc me dijeron que era imposible pero yo creo que si se puede o debe haber una manera de redibujar la gui cuando se ejecuta la aplicacion como root.

  2. PA’q Synaptic luzca bien…

    Si ya tienes instalado el paquete gtk2-engines-qtcurve entonces solo tienes q copiar/sobreescribir el archivo de configuracion al root…

    sudo cp .gtkrc-2.0-kde4 /root/.gtkrc-2.0

    Uso Kubuntu Karmic.. supongo sera el mismo problema para un 8.10.

  3. No se si a alguno de uds les ha pasado que las aplicaciones de GTK trabajando bajo KDE con GTK-QT engine, no tienen iconos …

    La solucion es modificar el archivo .gtkrc del home pero algun de uds sabe algunna forma de que el GTK Styles and Fonts no modifique dicho archivo ? o por lo menos la linea de los iconos???

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *