miércoles, 14 de diciembre de 2011

Los acentos y las aplicaciones Qt

Retornando a clases, volví a desempolvar varios programas que tenía instalados hace tiempo pero que ni había usado, como es el caso de Anjuta, que aproveché que en Debian Testing está ya en su versión 3.2.2, y RStudio, un espectacular IDE para programar en R, un lenguaje estadístico bastante poderoso y que ha tenido una grandísima inversión en los ultimos años.

RStudio está hecho con Qt4, el framework para crear aplicaciones multiplataforma (funciona en los típicos Windows, MaxOSX, y Linux, además de muchos modelos de Celulares Nokia, y hasta en Android ). Bastante poderoso, aunque en lo personal me gusta más Gtk, y cuando son programas multiplataforma, el ya nombrado wxWidgets (que en su próxima versión, vendrá portado a Gtk3).

Dadas las bondades que trae Qt, no me extraña que los creadores de RStudio lo hayan escogido. Sin embargo, tuve un problema con las tildes... no podía escribirlas y salían siembre as`i, muy molesto, sobretodo porque con los años me he acostumbrado a ir poniendo las tildes automáticamente cuando escribo. Yo ya sabía que tenía este problema pues con el Skype sucedía lo mismo, aunque con él nunca sufrí porque no lo uso mucho, pero con el RStudio... documentar código sin tildes no es algo que me agrade <_<


Solución al problema de los acentos en Qt

Básicamente, en la red ya circulaba una solución, que incluía la instalación de scim, pero al día de hoy, scim ya no se usa en general, pues ha sido sustituido en su mayoría por iBus que es más potente. Así que, esa solución no va a funcionar actualmente en la mayoría de los casos.

Por lo que la solución vendría siendo, instalar el paquete de iBus para qt (lo más probable es que el iBus de gtk ya lo tengas):
sudo aptitude install ibus-qt4
Y luego, ir a editar el archivo profile del sistema con:
sudo gedit /etc/profile
y agregar estas lineas al final:
#iBus para QT
export QT_IM_MODULE="ibus"
y obviamente reiniciar el pc para que la variable del sistema quede activa.

Para saber si todo está bien, basta con escribir en el terminal echo $QT_IM_MODULE, y ver que nos devuelva ibus.
En teoría esto es cuando se tienen problemas con Qt, quizás si el problema es al revés, ie: aplicaciones Qt bien, y Gtk mal, haciendo lo mismo pero con GTK_IM_MODULE se solucione...

Saludos!, y espero que les funcione ^^U


https://code.google.com/p/ibus/wiki/Install#Run_gnome,_kde_or_old_X_applications

Update:

Después de pelear recientemente otra vez con el problema de las tildes en skype, dí con otra solución que es todo lo contrario a la anterior, por si esa no les funciona:

Antes de abrir skype, deberían de eliminar la variable de entorno "XMODIFIERS", con esto, se evita que el ibus intervenga en la gestión de la escritura... sí, se pierde las capacidades para escribir en otros idiomas, pero ganamos la posibilidad de poner las tildes. Esto se hace con el comando:
unset XMODIFIERS

Así que podemos crear un script para abrir el skype de esa forma, que contendría lo siguiente:

#!/bin/bash

unset XMODIFIERS
skype &

Hacen un archivo de texto en /usr/bin con el nombre que quieran, y le dan permisos de ejecución con chmod +x y listo.


2 comentarios:

Anónimo dijo...

Andaba con problemas en RStudio tb y algunos editores de LaTeX y al final lo que tuve que hacer es editar los .desktop y dirigirlos a un script donde estaba el unset XMODIFIERS, porque nada me funcionó, y a lo que parece no hay una solución al tema.

Si llegas a saber de algo pega el grito!!! Saludos y gracias

Anónimo dijo...

A mi me funciono a la manera antigua te dejo el link
https://blogchampuru.wordpress.com/2009/01/28/no-puedo-usar-acentos-con-aplicaciones-qt/
saludos