After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 771724 - Incorrect placement of the input source candidate popup
Incorrect placement of the input source candidate popup
Status: RESOLVED OBSOLETE
Product: gnome-shell
Classification: Core
Component: general
3.20.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2016-09-20 13:57 UTC by Mathieu Bridon
Modified: 2021-07-05 14:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Showing the issue (2.40 MB, image/png)
2016-09-20 13:57 UTC, Mathieu Bridon
  Details
refreshing display each time the list of candidate is built. (672 bytes, patch)
2016-09-22 10:19 UTC, Pierre Amadio
none Details | Review
bug 771724: updating visibility of the box when the list of candidate is found (1.06 KB, patch)
2016-09-22 12:06 UTC, Pierre Amadio
needs-work Details | Review
Update candidate popup visibility later (2.11 KB, patch)
2016-09-23 13:41 UTC, Pierre Amadio
none Details | Review

Description Mathieu Bridon 2016-09-20 13:57:23 UTC
Created attachment 335933 [details]
Showing the issue

I've been able to reproduce this issue with ibus-cangjie, but it probably happens with other ibus engines.

See the screenshot.

All I did was move the input cursor close to the bottom edge of the screen (I did that by moving the window, but the same happens if you're just typing a long enough text).

The candidate popup should be placed above the input cursor, instead of being below it, so that it is entirely visible.
Comment 1 Mathieu Bridon 2016-09-20 13:58:59 UTC
Note that this is with Xorg. I have no idea whether this works well in Wayland.

Also: gnome-shell-3.20.4-1.fc24.x86_64
Comment 2 Pierre Amadio 2016-09-22 10:19:38 UTC
Created attachment 336072 [details] [review]
refreshing display each time the list of candidate is built.

I think updating visibility of the box when the list of candidate is found fix the problem.
Comment 3 Pierre Amadio 2016-09-22 12:06:17 UTC
Created attachment 336077 [details] [review]
bug 771724: updating visibility of the box when the list of candidate is found
Comment 4 Florian Müllner 2016-09-23 10:48:33 UTC
Review of attachment 336077 [details] [review]:

Thanks, you are definitively on the right track here.

Please provide a proper commit message though, see

  https://wiki.gnome.org/Newcomers/CodeContributionWorkflow#Commit_guidelines

(or http://chris.beams.io/posts/git-commit/ for a more detailed read)

::: js/ui/ibusCandidatePopup.js
@@ +242,3 @@
                                  this._candidateArea.setOrientation(lookupTable.get_orientation());
                                  this._candidateArea.updateButtons(lookupTable.is_round(), page, nPages);
+                                 this._updateVisibility();

Calling this twice in the same function is icky, and an innocent looking micro-optimization like

  if (isVisible == this._boxPointer.actor.visible)
      return; // nothing to do

in _updateVisibility() would bring back this issue again.

Better move the first two lines to the end - setting up the popup before showing it makes more sense anyway, and addresses the issue that the popup only checks whether it needs to flip when positioned, but not on size changes.
Comment 5 Pierre Amadio 2016-09-23 13:41:38 UTC
Created attachment 336156 [details] [review]
Update candidate popup visibility later

This fix bug 771724 where the candidate popup window could end up ill
placed if the cursor was located near the bottom end of the screen.

The pop up is now set to visible only after the candidate table has been
populated. This way it is possible to know the height of the pop up and
display it above the cursor, instead of below when there s no room
enough to display all the list the default way.
Comment 6 GNOME Infrastructure Team 2021-07-05 14:11:43 UTC
GNOME is going to shut down bugzilla.gnome.org in favor of  gitlab.gnome.org.
As part of that, we are mass-closing older open tickets in bugzilla.gnome.org
which have not seen updates for a longer time (resources are unfortunately
quite limited so not every ticket can get handled).

If you can still reproduce the situation described in this ticket in a recent
and supported software version, then please follow
  https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines
and create a new ticket at
  https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/

Thank you for your understanding and your help.