Repository navigation
Conversation
There is a known bug in ibus version <1.59.30 where a dead key event get stuck in preedit state. This behavior glitches the cursor rendering. The IBusDeadKeysPolicy address this issue by checking if the input method is ibus and resetting the cursor if necessary. This commit fixes the issue elementary#1015
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There is a known bug in ibus version <1.59.30 where a dead key event get stuck in preedit state. This behavior glitches the cursor rendering.
The IBusDeadKeysPolicy address this issue by checking if the input method is ibus and resetting the cursor if necessary.
This PR fixes the issue #1015
Details for reviewers
Since the noble repository only provides ibus version 1.59.29, updating ibus for Elementary 8.1 is not an easy fix. This PR adds a specialized class to address this issue directly without overloading the
TerminalWidgetresponsabilities.Discussion points
We opted to use the Policy Pattern to avoid coupling the workaround to the
TerminalWidgetclass. Since the fix will be "short lived" and should be fixed once Elementary OS 9 is released, we added anappliesmethod to check if the fix is relevant. But there is room for improvement:appliesmethod could check for the ibus version exactly, but that would add another dependency for the project (IBus.IBusnamespace). Do you agree with this addition?EventControllerFocus. I couldn't figure a better way to reset it since the required functions are all private for the VTE component. If anyone knows a better way please let me know! (Really, I would be so grateful! I tried really hard)EventControllerFocusiterates over allobserve_controllers. If there is an easier and more linear method of fetching the controller, please let me know!