From 3fcab57931c97615e379a5b448fe87e13a55a05b Mon Sep 17 00:00:00 2001 From: Kalmat Date: Mon, 18 Apr 2022 13:06:59 +0200 Subject: [PATCH] macOS Apple Script version: Fixed getWindowsWithTitle() --- CHANGES.txt | 2 +- README.md | 3 ++ dist/PyWinCtl-0.0.34-py3-none-any.whl | Bin 59542 -> 60372 bytes src/pywinctl/__init__.py | 36 +++++++-------- src/pywinctl/_pywinctl_linux.py | 22 ++++++++-- src/pywinctl/_pywinctl_macos.py | 61 +++++++++++++++++++++----- src/pywinctl/_pywinctl_win.py | 19 +++++++- 7 files changed, 106 insertions(+), 37 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index cc189c1..1f917bc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,4 @@ -0.0.34, 2022/04/06 -- Added DIFFRATIO (difflib similarity ratio) to getWindowsWithTitle() and getAppsWithName(). Linux: fixed getAllScreens() for LXDE. macOS (Apple Script version): Added updatedTitle property, improved watchdog to detect title changes and fixed isAlive property +0.0.34, 2022/04/06 -- Added DIFFRATIO (difflib similarity ratio) to getWindowsWithTitle() and getAppsWithName(). Linux: fixed getAllScreens() for LXDE. macOS (Apple Script version): Fixed getWindowsWithTitle() and added updatedTitle property, improved watchdog to detect title changes and fixed isAlive property 0.0.33, 2022/04/04 -- Added getAppsWithName() function with regex-like options to search app names. Added param to getWindowsWithTitle() used to define app names in which search window titles 0.0.32, 2022/03/29 -- Added WinWatchDog class to hook to some window changes notifications. Added regex-like search options in getWindowsWithTitle() function. Fixed getMenu() method for menus with 5+ levels. 0.0.31, 2022/03/27 -- Added getExtraFrame(), getClientFrame() methods and isAlive property. Fixed isVisible and getAllScreens() for older macOS diff --git a/README.md b/README.md index 4d8bd39..b634915 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,7 @@ The watchdog will automatically stop when window doesn't exist anymore or progra | start | | updateCallbacks | | updateInterval | +| setTryToFind | | isAlive | | stop | @@ -120,6 +121,7 @@ Example: npw = pwc.getActiveWindow() npw.watchdog.start(isActiveCB=activeCB) + npw.watchdog.setTryToFind(True) print("toggle focus and move active window") print("Press Ctl-C to Quit") i = 0 @@ -129,6 +131,7 @@ Example: npw.watchdog.updateCallbacks(isActiveCB=activeCB, movedCB=movedCB) if i == 100: npw.watchdog.updateInterval(0.1) + npw.setTryToFind(False) time.sleep(0.1) except KeyboardInterrupt: break diff --git a/dist/PyWinCtl-0.0.34-py3-none-any.whl b/dist/PyWinCtl-0.0.34-py3-none-any.whl index 961ab08dd0f9d4d88f0ff8ca7269752255f346c5..428a63edfd8ceb3005b2228805e18ab3b2fdd900 100644 GIT binary patch delta 54306 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 Xbv;(YZ}|IFR(Q}R1)k*QKQsRYYy|-x delta 53472 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 RWQ7}OU%y6vy8MsizW_^9qY?lB diff --git a/src/pywinctl/__init__.py b/src/pywinctl/__init__.py index e204127..63df614 100644 --- a/src/pywinctl/__init__.py +++ b/src/pywinctl/__init__.py @@ -1,22 +1,16 @@ -# PyWinCtl -# A cross-platform module to get info on and control windows on screen - -# pywin32 on Windows -# pyobjc (AppKit and Quartz) on macOS -# Xlib and ewmh on Linux - +#!/usr/bin/python +# -*- coding: utf-8 -*- __version__ = "0.0.34" import collections import difflib - -import numpy as np import re import sys import threading from typing import Tuple, List +import numpy as np import pyrect Rect = collections.namedtuple("Rect", "left top right bottom") @@ -496,6 +490,7 @@ def __init__(self, win: BaseWindow, isAliveCB=None, isActiveCB=None, isVisibleCB threading.Thread.__init__(self) self._win = win self._interval = interval + self._tryToFind = False self._kill = threading.Event() self._isAliveCB = isAliveCB @@ -552,24 +547,21 @@ def run(self): self._kill.wait(self._interval) try: - if self._isAliveCB or type(self._win).__name__ == MacOSWindow.__name__: + if self._isAliveCB or self._tryToFind: # In macOS AppScript version, if title changes, it will consider window is not alive anymore if not self._win.isAlive: if self._isAliveCB: self._isAliveCB(False) - if type(self._win).__name__ == MacOSWindow.__name__: + if self._tryToFind: title = self._win.title if self._title != title: - try: - title = self._win.updatedTitle - except NotImplementedError: - pass - if self._changedTitleCB is not None: - # In macOS AppScript version, watchdog will try to find a similar window title within same app - # and will pass it to the callback. However, the watchdog will stop! + title = self._win.updatedTitle + self._title = title + if self._changedTitleCB: self._changedTitleCB(title) - self.kill() - break + if not self._tryToFind or (self._tryToFind and not self._title): + self.kill() + break if self._isActiveCB: active = self._win.isActive @@ -641,6 +633,10 @@ def updateCallbacks(self, isAliveCB=None, isActiveCB=None, isVisibleCB=None, isM def updateInterval(self, interval=0.3): self._interval = interval + def setTryToFind(self, tryToFind): + if type(self._win).__name__ == MacOSWindow.__name__: + self._tryToFind = tryToFind + def kill(self): self._kill.set() diff --git a/src/pywinctl/_pywinctl_linux.py b/src/pywinctl/_pywinctl_linux.py index 34c1103..e30f38f 100644 --- a/src/pywinctl/_pywinctl_linux.py +++ b/src/pywinctl/_pywinctl_linux.py @@ -146,7 +146,7 @@ def getWindowsWithTitle(title, app=(), condition=Re.IS, flags=0): title = re.compile(title, flags) elif condition in (Re.EDITDISTANCE, Re.DIFFRATIO) and (not isinstance(flags, int) or not (0 < flags <= 100)): flags = 90 - elif flags == re.IGNORECASE: + elif flags == Re.IGNORECASE: lower = True title = title.lower() for win in getAllWindows(): @@ -1000,6 +1000,21 @@ def updateInterval(self, interval=0.3): else: self._watchdog = None + def setTryToFind(self, tryToFind: bool): + """ + In macOS Apple Script version, if set to ''True'' and in case title changes, watchdog will try to find + a similar title within same application to continue monitoring it. It will stop if set to ''False'' or + similar title not found. + + IMPORTANT: + + - It will have no effect in other platforms (Windows and Linux) and classes (MacOSNSWindow) + - This behavior is deactivated by default, so you need to explicitly activate it + + :param tryToFind: set to ''True'' to try to find a similar title. Set to ''False'' to deactivate this behavior + """ + pass + def stop(self): """ Stop the entire WatchDog and all its hooks @@ -1045,7 +1060,7 @@ def getAllScreens(): "workarea": Rect(left, top, right, bottom) struct with the screen workarea, in pixels "scale": - Scale ratio, as a percentage + Scale ratio, as a tuple of (x, y) scale percentage "dpi": Dots per inch, as a tuple of (x, y) dpi values "orientation": @@ -1081,9 +1096,8 @@ def getAllScreens(): x, y, w, h = crtc.x, crtc.y, crtc.width, crtc.height wx, wy, wr, wb = x + wa[0], y + wa[1], x + w - (screen.width_in_pixels - wa[2] - wa[0]), y + h - (screen.height_in_pixels - wa[3] - wa[1]) # check all these values with physical monitors using dpi, mms or other possible values or props + # dpiX, dpiY = round(crtc.width * 25.4 / params.mm_width), round(crtc.height * 25.4 / params.mm_height) dpiX, dpiY = round(w * 25.4 / screen.width_in_mms), round(h * 25.4 / screen.height_in_mms) - # 'dpi' = (round(SCREEN.width_in_pixels * 25.4 / SCREEN.width_in_mms), round(SCREEN.height_in_pixels * 25.4 / SCREEN.height_in_mms)), - # 'dpi' = (round(crtc.width * 25.4 / params.mm_width), round(crtc.height * 25.4 / params.mm_height)), scaleX, scaleY = round(dpiX / 96 * 100), round(dpiY / 96 * 100) rot = int(math.log(crtc.rotation, 2)) freq = 0 diff --git a/src/pywinctl/_pywinctl_macos.py b/src/pywinctl/_pywinctl_macos.py index 6d558c6..9a056c7 100644 --- a/src/pywinctl/_pywinctl_macos.py +++ b/src/pywinctl/_pywinctl_macos.py @@ -159,10 +159,10 @@ def getWindowsWithTitle(title, app=(), condition=Re.IS, flags=0): title = re.compile(title, flags) elif condition in (Re.EDITDISTANCE, Re.DIFFRATIO) and (not isinstance(flags, int) or not (0 < flags <= 100)): flags = 90 - elif flags == re.IGNORECASE: + elif flags == Re.IGNORECASE: lower = True title = title.lower() - if not app: + if not app or (app and isinstance(app, tuple)): activeApps = _getAllApps() titleList = _getWindowTitles() for item in titleList: @@ -172,8 +172,8 @@ def getWindowsWithTitle(title, app=(), condition=Re.IS, flags=0): x, y, w, h = int(item[2][0]), int(item[2][1]), int(item[3][0]), int(item[3][1]) rect = Rect(x, y, x + w, y + h) for a in activeApps: - if a.processIdentifier() == pID and (not app or (app and app.localizedName() in app)): - matches.append(MacOSWindow(app, item[1], rect)) + if (not app and a.processIdentifier() == pID) or a.localizedName() in app: + matches.append(MacOSWindow(a, item[1], rect)) break else: windows = getAllWindows(app) @@ -1057,7 +1057,7 @@ def title(self) -> Union[str, None]: @property def updatedTitle(self) -> str: """ - Get and update title by finding a similar window title within same application. + Get and updated title by finding a similar window title within same application. It uses a similarity check to find the best match in case title changes (no way to effectively detect it). This can be useful since this class uses window title to identify the target window. If watchdog is activated, it will stop in case title changes. @@ -1067,7 +1067,7 @@ def updatedTitle(self) -> str: - New title may not belong to the original target window, it is just similar within same application - If original title or a similar one is not found, window may still exist - :return: possible new title or same title if it didn't change, as a string + :return: possible new title, empty if no similar title found or same title if it didn't change, as a string """ titles = _getAppWindowsTitles(self._appName) if self._winTitle not in titles: @@ -1225,6 +1225,24 @@ def updateInterval(self, interval=0.3): else: self._watchdog = None + def setTryToFind(self, tryToFind: bool): + """ + In macOS Apple Script version, if set to ''True'' and in case title changes, watchdog will try to find + a similar title within same application to continue monitoring it. It will stop if set to ''False'' or + similar title not found. + + IMPORTANT: + + - It will have no effect in other platforms (Windows and Linux) and classes (MacOSNSWindow) + - This behavior is deactivated by default, so you need to explicitly activate it + + :param tryToFind: set to ''True'' to try to find a similar title. Set to ''False'' to deactivate this behavior + """ + if self._watchdog and self.isAlive(): + self._watchdog.setTryToFind(tryToFind) + else: + self._watchdog = None + def stop(self): """ Stop the entire WatchDog and all its hooks @@ -2066,8 +2084,8 @@ def sendBehind(self, sb: bool = True) -> bool: if sb: ret1 = self._hWnd.setLevel_(Quartz.kCGDesktopWindowLevel - 1) ret2 = self._hWnd.setCollectionBehavior_(Quartz.NSWindowCollectionBehaviorCanJoinAllSpaces | - Quartz.NSWindowCollectionBehaviorStationary | - Quartz.NSWindowCollectionBehaviorIgnoresCycle) + Quartz.NSWindowCollectionBehaviorStationary | + Quartz.NSWindowCollectionBehaviorIgnoresCycle) else: ret1 = self._hWnd.setLevel_(Quartz.kCGNormalWindowLevel) ret2 = self._hWnd.setCollectionBehavior_(Quartz.NSWindowCollectionBehaviorDefault | @@ -2314,6 +2332,21 @@ def updateInterval(self, interval=0.3): else: self._watchdog = None + def setTryToFind(self, tryToFind: bool): + """ + In macOS Apple Script version, if set to ''True'' and in case title changes, watchdog will try to find + a similar title within same application to continue monitoring it. It will stop if set to ''False'' or + similar title not found. + + IMPORTANT: + + - It will have no effect in other platforms (Windows and Linux) and classes (MacOSNSWindow) + - This behavior is deactivated by default, so you need to explicitly activate it + + :param tryToFind: set to ''True'' to try to find a similar title. Set to ''False'' to deactivate this behavior + """ + pass + def stop(self): """ Stop the entire WatchDog and all its hooks @@ -2379,7 +2412,7 @@ def getAllScreens(): "workarea": Rect(left, top, right, bottom) struct with the screen workarea, in pixels "scale": - Scale ratio, as a percentage + Scale ratio, as a tuple of (x, y) scale percentage "dpi": Dots per inch, as a tuple of (x, y) dpi values "orientation": @@ -2417,7 +2450,7 @@ def getAllScreens(): 'pos': Point(x, y), 'size': Size(w, h), 'workarea': Rect(wx, wy, wr, wb), - 'scale': scale, + 'scale': (scale, scale), 'dpi': (dpiX, dpiY), 'orientation': rot, 'frequency': freq, @@ -2493,6 +2526,14 @@ def displayWindowsUnderMouse(xOffset: int = 0, yOffset: int = 0) -> None: sys.stdout.flush() +def isAliveCB(alive): + print("ALIVE", alive) + + +def changedTitleCB(title): + print("TITLE", title) + + def main(): """Run this script from command-line to get windows under mouse pointer""" print("PLATFORM:", sys.platform) diff --git a/src/pywinctl/_pywinctl_win.py b/src/pywinctl/_pywinctl_win.py index a5758fe..1bdf4f8 100644 --- a/src/pywinctl/_pywinctl_win.py +++ b/src/pywinctl/_pywinctl_win.py @@ -865,6 +865,21 @@ def updateInterval(self, interval=0.3): else: self._watchdog = None + def setTryToFind(self, tryToFind: bool): + """ + In macOS Apple Script version, if set to ''True'' and in case title changes, watchdog will try to find + a similar title within same application to continue monitoring it. It will stop if set to ''False'' or + similar title not found. + + IMPORTANT: + + - It will have no effect in other platforms (Windows and Linux) and classes (MacOSNSWindow) + - This behavior is deactivated by default, so you need to explicitly activate it + + :param tryToFind: set to ''True'' to try to find a similar title. Set to ''False'' to deactivate this behavior + """ + pass + def stop(self): """ Stop the entire WatchDog and all its hooks @@ -1152,7 +1167,7 @@ def getAllScreens() -> dict: "workarea": Rect(left, top, right, bottom) struct with the screen workarea, in pixels "scale": - Scale ratio, as a percentage + Scale ratio, as a tuple of (x, y) scale percentage "dpi": Dots per inch, as a tuple of (x, y) dpi values "orientation": @@ -1211,7 +1226,7 @@ def getAllScreens() -> dict: "pos": Point(x, y), "size": Size(r - x, b - y), "workarea": Rect(wx, wy, wr, wb), - "scale": scale, + "scale": (scale, scale), "dpi": (dpiX.value, dpiY.value), "orientation": rot, "frequency": freq,