There is display scaling issue when using individual display scaling setup. The scale of always on top child window uniformly applied to some of sub-menu scale and position even the monitor scale is different.
Environment
I have dual monitor with individual display scaling setup.
Monitor A: 2560 x 1440 resolution with 125% scale
Monitor B: 1920 x 1080 resolution with 100% scale
How to reproduce symptom
Open one of following child window
Settings > Preference or
Folder tabs > any file > right click > Property
That is a Windows mixed DPI bug as far as we can tell.
(There are many of them still in Windows, when using monitors set to two different DPIs, as well as if the primary monitor's DPI has been changed without rebooting.)
Windows is what actually scales the menu here, and Windows knows which monitor the menu is open on, but applies the scaling of the wrong screen in some situations, due to getting confused by an active window on another screen. It's been a bug in the OS for years now, unfortunately.
I am just curious, in the same circumstance, some of menu works properly.
Then I guess dopus use different windows APIs in those cases, right?
If so, could you tell me which API were used?
It's always the same APIs, at least for menus that Opus itself creates (not ones the shell creates).
But Windows gets confused sometimes, I think when the application's active window is on a monitor set to a different DPI to where the menu opens. I don't know why, but it has to be a bug in the OS since it's responsible for the scaling. Windows sometimes appears to apply the scaling factor of the monitor the application is currently active on to a window which opens on a different monitor.
Something that might be worth a try is turning off Preferences / Toolbars / Options / Animate menus in case the animation triggers the problem.
Similarly, turning off Preferences / Toolbars / Appearance / Display drop shadow under menus may also be worth a try.
Both those settings are only/mainly used by pop-up menus, so if one was the trigger for the Windows bug, it might make sense why it seems to happen to pop-up menus and not other windows. (But it could equally be other things, e.g. not having a titlebar.)
Avoiding mixed DPI is definitely best. If you look closely at the window borders of active and inactive windows (not just Opus; e.g. Notepad), you might see they have lots of gaps and different line thickness in different parts of the borders. That's another years old bug with mixed DPI in Win10. (Even with a single DPI setup, there are still some bugs there, with gaps between the window borders and shadows in places, but they are a lot more subtle.) ... Or maybe it's best not to look for this, since it is quite annoying and hard to un-see once you know it's there.
We think we have a workaround for this which should be part of the next update. It's a bit experimental, but it seems to fix things so far.
(It's definitely a bug in Windows 10, too. The OS uses completely the wrong window to decide how to DPI scale another window that has no connection to the one it is using. We've found a way to trick it into not doing that.)