From 6be5feeb0635f4b0c51cb59b2b4eacfb9efda69f Mon Sep 17 00:00:00 2001 From: Zufu Liu Date: Mon, 6 Jan 2020 23:14:29 +1100 Subject: Bug [#2135]. Improve location of candidate window. --- doc/ScintillaHistory.html | 1 + gtk/ScintillaGTK.cxx | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 39e82ef33..f210d64eb 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -599,6 +599,7 @@
  • Improve IME behaviour on GTK. Set candidate position for windowed IME. + Improve location of candidate window. Bug #2135.
  • diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index c02c07365..33313b264 100755 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -2315,8 +2315,10 @@ void ScintillaGTK::SetCandidateWindowPos() { // Composition box accompanies candidate box. const Point pt = PointMainCaret(); GdkRectangle imeBox = {0}; // No need to set width - imeBox.x = static_cast(pt.x); // Only need positiion - imeBox.y = static_cast(pt.y) + vs.lineHeight; // underneath the first charater + imeBox.x = static_cast(pt.x); + imeBox.y = static_cast(pt.y + std::max(4, vs.lineHeight/4)); + // prevent overlapping with current line + imeBox.height = vs.lineHeight; gtk_im_context_set_cursor_location(im_context, &imeBox); } -- cgit v1.2.3