(Update SCOPE) |
|||
(9 intermediate revisions by 4 users not shown) | |||
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 ` | 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 22: | Line 22: | ||
== Current status == | == Current status == | ||
[[Category: | [[Category:ChangeAcceptedF35]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | ||
Line 40: | Line 40: | ||
ON_QA -> change is fully code complete | ON_QA -> change is fully code complete | ||
--> | --> | ||
* FESCo issue: | * FESCo issue: [https://pagure.io/fesco/issue/2640 #2640] | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1982747 #1982747] | ||
* Release notes tracker: | * Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/719 #719] | ||
== Detailed Description == | == Detailed Description == | ||
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 ` | * 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. | ||
== Feedback == | == Feedback == | ||
<!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. --> | <!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. --> | ||
Line 85: | Line 84: | ||
https://fedoraproject.org/wiki/Changes/perl5.26 (major upgrade to a popular software stack, visible to users of that stack) | https://fedoraproject.org/wiki/Changes/perl5.26 (major upgrade to a popular software stack, visible to users of that stack) | ||
--> | --> | ||
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 | 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. | ||
Only one `transfiletriggerin` script is much simpler than many `posttrans` scripts. | |||
== Scope == | == Scope == | ||
Line 95: | Line 96: | ||
<!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
* Release engineering: [https://pagure.io/releng/ | * Release engineering: [https://pagure.io/releng/issue/10184 #10184] <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)? Is a mass rebuild required? include a link to the releng issue. | <!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)? Is a mass rebuild required? include a link to the releng issue. | ||
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication --> | The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication --> | ||
Line 129: | Line 130: | ||
3. What are the expected results of those actions? | 3. What are the expected results of those actions? | ||
--> | --> | ||
Installation | |||
# Install ibus and the language engine packages | # Install ibus and the language engine packages | ||
# `ibus read-cache --system` shows the installed engines. | # `ibus read-cache --system` shows the installed engines. | ||
Line 134: | Line 137: | ||
# `rpm -q --filetriggers` shows `ibus write-cache` in ibus package | # `rpm -q --filetriggers` shows `ibus write-cache` in ibus package | ||
Compose | |||
# Write the line of 'include "%H/foo.compose"' in your $HOME/.XCompose and some compose sequences in $HOME/foo.compose | # Write the line of 'include "%H/foo.compose"' in your $HOME/.XCompose and some compose sequences in $HOME/foo.compose | ||
# Run `gnome-control-center keyboard` and configure some IBus language engines besides XKB engines, likes ibus-hangul, ibus-typing-booster | # Run `gnome-control-center keyboard` and configure some IBus language engines besides XKB engines, likes ibus-hangul, ibus-typing-booster | ||
Line 141: | Line 145: | ||
# Confirm compose preedit is short | # Confirm compose preedit is short | ||
Emoji | |||
# Run `gnome-control-center keyboard` and configure some IBus language engines besides XKB engines, likes ibus-hangul, ibus-typing-booster | # Run `gnome-control-center keyboard` and configure some IBus language engines besides XKB engines, likes ibus-hangul, ibus-typing-booster | ||
# 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 | # Type Ctrl-period | ||
# Confirm emoji pre-edit and lookup table is available | # Confirm emoji pre-edit and lookup table is available | ||
# Install gtk4-devel | Gtk4 | ||
# Install gtk4-devel-tools (gtk4-devel for older releases) | |||
# Run `env GTK_IM_MODULE=ibus gtk4-demo` | # Run `env GTK_IM_MODULE=ibus gtk4-demo` | ||
# Backspace, Enter keys works | # Backspace, Enter keys works | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
== User Experience == | == User Experience == |
Latest revision as of 09:53, 8 September 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
- Name: Takao Fujiwara
- Email: fujiwara [at] redhat [dot] com
Current status
- Targeted release: Fedora 35
- Last updated: 2021-09-08
- FESCo issue: #2640
- Tracker bug: #1982747
- Release notes tracker: #719
Detailed Description
- Each IBus language engine has run
posttrans
script to runibus write-cache
to cache their component files in /usr/share/ibus/component whenever the package is installed butibus write-cache
will moved totransfiletriggerin
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 toCtrl-period
to follow the latest GTK while it's customizable withibus-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
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.
Only one transfiletriggerin
script is much simpler than many posttrans
scripts.
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.
- Release engineering: #10184
- 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
Installation
- Install ibus and the language engine packages
ibus read-cache --system
shows the installed engines.rpm -q --scripts
does not showibus write-cache
in engine packagesrpm -q --filetriggers
showsibus write-cache
in ibus package
Compose
- Write the line of 'include "%H/foo.compose"' in your $HOME/.XCompose and some compose sequences in $HOME/foo.compose
- Run
gnome-control-center keyboard
and configure some IBus language engines besides XKB engines, likes ibus-hangul, ibus-typing-booster - Enable an XKB engine with Super-space or clicking of the keyboard idicator in GNOME
- Launch gedit
- Confirm your compose sequences in $HOME/foo.compose is reflected
- Confirm compose preedit is short
Emoji
- Run
gnome-control-center keyboard
and configure some IBus language engines besides XKB engines, likes ibus-hangul, ibus-typing-booster - Enable an XKB engine with Super-space or clicking of the keyboard idicator in GNOME
- Launch gedit
- Type Ctrl-period
- Confirm emoji pre-edit and lookup table is available
Gtk4
- Install gtk4-devel-tools (gtk4-devel for older releases)
- Run
env GTK_IM_MODULE=ibus gtk4-demo
- 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