Intro
This document intends to outline IM support within Nux now, try to figure out the problems and challenge we're facing currently, and how can we improve in future.
How it is now
Nux had no input support before, which means you can only input characters which can be typed by the keyboard or different keyboard layout directly, languages like Chinese, Japanese, and so on, were not being supported. In last release, some efforts had been allocated onto the support to it, and IBus's support has been added. http://bazaar.launchpad.net/~unity-team/nux/trunk/view/head:/Nux/InputMethodIBus.h Then, basically, Nux gains the ability to support non-Latin language users to input with their native language by using IBus, which is pretty good.
What have been missed
Nux is somehow like GTK or Qt being used for developing applications. So we expect it is like GTK/Qt, which can support more Input Method Frameworks, like Fcitx[1], UIM[2], gcin[3], and so on. Despite of the flexibility of supporting more than one Input Method Framework, there still are some other features we're expecting from a toolkit.
- Only facilitates, provides the IMF developers the infrastructure.
- A user has the ability to configure and switch at run time.
- Multiple IMF coexistence.
How to improve
Implement XIM's support
XIM has been developed decades back, so its mature enough from developer's perspective. GTK/OpenMotif/Qt all have the support. most of the IMFs in stock it supported too.
Native im module support
Modern toolkit like GTK/Qt all has it, even clutter added it.