Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-103393

IBus input method cannot set panel position correctly with DPI scaling

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • 5.15.13, 6.2.8, 6.4.3, 6.5.0, 6.6.0
    • 5.15.3, 6.2.3
    • Linux/Wayland, Linux/X11
    • 54002671b (dev), 3790821b2 (dev), d142933b6 (6.5), 98a96ec37 (6.5), f0028627d (6.4), 52cf04379 (6.4), ea682f3a7 (tqtc/lts-6.2), 54dac0ad7 (tqtc/lts-6.2), 460e60e2d (tqtc/lts-5.15), 0da9993a3 (tqtc/lts-5.15)

    Description

      In a Linux X11 session or XWayland, when the DPI scaling factor is not 1, for all Qt applications the IBus input method shows the word list panel not under the text input cursor but generally on the upper left side of the expected position. See the following screenshots (for Qt5 and Qt6 respectively):

       

      This seems to be already reported to IBus at https://github.com/ibus/ibus/issues/2221 although that was for KDE environment. A patch for the IBus module included in Qt (src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp) was proposed by others there at https://github.com/ibus/ibus/issues/2221#issuecomment-706652441. I tested that patch with Qt 5, and it indeed fixed the issue for me. See the following screenshot for the correct behavior with the patch:

      Attachments

        1. current_behavior.png
          current_behavior.png
          1.52 MB
        2. current_behavior_qt6.png
          current_behavior_qt6.png
          1.04 MB
        3. expected_behavior.png
          expected_behavior.png
          1.58 MB
        4. ubuntu.png
          ubuntu.png
          556 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            liaqi Liang Qi
            vtq S Huang
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: