Features/IBus

From FedoraProject

Jump to: navigation, search

Contents

Intelligent Input Bus

Summary

iBus is a new input method framework under active development which is designed to overcome the limitations of SCIM. It will be the default in Fedora 11.

iBus uses dbus protocol for communication between the ibus-daemon and clients (engines, panel, config tools). Since the components run in separate processes there is enhanced modularity and stability. Client processes can be loaded, started and stopped independently. iBus supports Gtk2 and XIM, and has input method engines for anthy, chewing, hangul, m17n, pinyin, rawcode, and large tables. Engines and clients can be written in any language with a dbus binding.

Owner

Current status

Detailed Description

iBus was introduced in Fedora 10 as a new dynamic input method framework and also made available for Fedora 9 Updates.

Most of the work on iBus is being done upstream by Huang Peng. This feature proposal covers moving from scim to ibus as the default input method framework for Fedora 11, testing, and additional improvement requirements for Fedora 11.

iBus is designed to improve a number of deficiencies of scim:

Benefit to Fedora

It will provide a stabler viable input method framework with a simpler clean architecture which will be easier to maintain, improve, and develop for.

Scope

  1. Make ibus default for F11 Alpha (changes to comps). [done]
  2. Complete C implementation and updating of clients and engines for API changes for F11 Beta. [done]
  3. Test thoroughly and fix any remaining issues for F11 Final. [ongoing]

Test Plan

  1. Test installs of F11 and check ibus packages installed
  2. Test functioning on GNOME, KDE, XIM, and other desktops.
  3. Actively fix any bugs reported and issues that arise.
  4. Work with Fedora QA to ensure that we have no major regressions: Test_Days:IBus scheduled.

Open ibus bugs, ibus tracker

User Experience

  1. Better performance since ibus only loads the input method engines it needs at start.
  2. Stability from simpler architecture without need to avoid symbol conflicts from using C++ STL.

Dependencies

Contingency Plan

Documentation

Release Notes

The change to ibus will be documented carefully in the I18N Docsbeat.

Comments and Discussion