I'm using a frugal installation of Slacko 6.4 x86_64 with a kernel 4.1.11 without extra packages installed (apart of dev and locale sfs)
I want to set up and use Compose keys to easy type unicode characters in every Xorg program (I know I can use the feautures of urxvt to type any unicode code-point but want a more general solution)
In order to achieve this I use Compose keys facilities, and thus I need to set my compose key (Multi_key) and compose rules.
Setting compose key can be done via XKB Configuration Manager in options tab, but I chose the manual path and thus I've:
- created a ~root/.Xmodmap file with contents:
Code: Select all
keycode 115 = Multi_key
- created a ~root/.XCompose file with all my compose rules as content, that is lines such as:
Code: Select all
<Multi_key> <a> <a> : "á" aacute
After restart (not really needed) I can check it works pretty well, when I open a urxvt window I can write all compose chars that way (i.e. compose + a + a) . This also mean I have properly set my preferred compose key (not the default one) which means urxvt is using BOTH .Xmodmap and .XCompose
The problem is almost no graphical program works that way, If I run geany it refuses to write compose sequences defined in .XCompose BUT it uses my compose key and default compose sequences (defined in default locale files). After stracing geany I see it never open .XCompose file so it's imposible to recognize my compose rules. This also happend with other programs such as Abiword, Leafpad or GNOME Mplayer
It may be due to GTK apps are ignoring XIM input method and using its own, so I ended up adding this to .xinitrc:
Code: Select all
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
export XMODIFIERS=@im=xim
Nothing happens, everything still stood
In other systems I use adding this variables solve the problem, but it seems there's something in slacko puppy not working properly (or maybe in the chosen apps)
What I would like to know is how to force graphical programs such as geany to read and use my .XCompose file. Every X client app should read that file everytime it gets executed, but this is not happening at all.
Any idea or hint? thanks a lot!
--
Another thing who begs me is maybe realted with this. My locale is a es_ES.UTF-8 and has no file in /usr/share/X11/locale ; I mean rather having a /usr/share/X11/locale/es_ES.UTF-8 folder, I get an alias in /usr/share/X11/locale/locale.dir asking to use en_US.UTF-8 as an alias, this alias seems to work well but who knows...
Also I know programs like geany is using compose rules in some file in /usr/share/X11/locale/* because some compose chars defined there are working
So I think my problem is not Compose is not working, my problem is .XCompose is not working