Hi Guix,
IBus is still broken. That’s primarily because we don’t generate an
input method modules cache file that GTK+ looks for. The cache file for
GTK3 can be generated with
gtk-query-immodules-3.0 /path/to/profile
Then we point the environment variable GTK_IM_MODULE_FILE to the file.
I tried this, rebooted, and noticed that now any GTK2 application
crashes. That’s because GTK_IM_MODULE_FILE is used by both major GTK
versions, but the input method modules are not compatible with both
versions.
NixOS encountered the same problem:
https://github.com/NixOS/nixpkgs/pull/14568
I don’t like their solution to set a variable NIX_PROFILES and let GTK
look for immodule files in each of the directories. Instead, I think we
should patch both GTK versions to respect GUIX_GTK2_IM_MODULE_FILE and
GUIX_GTK3_IM_MODULE_FILE, and generate the immodule cache files in a
profile hook.
We did something similar before with GUIX_GTK2_PATH and GUIX_GTK3_PATH.
Upstream doesn’t want to accept patches like this because they are
moving away from dynamically switchable input method modules. Instead
they will just support a single input method system per platform. This
means that ultimately we will be able to drop these patches.
What do you think? Is this acceptable/reasonable?
~~ Ricardo