Hello.
im_context doesn't reset input method when mouse is clicked.
So, the last character of Hangul is malfunctioning when mouse is clicked.
This patch resets the input method if necessary when the mouse is clicked.
No side effects.
Do not test with ibus. The ibus itself has a bug.
Test with nimf or imhangul.
For information about nimf, visit https://nimf-i18n.gitlab.io/installation/
Related issues with the Hangul last character bugs:
https://github.com/geany/geany/pull/2197
https://github.com/wxWidgets/wxWidgets/pull/1357
https://bugs.chromium.org/p/chromium/issues/detail?id=966148
https://bugs.eclipse.org/bugs/show_bug.cgi?id=371397
https://bugs.documentfoundation.org/show_bug.cgi?id=117008
https://github.com/ibus/ibus/issues/1282
Scintilla on GTK already has a button_press_event. It is set to ScintillaGTK::Press which calls ScintillaGTK::PressThis. Its likely that this logic belongs in PressThis.
Thank you for your reply.
If this logic belongs in PressThis, im_context is not reset when mouse right button is clicked.
Right button works for me with GTK+ 3.24.8 and 2.24.32 with the attached patch. I would prefer to include this in PressThis as there will be less confusion about the ordering of actions.
Right button works for me with GTK+ 3.24.5 and scite417.tgz.
I am satisfied with your patch.
If it does not work as intended in geany, I will try to fix geany.
Thank you for your great works.
Committed as [512ec9]. Code moved slightly as it was splitting some lines that belonged together.
Related
Commit: [512ec9]
Thank you very much.
It does not work as Windows' behaviors.
And it causes unpleasant side effects.
I tried this kind of patch 2 years ago but found no solution under fcitx.
In addition this method slips away through tab controls.
I think we need other approach.
Because the application's input-related APIs operate synchronously, the input method such as ibus, fcitx must also operate synchronously.
But as far as I know, ibus and fcitx operate asynchronously.
Please test with nimf. Nimf works in the synchronous mode.
What is the best option here? Detect different IMEs? Remove this change?
why does not nimf reset ime input instead of app?
I don't understand what you mean.
Could you tell me in detail?
Dasom(nimf 2 years ago) could reset ime input without any patch of GTKscintilla.
See "fix caret following mouse click."
https://www.youtube.com/watch?v=Kr17ikSlEz8
This is the cause why you create nimf.
it is nice.
it works perfect.
I find no problem.
There is also the workaround code in nimf.
But I think that the application should be work fine without the workaround code.
So I want know what the problem you are experiencing with the patch.
this patch should be against fcitx not for nimf.
since fcitx can not reset ime input asynchronously but nimf can.
this patch works bad with fcitx.
After applying this patch, I have test with fcitx.
https://www.youtube.com/watch?v=wUMVh-UIm4
This patch works fine with fcitx.
After applying this patch, I have test with fcitx.
This patch works fine with fcitx. new URL:
https://www.youtube.com/watch?v=V_cv9lSN7CY
scintilla has prepared KoreanIme() for testing Ime inline.
You should use Korean fot testing.
No, this is "over the spot" ime.
Inline ime should be used for testing.
You should try both 0 and 1 for ime.interaction.
preedit string following mouse is a bug for korean but may be a feature for japanese.
this patch gives impacts on not only korean but also japanese and chinese.
Some thing like?
https://bugzilla.mozilla.org/show_bug.cgi?id=283136
This possible not the case for Chinese when the candidate window (is horizontal? vertical candidate window is rarely seen), the window is aligned at left on starting and not moved (expands both ends when candidates became longer).
Just considerer the auto-completion box, how user will feel when it moved on typing?
Last edit: Zufu Liu 2019-06-26