Branch: refs/heads/master
Author: Jiří Techet <techet(a)gmail.com>
Committer: Jiří Techet <techet(a)gmail.com>
Date: Wed, 17 Nov 2021 13:40:16 UTC
Commit: 396a10649617541b0f8f4794092b0165a54dc8f9
https://github.com/geany/geany-osx/commit/396a10649617541b0f8f4794092b0165a…
Log Message:
-----------
Add patch fixing Scintilla IME candidate window position
Modified Paths:
--------------
geany.modules
geany_patches/02-geany_scintilla_candidate_window_pos.patch
Modified: geany.modules
2 lines changed, 2 insertions(+), 0 deletions(-)
===================================================================
@@ -101,6 +101,7 @@
revision="master" >
<!-- This patch corresponds to https://github.com/geany/geany/pull/2363 -->
<patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/01-geany_config…" strip="1" />
+ <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/02-geany_scinti…" strip="1" />
<patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/03-geany_vte_lo…" strip="1" />
</branch>
<dependencies>
@@ -118,6 +119,7 @@
version="1.38">
<!-- This patch corresponds to https://github.com/geany/geany/pull/2363 -->
<patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/01-geany_config…" strip="1" />
+ <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/02-geany_scinti…" strip="1" />
<patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/03-geany_vte_lo…" strip="1" />
</branch>
<dependencies>
Modified: geany_patches/02-geany_scintilla_candidate_window_pos.patch
39 lines changed, 39 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,39 @@
+From 83c792588db15c0a004913dd3b91193c45d5ee68 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jir=CC=8Ci=CC=81=20Techet?= <techet(a)gmail.com>
+Date: Wed, 17 Nov 2021 14:31:52 +0100
+Subject: [PATCH] Always set candidate window pos, even when IME is not used
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Normally, when IME is enabled e.g. for Chinese, one can type some characters
+on normal keyboard and "compose" the Chinese character from them. Once at least
+of such subcharacters is typed, a popup window with "candidates" is shown and
+user can select which of them should be used.
+
+On macOS, this "candidate" window is also shown when no IME is used and
+a letter is long-pressed and there are some accented variants of the letter
+(for a, e.g. á, à, ą, â, ä, etc.). In this case, the input string has length 0
+and we have to set the correct position of the popup window, otherwise it's shown
+at coordinates (0, 0).
+---
+ scintilla/gtk/ScintillaGTK.cxx | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scintilla/gtk/ScintillaGTK.cxx b/scintilla/gtk/ScintillaGTK.cxx
+index 659eb763..206e3834 100644
+--- a/scintilla/gtk/ScintillaGTK.cxx
++++ b/scintilla/gtk/ScintillaGTK.cxx
+@@ -2458,8 +2458,8 @@ void ScintillaGTK::PreeditChangedInlineThis() {
+ void ScintillaGTK::PreeditChangedWindowedThis() {
+ try {
+ PreEditString pes(im_context);
++ SetCandidateWindowPos();
+ if (strlen(pes.str) > 0) {
+- SetCandidateWindowPos();
+
+ PangoLayout *layout = gtk_widget_create_pango_layout(PWidget(wText), pes.str);
+ pango_layout_set_attributes(layout, pes.attrs);
+--
+2.31.1
+
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).