Since version 1.4.0, IBus got support for automatic service activation in its own D-Bus bus implementation. I’m now working on a set of UI service components running on it, including character map, virtual keyboard, and drawing pad, which can be added to IBus IME.

Here is a demo video, where ibus-m17n embeds character map and virtual keyboard in the panel through ibus-panel-extensions.