From Fedora Project Wiki

< Changes

Revision as of 08:40, 21 June 2018 by Jkurik (talk | contribs)

IBus 1.5.19


IBus 1.5.19 will have two features.

  1. Move the input entry on IBus emoji dialog to the input entry on each application using IBus pre-edit text so that the focus event is not changed when the emoji typing is enabled
  2. Ctrl-Shift-u feature of typing Unicode code points is separated from Ctrl-Shift-e feature so that neither an additional dialog or popup window is needed.
  3. Typing compose keys will have a pre-edit text


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

Current status

  • Targeted release: Fedora 29
  • Last updated: 2018-06-21
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

Currently Ctrl-Shift-e launches an IBus emoji dialog and users type emoji annotations in an input entry on the dialog and the input entry can convert the muti-byte annotation to an emoji character, besides ASCII annotation. However the dialog takes the current input focus in any desktop environments and also the dialog position cannot determined in Wayland because the dialog has no parent windows. IBus 1.5.19 will move the input entry on the emoji dialog to the current input context on each applications using IBus pre-edit feature. Users type emoji annotations on the pre-edit text after they type Ctrl-Shift-e and typing space key launches a lookup window to show emoji candidates.

Currently Ctrl-Shift-u feature of typing Unicode code point is consolidated in the emoji dialog because one shortcut key of Ctrl-Shift-e can cover the feature but the code point feature would not need to launch the dialog because the candidate character is only one so IBus 1.5.19 will separate the Ctrl-Shift-u feature from Ctrl-Shift-e one and both keybindings can be customizable with ibus-setup.

Currently IBus compose feature does not show anything until the output character is determined. IBus 1.5.9 will shows the pre-edit text during users compose a sequence. E.g. Multi_key-apostrophe-e outputs 'é' and shows the apostrophe as a character on the pre-edit until 'e' is typed.

Benefit to Fedora

Users can type either emoji annotation or Unicode names on the current application.

Users can see the composing text before the final committed text is output.


  • Proposal owners:

IBusEngine class will be changed in ibus-libs package to handle Ctrl-Shift-e and Ctrl-Shift-u and it will effects all IBus engines.

  • Other developers: N/A
  • Policies and guidelines: N/A
  • Trademark approval: N/A

Upgrade/compatibility impact

Users don't have to type Ctrl-Shift-e or Ctrl-Shift-u if they don't need the feature or users can delete the shortcut keys with ibus-setup.

How To Test

  • Search a chracter with emoji annotations or Unicode name directly
  1. Make sure ibus input source is being used
  2. Type Ctrl-Shift-e
  3. Type "smile"
  4. Press Space key to convert the first emoji character
  5. Press Space key again to get more candidates with an IBus lookup window
  6. Press Ctrl-[f|b|n|p] to move the selected character
  7. Press Enter key and output the selected character
  • Show emoji category list
  1. Make sure ibus input source is being used
  2. Type Ctrl-Shift-e
  3. Press Space key to show emoji category list
  4. Press Ctrl-[f|b|n|p] to move the selected character
  5. Press Enter key and output the selected character

User Experience

Ctrl-Shift-e and Ctrl-Shift-u features are available in X11, GTK, QT applications.
Two dimension lookup table of the emoji candidates is shown in Xorg environment, which provides more annotation information.
One dimension lookup table of the emoji candidates is shown in Wayland environment. It means the existing lookup window and there is no enhanced lookup tables in Wayland because GTK popup window takes the focus in Wayland without any parent windows.


This change effects all IBus engines but rebuilds are not needed.

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



Release Notes