From Fedora Project Wiki
(Update SCOPE)
(Swap Super-period with Ctrl-period after talk with desktop team)
Line 6: Line 6:
 
== Summary ==
 
== Summary ==
 
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
 
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
IBus 1.5.25 will use `transfiletriggerin` script to generate the cache file instead of `posttrans` script in each engine package, support the include directive in the user compose file, IBus compose feature will follow the GTK4 compose pre-edit style, the emoji shortcut key will be changed to `Super-period`, IBus GTK4 module will proceed the key events synchronistically to follow GTK4 specification.
+
IBus 1.5.25 will use `transfiletriggerin` script to generate the cache file instead of `posttrans` script in each engine package, support the include directive in the user compose file, IBus compose feature will follow the GTK4 compose pre-edit style, the emoji shortcut key will be changed to `Ctrl-period`, IBus GTK4 module will proceed the key events synchronistically to follow GTK4 specification.
  
 
== Owner ==
 
== Owner ==
Line 49: Line 49:
 
* IBus compose file will support the include directive in the user compose file ($XDG_CONFIG_HOME/ibus/Compose, $XDG_CONFIG_HOME/gtk-3.0/Compose or $HOME/.XCompose)
 
* IBus compose file will support the include directive in the user compose file ($XDG_CONFIG_HOME/ibus/Compose, $XDG_CONFIG_HOME/gtk-3.0/Compose or $HOME/.XCompose)
 
* IBus compose feature will follow the [https://blog.gtk.org/2021/03/24/input-revisited/ GTK4 compose pre-edit style].
 
* IBus compose feature will follow the [https://blog.gtk.org/2021/03/24/input-revisited/ GTK4 compose pre-edit style].
* IBus emoji shortcut key is `Ctrl-Shift-e` and it will be changed to `Super-period` to follow MS-Windows while it's customizable with `ibus-setup` utility.
+
* IBus emoji shortcut key is `Ctrl-Shift-e` and it will be changed to `Ctrl-period` to follow the latest GTK while it's customizable with `ibus-setup` utility.
 
* IBus GTK3 module proceeds the key events asynchronistically because some langauge engines spend much time to compose key events and D-Bus process could causes a timeout but now GTK4 does not allow the async events and IBus GTK4 module will proceed the key events synchronistically.
 
* IBus GTK3 module proceeds the key events asynchronistically because some langauge engines spend much time to compose key events and D-Bus process could causes a timeout but now GTK4 does not allow the async events and IBus GTK4 module will proceed the key events synchronistically.
  
Line 144: Line 144:
 
# Enable an XKB engine with Super-space or clicking of the keyboard idicator in GNOME
 
# Enable an XKB engine with Super-space or clicking of the keyboard idicator in GNOME
 
# Launch gedit
 
# Launch gedit
# Type Super-period
+
# Type Ctrl-period
 
# Confirm emoji pre-edit and lookup table is available
 
# Confirm emoji pre-edit and lookup table is available
  

Revision as of 13:38, 29 June 2021


IBus 1.5.25

Summary

IBus 1.5.25 will use transfiletriggerin script to generate the cache file instead of posttrans script in each engine package, support the include directive in the user compose file, IBus compose feature will follow the GTK4 compose pre-edit style, the emoji shortcut key will be changed to Ctrl-period, IBus GTK4 module will proceed the key events synchronistically to follow GTK4 specification.

Owner


Current status

  • Targeted release: Fedora 35
  • Last updated: 2021-06-29
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

  • Each IBus language engine has run posttrans script to run ibus write-cache to cache their component files in /usr/share/ibus/component whenever the package is installed but ibus write-cache will moved to transfiletriggerin script in IBus core package and the script will be executed only one time per the Fedora installation.
  • IBus compose file will support the include directive in the user compose file ($XDG_CONFIG_HOME/ibus/Compose, $XDG_CONFIG_HOME/gtk-3.0/Compose or $HOME/.XCompose)
  • IBus compose feature will follow the GTK4 compose pre-edit style.
  • IBus emoji shortcut key is Ctrl-Shift-e and it will be changed to Ctrl-period to follow the latest GTK while it's customizable with ibus-setup utility.
  • IBus GTK3 module proceeds the key events asynchronistically because some langauge engines spend much time to compose key events and D-Bus process could causes a timeout but now GTK4 does not allow the async events and IBus GTK4 module will proceed the key events synchronistically.

Feedback

  • Only one transfiletriggerin script is much simpler than many posttrans scripts.


Benefit to Fedora

Users can use the include directive in their compose files. IBus GTK4 module can send the application specific keys of Backspace, Enter to the target application to follow GTK4 specification,

Scope

  • Proposal owners: Update SPEC file to add transfiletriggerin script. Update libibus.so to enhance compose feature. Update org.freedesktop.ibus.gschema.xml for emoji shortcut key. Update libim-ibus.so to fix IBus sync process.
  • Other developers: Update SPEC files to delete posttrans script.
  • Policies and guidelines: N/A
  • Trademark approval: N/A
  • Alignment with Objectives:

Upgrade/compatibility impact

We should avoid regressions with transfiletriggerin script in the Fedora installation.


How To Test

  1. Install ibus and the language engine packages
  2. ibus read-cache --system shows the installed engines.
  3. rpm -q --scripts does not show ibus write-cache in engine packages
  4. rpm -q --filetriggers shows ibus write-cache in ibus package
  1. Write the line of 'include "%H/foo.compose"' in your $HOME/.XCompose and some compose sequences in $HOME/foo.compose
  2. Run gnome-control-center keyboard and configure some IBus language engines besides XKB engines, likes ibus-hangul, ibus-typing-booster
  3. Enable an XKB engine with Super-space or clicking of the keyboard idicator in GNOME
  4. Launch gedit
  5. Confirm your compose sequences in $HOME/foo.compose is reflected
  6. Confirm compose preedit is short
  1. Run gnome-control-center keyboard and configure some IBus language engines besides XKB engines, likes ibus-hangul, ibus-typing-booster
  2. Enable an XKB engine with Super-space or clicking of the keyboard idicator in GNOME
  3. Launch gedit
  4. Type Ctrl-period
  5. Confirm emoji pre-edit and lookup table is available
  1. Install gtk4-devel
  2. Run env GTK_IM_MODULE=ibus gtk4-demo
  3. Backspace, Enter keys works


User Experience

The emoji shortcut key is changed if users do not customize it but they can customize it with ibus-setup utility.


Dependencies

ibus-anthy, ibus-chewing, ibus-hangul, ibus-input-pad, ibus-kkc, ibus-libpinyin, ibus-rawcode, ibus-sayura, ibus-skk, ibus-table, ibus-typing-booster, mozc (posttrans script has already been deleted in each engine package in Fedora rawhide.)

Contingency Plan

  • Contingency mechanism: Revert the change to IBus.
  • Contingency deadline: Beta release
  • Blocks release? No


Documentation

TBD

Release Notes