Input method framework is a software that has been used to input complex characters (e.g., Chinese characters, Hiragana, Hangul). Strictly speaking, the role of input method framework is bridging desktop applications and input method engines, which translate typed keys into complex characters. During this two decades, several input method frameworks including Kinput2, SCIM, UIM, Gcin, Fcitx, and IBus have been developed.
The situation surrounding text input method is changing. Firstly, new approaches such as software keyboard for touch screen and speech to text input are available on platforms other than Linux desktop.
Another change is the integration of input method into desktop application platforms. For example, IBus is now a part of GNOME desktop environment; Not only GNOME, Qt also include IBus support. Furthermore, Flatpack also uses a subset of IBus D-Bus interface for applications in Flatpack sandbox to communicate with an input method running on its host desktop.
Some people might think IBus is the defacto standard input method framework. However, quite many people prefer Fcitx or else due to the design issues of IBus. The latter people might think they are losing their freedom to select input method framework.
Now the speaker thinks that it is time to discuss the variety of input method frameworks is really necessary for the future Linux desktop environment. An input method framework itself does not provide much experience for users because its primary role is usually invisible to users. Thereby, how about bringing the war of input method framework and using our effort to improve input method engine, implementing the new approaches mentioned above, and supporting newer application platforms like Wayland?
In this talk, we would like to discuss what is necessary for the future input method framework by reviewing the design issues of IBus. The topics will be as the followings:
- Thin and high-level protocol with libraries avoiding code duplication
- The separation of responsibility between IBus daemon and plugins
- Importance of opened community
Note that the speaker is neither a developer of IBus nor GNOME. The attendees from GNOME community are welcome to improve this discussion.
Collaborative notes on HackMD