Hi, Am Dienstag, den 04.05.2021, 09:46 +0200 schrieb Ricardo Wurmus: > Hi Leo, > > I haven’t been able to get ibus-libpinyin to work even when these > variables are set. I know that these variables used to work once. "Used to work" in what sense? Did ibus-libpinyin work for you or someone else with these variables set and now it's no longer working? > I don’t know if setting them is the correct thing to do for Gnome. > This patch would also only work for system-wide installations of > input methods. Input methods that have been installed in a user > profile would not be part of the cache files. I'm not sure we can expect things to "just work" with ibus in the user profile. As far as I'm aware, we don't expect GDM to find the user's custom gnome installation without some hacking on their part, so I don't understand why we would expect GNOME to find ibus in a similar setup. > Can we take a step back and come to an understanding of how ibus > in Gnome is supposed to work? Ibus in Gnome is (supposed to be) > more “integrated” than in other environments, which means that we > should first aim to understand what Gnome attempts to do with > ibus. As far as I know, GNOME should recognize ibus as one of its input modules and then offer appropriate input sources in its settings. The specifics are handled by gsd-keyboard-manager, at least as far as setting these is concerned. How the settings are interpreted is probably a matter of GtkIMContext, which at some point hands off control to ibus IIUC. > We should also take into account dconf keys, such as these: > > /desktop/ibus/ This seems to contain settings, that IBus wants to know about, including stuff like what Emojis you last typed for the completion UI and so on, and so forth. Of particular interest here is probably the key '/desktop/ibus/general/preload-engines', which lists all engines to load at startup. > /org/gnome/desktop/input-sources/mru-sources > /org/gnome/desktop/input-sources/sources These are lists of tuples, which are either ('xkb', VARIANT) or ('ibus', ENGINE). As far as I know, the latter won't work correctly without GNOME knowing about ibus existing, for which I patch GUIX_GTK*_IM_MODULE_FILE. > /org/gnome/desktop/interface/gtk-im-module This one's likely set to "ibus" inside an ibus setup. In particular, gsd-keyboard-manager sets it to "ibus" if it notices any of the input- sources to contain an ibus engine and to "gtk-im-context-simple" otherwise. I'm sure there would be more elegant solutions, but that's the one they chose. Regards, Leo