Hi,
Here is my thought on my practical and non-invasive solution.
I guess the kitty upstream's negative impression on ibus/fcitx5 for dropped key
inputs comes from the well known ibus/fcitx5 daemon related problem using xim as the
communication protocol and probably not applicable if dbus is used to call ibus/fcitx
library. The upstream's latency concern with dbus may be negligible compared to how
fast we can type but it is true that adding any complication slows things.
So we better not to touch kitty code.
But kitty terminal displaying CJK-characters with millions of complicated shapes may
be the one benefit most by using GPU. So we as a distribution should offer easy
access to this feature at least as an opt-in feature.
Considering kitty is the only user of GLFW_IM_MODULE variable on Debian and it
shouldn't be turned on by default according to the upstream, I propose to add
following content as README.Debian in the Debian package of kitty.
----------
# Input Method support
You can enable input of non-Latin characters to the kitty terminal as follows:
1. Install required a set of input method program based on ibus or fcitx5
2. Place the following file named "kitty" in PATH
(e.g., ~/.local/bin or /usr/local/bin)
3. Meke "kitty" script an executable. (`chmod 755 kitty`)
---
#!/bin/sh -e
GLFW_IM_MODULE=ibus exec /usr/bin/kitty "$@"
---
fcitx5 uses the same communication protocol as ibus. So you use "ibus" even for
"fcitx5". Other input method infrastructure such as "fcitx" and "uim" are not
supported.
----------
For im-config, I think it is about time to kill upstream non-supported known broken
xim support by dropping to start daemon from im-config which sets how Debian behaves
as installed. xterm and rxvt may loose CJK input but we will get less bug report on
ill-configured modern GTK/Qt apps using xim.