I have compose key set up on my openSUSE Tumbleweed (KDE) to map <apostrophe> + <c> to "ć" (U0107). I keep the rules in ~/.XCompose and all the programs respect them (e.g. Kate, Terminal, IntelliJ, etc), except Firefox. It keeps mapping apostrophe+c to ç. I have tried replacing all the ç's with ć's in .XCompose, but still somehow ç appears. Where does Firefox read config from and how to make it work properly?
1 Answer
It is, not so surprisingly, not a Firefox-specific problem, but rather GTK-wide (so others, such as LibreOffice, are impacted too). GTK doesn't handle input methods as one would expect, needing a separate config.
First, I needed to figure out which input method is used. gtk-query-immodules-2.0 and gtk-query-immodules-3.0 don't come with gtk2-tools and gtk3-tools which are installed by default, but require 32-bit versions, even on 64-bit systems (gtk2-tools-32bit and gtk3-tools-32bit). After installing the tools, running the query command revealed xim is not on the list of installed input methods, and I needed to install gtk2-immodule-xim, gtk3-immodule-xim and the 32-bit versions.
After making sure xim exists, the final step is to set GTK_IM_MODULE=xim and to export it in ~/.profile (somewhat strangely, even if one deletes cedilla.so from /usr/lib/gtk-*.0/[version]/immodules, it still continues to use cedillas).