Uploaded image for project: 'Picard'
  1. Picard
  2. PICARD-2656

Context-menu renders outside of screen when using external monitor

    • Icon: Bug Bug
    • Resolution: Invalid
    • Icon: Normal Normal
    • None
    • 2.8.5
    • User Interface
    • Debian/GNOME (Linux)

      When I am using my external monitor (4k), the contextual menu can render partially offscreen if I open it from a point too far to the right. This doesn't happen when using the laptop screen. See the attachment (I only include the top-right of the screen not to make it too large).

          [PICARD-2656] Context-menu renders outside of screen when using external monitor

          Might well be that the recent (open source) release of 5.15.10 fixed or improved this situation.

          Anyway, I'm closing this issue here has it is essentially outside the control of Picard.

          Philipp Wolfer added a comment - Might well be that the recent (open source) release of 5.15.10 fixed or improved this situation. Anyway, I'm closing this issue here has it is essentially outside the control of Picard.

          csaavedra added a comment -

          This is no longer happening in my system. I am not sure why, but here is a list of installed packages in case it is useful:

           

          ii  picard                                           2.8.5-1+b1 
          ii  python3-pyqt5                                    5.15.9+dfsg-2                             amd64        Python 3 bindings for Qt5
          ii  python3-pyqt5.qtmultimedia                       5.15.9+dfsg-2                             amd64        Python 3 bindings for Qt5's Multimedia module
          ii  python3-pyqt5.sip                                12.12.2-1                                 amd64        runtime module for Python extensions using SIP
          ii  libqt5core5a:amd64                               5.15.10+dfsg-3                            amd64        Qt 5 core module
          ii  libqt5dbus5:amd64                                5.15.10+dfsg-3                            amd64        Qt 5 D-Bus module
          ii  libqt5designer5:amd64                            5.15.10-3                                 amd64        Qt 5 designer module
          ii  libqt5gui5:amd64                                 5.15.10+dfsg-3                            amd64        Qt 5 GUI module
          ii  libqt5help5:amd64                                5.15.10-3                                 amd64        Qt 5 help module
          ii  libqt5multimedia5:amd64                          5.15.10-2                                 amd64        Qt 5 Multimedia module
          ii  libqt5multimedia5-plugins:amd64                  5.15.10-2                                 amd64        Qt 5 Multimedia module plugins
          ii  libqt5multimediagsttools5:amd64                  5.15.10-2                                 amd64        GStreamer tools for  Qt 5 Multimedia module
          ii  libqt5multimediawidgets5:amd64                   5.15.10-2                                 amd64        Qt 5 Multimedia Widgets module
          ii  libqt5network5:amd64                             5.15.10+dfsg-3                            amd64        Qt 5 network module
          ii  libqt5printsupport5:amd64                        5.15.10+dfsg-3                            amd64        Qt 5 print support module
          ii  libqt5qml5:amd64                                 5.15.10+dfsg-2                            amd64        Qt 5 QML module
          ii  libqt5qmlmodels5:amd64                           5.15.10+dfsg-2                            amd64        Qt 5 QML Models library
          ii  libqt5quick5:amd64                               5.15.10+dfsg-2                            amd64        Qt 5 Quick library
          ii  libqt5quickwidgets5:amd64                        5.15.10+dfsg-2                            amd64        Qt 5 Quick Widgets library
          ii  libqt5sql5:amd64                                 5.15.10+dfsg-3                            amd64        Qt 5 SQL module
          ii  libqt5sql5-sqlite:amd64                          5.15.10+dfsg-3                            amd64        Qt 5 SQLite 3 database driver
          ii  libqt5svg5:amd64                                 5.15.10-2                                 amd64        Qt 5 SVG module
          ii  libqt5test5:amd64                                5.15.10+dfsg-3                            amd64        Qt 5 test module
          ii  libqt5waylandclient5:amd64                       5.15.10-2                                 amd64        QtWayland client library
          ii  libqt5waylandcompositor5:amd64                   5.15.10-2                                 amd64        QtWayland compositor library
          ii  libqt5widgets5:amd64                             5.15.10+dfsg-3                            amd64        Qt 5 widgets module
          ii  libqt5x11extras5:amd64                           5.15.10-2                                 amd64        Qt 5 X11 extras
          ii  libqt5xml5:amd64                                 5.15.10+dfsg-3                            amd64        Qt 5 XML module

           

          csaavedra added a comment - This is no longer happening in my system. I am not sure why, but here is a list of installed packages in case it is useful:   ii  picard                                           2.8.5-1+b1  ii  python3-pyqt5                                    5.15.9+dfsg-2                             amd64        Python 3 bindings for Qt5 ii  python3-pyqt5.qtmultimedia                       5.15.9+dfsg-2                             amd64        Python 3 bindings for Qt5's Multimedia module ii  python3-pyqt5.sip                                12.12.2-1                                 amd64        runtime module for Python extensions using SIP ii  libqt5core5a:amd64                               5.15.10+dfsg-3                            amd64        Qt 5 core module ii  libqt5dbus5:amd64                                5.15.10+dfsg-3                            amd64        Qt 5 D-Bus module ii  libqt5designer5:amd64                            5.15.10-3                                 amd64        Qt 5 designer module ii  libqt5gui5:amd64                                 5.15.10+dfsg-3                            amd64        Qt 5 GUI module ii  libqt5help5:amd64                                5.15.10-3                                 amd64        Qt 5 help module ii  libqt5multimedia5:amd64                          5.15.10-2                                 amd64        Qt 5 Multimedia module ii  libqt5multimedia5-plugins:amd64                  5.15.10-2                                 amd64        Qt 5 Multimedia module plugins ii  libqt5multimediagsttools5:amd64                  5.15.10-2                                 amd64        GStreamer tools for  Qt 5 Multimedia module ii  libqt5multimediawidgets5:amd64                   5.15.10-2                                 amd64        Qt 5 Multimedia Widgets module ii  libqt5network5:amd64                             5.15.10+dfsg-3                            amd64        Qt 5 network module ii  libqt5printsupport5:amd64                        5.15.10+dfsg-3                            amd64        Qt 5 print support module ii  libqt5qml5:amd64                                 5.15.10+dfsg-2                            amd64        Qt 5 QML module ii  libqt5qmlmodels5:amd64                           5.15.10+dfsg-2                            amd64        Qt 5 QML Models library ii  libqt5quick5:amd64                               5.15.10+dfsg-2                            amd64        Qt 5 Quick library ii  libqt5quickwidgets5:amd64                        5.15.10+dfsg-2                            amd64        Qt 5 Quick Widgets library ii  libqt5sql5:amd64                                 5.15.10+dfsg-3                            amd64        Qt 5 SQL module ii  libqt5sql5-sqlite:amd64                          5.15.10+dfsg-3                            amd64        Qt 5 SQLite 3 database driver ii  libqt5svg5:amd64                                 5.15.10-2                                 amd64        Qt 5 SVG module ii  libqt5test5:amd64                                5.15.10+dfsg-3                            amd64        Qt 5 test module ii  libqt5waylandclient5:amd64                       5.15.10-2                                 amd64        QtWayland client library ii  libqt5waylandcompositor5:amd64                   5.15.10-2                                 amd64        QtWayland compositor library ii  libqt5widgets5:amd64                             5.15.10+dfsg-3                            amd64        Qt 5 widgets module ii  libqt5x11extras5:amd64                           5.15.10-2                                 amd64        Qt 5 X11 extras ii  libqt5xml5:amd64                                 5.15.10+dfsg-3                            amd64        Qt 5 XML module  

          Then it's https://bugreports.qt.io/browse/QTBUG-99618 . The problem here is that on Wayland the application does not know its position relative to screen coordinates. So it can't fully decide this. See also the discussion on the ticket on how this could be solved.

          For the popover menus shown in the player toolbar (e.g. for volume change) where we need to control the position ourselves we work around this by ensuring the popovers are inside the application window on Wayland. But for general position of context menus and tooltips this will need to be resolved by Qt.

          Philipp Wolfer added a comment - Then it's https://bugreports.qt.io/browse/QTBUG-99618 . The problem here is that on Wayland the application does not know its position relative to screen coordinates. So it can't fully decide this. See also the discussion on the ticket on how this could be solved. For the popover menus shown in the player toolbar (e.g. for volume change) where we need to control the position ourselves we work around this by ensuring the popovers are inside the application window on Wayland. But for general position of context menus and tooltips this will need to be resolved by Qt.

          csaavedra added a comment -

          My bad, I forgot to say this is Wayland. The bug you reference is something else, the context menu appearing in a completely wrong position (It's also QtWebEngine, which I assume is not used for the UI of Picard). In the case of Picard, the menu appears in the correct location, but the fact that we are at the edge of the screen is not taken into account so the menu renders partially outside the screen, making it impossible to read fully.

          csaavedra added a comment - My bad, I forgot to say this is Wayland. The bug you reference is something else, the context menu appearing in a completely wrong position (It's also QtWebEngine, which I assume is not used for the UI of Picard). In the case of Picard, the menu appears in the correct location, but the fact that we are at the edge of the screen is not taken into account so the menu renders partially outside the screen, making it impossible to read fully.

          Is this on Wayland or X11?

          As this is all handled by Qt there is likely not much to be done about this by in Picard.

          This looks like https://bugreports.qt.io/browse/QTBUG-93561

          Philipp Wolfer added a comment - Is this on Wayland or X11? As this is all handled by Qt there is likely not much to be done about this by in Picard. This looks like https://bugreports.qt.io/browse/QTBUG-93561

          csaavedra added a comment -

          The second screenshot shows what happens when I am using the laptop display. In that case the position of the context-menu is adjusted so that it fits completely in the screen.

           

          In my experience developing UI apps, these kind of bugs happen when the display in use is not taken into consideration when positioning the menu; using the default display (or screen) can render this kind of problems, as the default might not be the one where the window is. Hope this is helpful.

          csaavedra added a comment - The second screenshot shows what happens when I am using the laptop display. In that case the position of the context-menu is adjusted so that it fits completely in the screen.   In my experience developing UI apps, these kind of bugs happen when the display in use is not taken into consideration when positioning the menu; using the default display (or screen) can render this kind of problems, as the default might not be the one where the window is. Hope this is helpful.

            Unassigned Unassigned
            csaavedra csaavedra
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Version Package