Lymphatus / caesium-image-compressor

Caesium is an image compression software that helps you store, send and share digital pictures, supporting JPG, PNG, WebP and TIFF formats. You can quickly reduce the file size (and resolution, if you want) by preserving the overall quality of the image.
https://saerasoft.com/caesium
GNU General Public License v3.0
3.49k stars 212 forks source link

Dropdown menus do not appear on main display #161

Closed SCSJesse closed 1 year ago

SCSJesse commented 1 year ago

Describe the bug If you are using multiple displays (on Windows), dropdown menus will not open on the "main display"; instead, the menu will appear at the correct Y-axis but on the edge of your other display.

Software version Version 2.2.1 from September 16

Operating System information

To Reproduce

  1. Use a desktop with 2 monitors
  2. Assign a "main display" to one of the monitors
  3. Run the software and use it on aforementioned "main display" monitor
  4. Select any given dropdown from the ribbon or panels
  5. Menu appears on other screen

Expected behavior Any window/dropdown should open on the display that the software window is floating/appearing on.

Screenshots N/A

Application Log N/A

Additional context If you hook up additional monitors (3 or more) and have at least 1 display on each side of the primary display, the drop down will appear on whichever display you most recently moved the application window from.

Lymphatus commented 1 year ago

I tried to reproduce the bug on my machine, with same the OS (Windows 10, 21H2) but I seems to work fine. I tried the steps you provided and every menu, dropdown, context menu (with right click) or popup screen appears on the display the main window is running on. Am I missing something? Can you provide a few more details please?

SCSJesse commented 1 year ago

Hello Matteo,

I'm not sure how this issue has not presented itself on your machine as it seems to happen on mine following the steps noted above. I will perform some additional troubleshooting on my end and respond with any previously undiscovered factors if they arise, this is a minor issue that does not affect the other functionality of the software.

Thank you.

Lymphatus commented 1 year ago

While trying to reproduce this bug I found there's an issue with multiple monitor when you first open Caesium on Monitor 1, then close it and disable Monitor 1. Caesium should appear on Monitor 2 (the last remaining) if you reopen the app again, but instead is "stuck" on an invisible monitor. Fixing this may also fix your issue, even though I can't really get it to occur on my side.

jonaslewin commented 1 year ago

The same issue exists on Windows 11. Running the software on the main display shows the menu on the other display.

Setup: Main display left, other display right. Starting the software on virtual desktop 1.

dbrasseur-aneo commented 1 year ago

Same issue here

Lymphatus commented 1 year ago

Tentative fix in v2.3.0

jonaslewin commented 1 year ago

The issue remains in v2.3.0. As you can see from the background of the two monitors, this is how it looks. image

When I start the program, it starts on the 2nd monitor (not the main monitor). I launched the exe file from explorer on the main monitor.

Lymphatus commented 1 year ago

Maybe I found why I could not reproduce the issue. Are your monitors all the same model? Mine are different and the issue does not occur. It's probably a Qt bug, but I'm releasing the next version of Caesium with an updated Qt version, so it should be fixed, hopefully.

Lymphatus commented 1 year ago

Fixed in v2.3.1

jonaslewin commented 1 year ago

Tested v2.3.1 and it works as expected now. Thank you @Lymphatus.