From Fedora Project Wiki


IBus Change APIs

Summary

IBus deletes some deprecated APIs and migrate IBusDConf to GSettings.

Owner

  • Name: Takao Fujiwara
  • Email: fujiwara [at] redhat [dot] com
  • Release notes owner:

Current status

  • Targeted release: Fedora 28
  • Last updated: 2018-01-09
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

IBus 1.6 delete deprecated APIs. The proposal does not effect GNOME and other desktops except for Plasma desktop

  • Delete deprecated DBus APIs; GetAddress, CurrentInputContext, ListEngines and so on (new APIs are available)
  • Delete deprecated IBus, GTK, GLib APIs
  • ibus-dconf won't be run until IBus engines call it and migrate major IBus engines to GSettings from IBusDConf (Currently ibus-dconf runs by default.)
  • Move /desktop/ibus path to /org/freedesktop/ibus path for glib-compile-schemas and delete ibus.schemas for GConf/DConf
  • Improve ibus_input_context_set_cursor_location() for multiple monitors besides multiple screens for ZaphodHeads mode
  • Delete Super-space notification

Benefit to Fedora

The change won't appear in the user level but I think reducing maintenance costs could reducing bugs and proceed to implement new features.

Using GSettings could be faster than using IBusDConf via DBus.

Anaconda would not need dconf and the proposal could enable IBus on Anaconda.


Scope

  • Proposal owners: ibus, ibus-libs, ibus-gtk2, ibus-gtk3
  • Other developers: N/A
  • Policies and guidelines: N/A
  • Trademark approval: N/A

Upgrade/compatibility impact

Need to update ibus, ibus engines. If an IBus engine won't migrate to GSettings, the engine might have the performance impact since ibus-dconf won't run by default.

How To Test

Normal testings about input method could effect to check any regressions.


User Experience

Use gsettings command instead of dconf command to update user configurations but basically GUI settings dialog is available for IBus engines. IBus core already uses gsettings.

Dependencies

ibus-mozc, ibus-hangul, ibus-m17n, ibus-libpinyin, ibus-table, ibus-typing-booster, plasma-desktop

IBus Qt5 module defines deprecated APIs but it does not use at present. plasma-desktop has IBus KIM panel and it uses IBusDconf.

Contingency Plan

  • Contingency mechanism: Drop the feature in Fedora 28 and postpone it to Fedora 29
  • Contingency deadline: Beta freeze
  • Blocks release? No
  • Blocks product? No

Documentation

N/A

Release Notes