From 93009cfc5a12a744326ad4c1a642e3aab89077d7 Mon Sep 17 00:00:00 2001 From: Kalmat Date: Wed, 23 Aug 2023 21:40:57 +0200 Subject: [PATCH] WIN32: Fixed setScale() --- dist/PyMonCtl-0.0.10-py3-none-any.whl | Bin 116787 -> 117141 bytes src/ewmhlib/__init__.py | 3 +- src/ewmhlib/_ewmhlib.py | 8 ++- src/pymonctl/_pymonctl_win.py | 96 +++++++++++++++++--------- src/pymonctl/structs.py | 37 ++++++++-- 5 files changed, 104 insertions(+), 40 deletions(-) diff --git a/dist/PyMonCtl-0.0.10-py3-none-any.whl b/dist/PyMonCtl-0.0.10-py3-none-any.whl index 7c30cc5300d391ace39a262b603a2a906374a778..d19d0cc57c8ee5683d166d5b6a19a71f02c179ad 100644 GIT binary patch delta 43457 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%0Ap`SIW{XS1fUUsk;boTyv}!UK1lLmg!? zZk#KfnKZgFigaYy1Nsh7F$0&NBCpWx1SKhqf5$NER8zR9@@f5`4~n+2kvhiKp{0E_ zE#c}rCh?HWsAQaHZwQ=zT8Lxfc#LD#%n+5`8Rkb0%4F2Wut_xgf|~`HRg^nShxg6T zqM=}yA4-U!b5l^y^|WL)Qp%`+f`3g?m!OBZLVF@TKSFJ%8xQyj_5hj*LPXp`LPJvP zfB5$dk&sxT@n%6D0~rW%*00@*43}YH2|l}&h`&1FcG?_^DZ`gX;|SK%J1Du$29ntI!Ngbm%8|Ncs-oUq>o|5FB z2$G?`T4K!U%4ZL=J}^XdT7gK8=-Qcb#BYNpL)vtReKLoe)uobNA(gwC+r&sHMtcMc zca*INkV2|x?JZ9q(gu&Nat^#GAxa(X77Fih7nyRE4k$iM`cx<3Y)*$s#@#*Me*rAJ z{kotqdx^V(FrE83&mzQsj7~i!7&|Sk7Q!U;upd!fc}Ge7Wkwh?D@F#78bUqg7`dcy z;vuq;PiSLBkm&pFdxFGEDnVaQycGAo*aFqq%oF<^>^UDIn5fLfbw0_*DUz&~(gM+E z=k+m-jwjZ9gK0u>^#sK-RHi#+e-OG{LO8YAE;r~D&u`xk=M-vJfFI?!HF{0HlPw<3 zB+(6tG|FI5rgsrh>@gJ8SX#1JAW-;(yW}EY$wgU?$gvSA3ny6+%ILCaND7qQ;wm?{ zI}r40Vq)hdh=u@MuxeK12ZmUnNE*6O;;um^PK-+GyIjAN{onUZNhHjRf5I`K$eHzR z`SEa9EOK3KE~&yOmXry~#eBQ_;^1{xJ1YJH1%=ra4Rq5)k#Tve&GBI8d$`?mZjp@3 zaQc(NH*ro>+cmZVe@uTl+uxe=98QbP%FBS`*{c^Xj(3iBcVC8`ybj}fn#%Ab zR5GQwQIS7zeg{b^d@;A&7�TpLk%U%{EeVp!XgN=ew*PL|E> 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 z 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 q-v2oAKfxCo;-+rl5dR0rwM;7j delta 43073 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

F_>g3w=$!$34} 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 jEHnUs2?qd>|34 Optional[Xlib.protocol.request.GetProperty]: @@ -1007,10 +1007,12 @@ def __init__(self, window: Union[int, XWindow]): self.id: int = window.id self.display, self.screen, self.root = getDisplayFromWindow(self.id) self.xWindow: XWindow = window - else: + elif isinstance(window, int): self.id = window self.display, self.screen, self.root = getDisplayFromWindow(self.id) self.xWindow = self.display.create_resource_object('window', self.id) + else: + raise ValueError self.rootWindow: RootWindow = defaultRootWindow if self.root.id == defaultRoot.id else RootWindow(self.root) self.extensions = _Extensions(self.id, self.display, self.root) diff --git a/src/pymonctl/_pymonctl_win.py b/src/pymonctl/_pymonctl_win.py index 701b5be..7e645ce 100644 --- a/src/pymonctl/_pymonctl_win.py +++ b/src/pymonctl/_pymonctl_win.py @@ -21,9 +21,11 @@ from pymonctl import BaseMonitor, _getRelativePosition, \ DisplayMode, ScreenValue, Box, Rect, Point, Size, Position, Orientation -from pymonctl.structs import _QDC_ONLY_ACTIVE_PATHS, _DISPLAYCONFIG_PATH_ACTIVE, _DISPLAYCONFIG_PATH_INFO, \ - _DISPLAYCONFIG_MODE_INFO, _DISPLAYCONFIG_SOURCE_DPI_SCALE_GET, \ - _DISPLAYCONFIG_DEVICE_INFO_GET_DPI_SCALE +from pymonctl.structs import (_QDC_ONLY_ACTIVE_PATHS, _DISPLAYCONFIG_PATH_INFO, _DISPLAYCONFIG_MODE_INFO, _LUID, + _DISPLAYCONFIG_SOURCE_DPI_SCALE_GET, _DISPLAYCONFIG_SOURCE_DPI_SCALE_SET, _DPI_VALUES, + _DISPLAYCONFIG_DEVICE_INFO_GET_DPI_SCALE, _DISPLAYCONFIG_DEVICE_INFO_SET_DPI_SCALE, + _DISPLAYCONFIG_SOURCE_DEVICE_NAME, _DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME + ) dpiAware = ctypes.windll.user32.GetAwarenessFromDpiAwarenessContext(ctypes.windll.user32.GetThreadDpiAwarenessContext()) @@ -167,6 +169,8 @@ def __init__(self, handle: Optional[int] = None): raise ValueError self._hasVCPSupport = _win32hasVCPSupport(self.handle) self._hasVCPPowerSupport = _win32hasVCPPowerSupport(self.handle) + self._sourceAdapterId: Optional[_LUID] = None + self._sourceId: Optional[int] = None @property def size(self) -> Optional[Size]: @@ -229,7 +233,7 @@ def scale(self) -> Optional[Tuple[float, float]]: return float(pScale.value), float(pScale.value) return None - def _getPaths(self): + def _getPaths(self) -> Tuple[Optional[_LUID], Optional[int]]: flags = _QDC_ONLY_ACTIVE_PATHS numPathArrayElements = ctypes.c_uint32() @@ -237,14 +241,11 @@ def _getPaths(self): ctypes.windll.user32.GetDisplayConfigBufferSizes(flags, ctypes.byref(numPathArrayElements), ctypes.byref(numModeInfoArrayElements)) - print("PATHS", numPathArrayElements.value, "MODES", numModeInfoArrayElements.value) - flags = _DISPLAYCONFIG_PATH_ACTIVE + flags = _QDC_ONLY_ACTIVE_PATHS paths = (_DISPLAYCONFIG_PATH_INFO * numPathArrayElements.value)() - print(ctypes.sizeof(pymonctl.structs._DISPLAYCONFIG_PATH_INFO()), ctypes.sizeof(paths)) modes = (_DISPLAYCONFIG_MODE_INFO * numModeInfoArrayElements.value)() - print(ctypes.sizeof(_DISPLAYCONFIG_MODE_INFO()), ctypes.sizeof(modes)) - nullptr = ctypes.c_void_p() # or None? + nullptr = ctypes.c_void_p() ret = ctypes.windll.user32.QueryDisplayConfig(flags, ctypes.byref(numPathArrayElements), ctypes.byref(paths), @@ -252,36 +253,67 @@ def _getPaths(self): ctypes.byref(modes), nullptr ) - print("RET", ret, "PATHS", numPathArrayElements.value, "MODES", numModeInfoArrayElements.value) if ret == 0: - for i in range(numPathArrayElements.value): - pathInfo: _DISPLAYCONFIG_PATH_INFO = paths[i].value - print(pathInfo) + for path in paths: + sourceName = _DISPLAYCONFIG_SOURCE_DEVICE_NAME() + sourceName.header.type = _DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME + sourceName.header.size = ctypes.sizeof(sourceName) + sourceName.header.adapterId = path.sourceInfo.adapterId + sourceName.header.id = path.sourceInfo.id + ret = ctypes.windll.user32.DisplayConfigGetDeviceInfo(ctypes.byref(sourceName)) + if ret == 0 and sourceName.viewGdiDeviceName == self.name: + return path.sourceInfo.adapterId, path.sourceInfo.id else: - print("FAILED!!! (I guess you are gonna see this a ridiculously huge number of times...)") - - def setScale(self, scale: Tuple[float, float]): - if scale is not None and self.handle is not None: - # https://github.com/lihas/windows-DPI-scaling-sample/blob/master/DPIHelper/DpiHelper.cpp + return None, None - # self._getPaths() + def setScale(self, scale: Optional[Tuple[float, float]]): - scaleData = _DISPLAYCONFIG_SOURCE_DPI_SCALE_GET() - scaleData.header.type = _DISPLAYCONFIG_DEVICE_INFO_GET_DPI_SCALE - scaleData.header.size = ctypes.sizeof(scaleData) + if self.handle is not None and scale is not None: + # https://github.com/lihas/windows-DPI-scaling-sample/blob/master/DPIHelper/DpiHelper.cpp + # https://github.com/lihas/windows-DPI-scaling-sample/blob/master/DPIHelper/DpiHelper.cpp # HOW to GET adapterId and sourceId values???? -> QueryDisplayConfig # https://stackoverflow.com/questions/67332814/how-to-properly-clone-and-extend-two-specific-monitors-on-windows # Seriously all that to just get the adapterId and the sourceId???? I definitely love you, MSĀ© - scaleData.header.adapterId = pymonctl.structs._LUID() - scaleData.header.adapterId.lowPart = 0 - scaleData.header.adapterId.highPart = self.handle - scaleData.header.id = 0 - scaleData.minScaleRel = 100 - scaleData.curScaleRel = 125 - scaleData.maxScaleRel = 250 - ret = ctypes.windll.user32.DisplayConfigGetDeviceInfo(ctypes.byref(scaleData)) - # print("RET", ret, "MIN", scaleData.minScaleRel, "CURR", scaleData.curScaleRel, "MAX", scaleData.maxScaleRel) - # ctypes.windll.user32.DisplayConfigSetDeviceInfo(ctypes.byref(data)) + + if self._sourceAdapterId is None: + self._sourceAdapterId, self._sourceId = self._getPaths() + if self._sourceAdapterId is None: + self._sourceAdapterId = 0 + self._sourceId = None + + if self._sourceAdapterId is not None and self._sourceId is not None: + + scaleData = _DISPLAYCONFIG_SOURCE_DPI_SCALE_GET() + scaleData.header.type = _DISPLAYCONFIG_DEVICE_INFO_GET_DPI_SCALE + scaleData.header.size = ctypes.sizeof(scaleData) + scaleData.header.adapterId = self._sourceAdapterId + scaleData.header.id = self._sourceId + ctypes.windll.user32.DisplayConfigGetDeviceInfo(ctypes.byref(scaleData)) + minScale = _DPI_VALUES[scaleData.minScaleRel] + maxScale = _DPI_VALUES[scaleData.maxScaleRel] + + scale = int(scale[0]) + targetScale = -1 + if scale < minScale: + targetScale = 0 + elif scale > maxScale: + targetScale = len(_DPI_VALUES) - 1 + else: + try: + targetScale = _DPI_VALUES.index(scale) + except: + for i, value in enumerate(_DPI_VALUES): + targetScale = i + if value > scale: + break + if targetScale >= 0: + setScaleData = _DISPLAYCONFIG_SOURCE_DPI_SCALE_SET() + setScaleData.header.type = _DISPLAYCONFIG_DEVICE_INFO_SET_DPI_SCALE + setScaleData.header.size = ctypes.sizeof(setScaleData) + setScaleData.header.adapterId = self._sourceAdapterId + setScaleData.header.id = self._sourceId + setScaleData.scaleRel = targetScale + ctypes.windll.user32.DisplayConfigSetDeviceInfo(ctypes.byref(setScaleData)) @property def dpi(self) -> Optional[Tuple[float, float]]: diff --git a/src/pymonctl/structs.py b/src/pymonctl/structs.py index f204826..e4f2793 100644 --- a/src/pymonctl/structs.py +++ b/src/pymonctl/structs.py @@ -232,12 +232,16 @@ class _DISPLAYCONFIG_MODE_INFO(ctypes.Structure): ] -_QDC_ONLY_ACTIVE_PATHS = 0x00000002 -_DISPLAYCONFIG_PATH_ACTIVE = 0x00000001 +_QDC_ONLY_ACTIVE_PATHS = 2 +_DISPLAYCONFIG_PATH_ACTIVE = 1 # ==================================== DisplayConfig[Get/Set]DeviceInfo ========================================= + +_DPI_VALUES = [100, 125, 150, 175, 200, 225, 250, 300, 350, 400, 450, 500] + + class _DISPLAYCONFIG_DEVICE_INFO_HEADER(ctypes.Structure): _fields_ = [ ('type', ctypes.c_uint32), @@ -247,6 +251,9 @@ class _DISPLAYCONFIG_DEVICE_INFO_HEADER(ctypes.Structure): ] +_DISPLAYCONFIG_DEVICE_INFO_GET_DPI_SCALE = -3 # returns min, max, and currently applied DPI scaling values + + class _DISPLAYCONFIG_SOURCE_DPI_SCALE_GET(ctypes.Structure): _fields_ = [ ('header', _DISPLAYCONFIG_DEVICE_INFO_HEADER), @@ -256,7 +263,7 @@ class _DISPLAYCONFIG_SOURCE_DPI_SCALE_GET(ctypes.Structure): ] -_DISPLAYCONFIG_DEVICE_INFO_GET_DPI_SCALE = -3 # returns min, max, and currently applied DPI scaling values. +_DISPLAYCONFIG_DEVICE_INFO_SET_DPI_SCALE = -4 # set current dpi scaling value for a display class _DISPLAYCONFIG_SOURCE_DPI_SCALE_SET(ctypes.Structure): @@ -266,4 +273,26 @@ class _DISPLAYCONFIG_SOURCE_DPI_SCALE_SET(ctypes.Structure): ] -_DISPLAYCONFIG_DEVICE_INFO_SET_DPI_SCALE = -4 # set current dpi scaling value for a display +_DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME = 2 + + +class _DISPLAY_CONFIG_TARGET_DEVICE_NAME(ctypes.Structure): + _fields_ = [ + ('header', _DISPLAYCONFIG_DEVICE_INFO_HEADER), + ('flags', ctypes.c_uint32), + ('outputTechnology', ctypes.c_uint32), + ('edidManufactureId', ctypes.c_uint16), + ('edidProductCodeId', ctypes.c_uint16), + ('connectorInstance', ctypes.c_uint32), + ('monitorFriendlyDeviceName', ctypes.wintypes.WCHAR * 64), + ('monitorDevicePath', ctypes.wintypes.WCHAR * 128) + ] + + +_DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1 + +class _DISPLAYCONFIG_SOURCE_DEVICE_NAME(ctypes.Structure): + _fields_ = [ + ('header', _DISPLAYCONFIG_DEVICE_INFO_HEADER), + ('viewGdiDeviceName', ctypes.wintypes.WCHAR * 32) + ] \ No newline at end of file