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


Reply via email to