Details
-
Bug
-
Resolution: Incomplete
-
P2: Important
-
None
-
5.5.0 Beta
-
None
-
Linux, qt5-git @ 1485c2f
Description
This is a multi-monitor setup.
DP3 is at 0x0+2560+1600
(2560x1600 in landscape mode)
HDMI2 is at 2560x0+1200+1920
(1920x1200 in portrait mode, right of DP3)
When I start my application, the Geometry & Size for HDMI2 are reported correctly. However, when I resize HDMI2 with xrandr (e.g. xrandr --output HDMI2 --mode 1600x1200 and xrandr --output HDMI2 --mode 1920x1200) the reported values are wrong.
QScreen * screen is acquired by iterating over QGuiApplication::screens() and comparing screen->name().
at 1920x1200 (portrait mode, so 1200x1920)
- geometry() ok
- virtualGeometry() ok
- availableGeometry() ok
- availableVirtualGeometry() ok
- availableSize() ok
- availableVirtualSize() ok
geometry(): QRect(2560,0 1200x1920) virtualGeometry(): QRect(0,0 3760x1920) availableGeometry(): QRect(2560,0 1200x1920) availableVirtualGeometry(): QRect(0,0 3760x1920) availableSize(): QSize(1200, 1920) availableVirtualSize(): QSize(3760, 1920) orientation(): Qt::ScreenOrientation(PortraitOrientation) nativeOrientation(): Qt::ScreenOrientation(PrimaryOrientation)
at 1600x1200 (portrait mode, so 1200x1600):
- geometry() ok
- virtualGeometry() wrong
- availableGeometry() ok
- availableVirtualGeometry() wrong
- availableSize() ok
- availableVirtualSize() wrong
geometry(): QRect(2560,0 1200x1600) virtualGeometry(): QRect(0,0 0x0) availableGeometry(): QRect(2560,0 1200x1600) availableVirtualGeometry(): QRect(0,0 0x0) availableSize(): QSize(1200, 1600) availableVirtualSize(): QSize(0, 0) orientation(): Qt::ScreenOrientation(PortraitOrientation) nativeOrientation(): Qt::ScreenOrientation(PrimaryOrientation)
back at 1920x1200 (portrait mode, so 1200x1920):
- geometry() wrong (inverted)
- virtualGeometry() wrong
- availableGeometry() wrong
- availableVirtualGeometry() wrong
- availableSize() wrong
- availableVirtualSize() wrong
geometry(): QRect(2560,0 1920x1200) virtualGeometry(): QRect(0,0 0x0) availableGeometry(): QRect(2560,0 1200x1200) availableVirtualGeometry(): QRect(0,0 0x0) availableSize(): QSize(1200, 1200) availableVirtualSize(): QSize(0, 0) orientation(): Qt::ScreenOrientation(PortraitOrientation) nativeOrientation(): Qt::ScreenOrientation(PrimaryOrientation)