You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGES.txt
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
0.4, 2023/10/11 -- ALL: Added getMonitor() as alias for getDisplay()
2
-
LINUX: Fixed getAllMonitors() returns empty list if XDG_CURRENT_DESKTOP is not set, improved getClientFrame() and getExtraFrameSize() by properly using _NET_EXTENTS and GTK_EXTENTS, Added a new Window.LEGACY_NAME="WM_NAME" property (for apps not setting _NET_WM_NAME)
3
-
(ewmhlib): Fixed Mint returning str (not bytes) in some properties. Fixed Mint not having get_monitors() method in xrandr extension.
4
-
MACOS: Fixed lowerWindow(), raiseWindow() and isAlive. Fixed test_pywinctl.py to avoid crashing in small screens
2
+
LINUX: Added ewmhlib as separate module. Fixed getAllMonitors() returns empty list if XDG_CURRENT_DESKTOP is not set. Improved getClientFrame() and getExtraFrameSize() by properly using _NET_EXTENTS and GTK_EXTENTS, Added a new Window.LEGACY_NAME="WM_NAME" property (for apps not setting _NET_WM_NAME)
3
+
(ewmhlib): Fixed Mint returning str (not bytes) in some properties. Fixed Mint not having get_monitors() method in xrandr extension.
4
+
MACOS: Removed MacOSNSWindow. Fixed lowerWindow(), raiseWindow() and isAlive. Fixed test_pywinctl.py to avoid crashing in small screens
5
5
0.3, 2023/09/20 -- LINUX: Improved Wayland support for some apps which (surprisingly) work using X11/XOrg (thanks to SamuMazzi for his help!).
6
6
0.2, 2023/09/09 -- LINUX: Added experimental Wayland support (only if unsafe mode enabled and only for some apps).
7
7
Fixed ewmhlib freezing in Wayland when connecting to display ":1", and added some performance improvements
Copy file name to clipboardExpand all lines: README.md
+34-40Lines changed: 34 additions & 40 deletions
Original file line number
Diff line number
Diff line change
@@ -25,10 +25,10 @@ My most sincere thanks and acknowledgement. amongst many others (see AUTHORS.txt
25
25
26
26
## Window Features <aname="window-features"></a>
27
27
28
-
There are three kind of function to be used within PyWinCtl:
28
+
There are three kinds of functions to be used within PyWinCtl:
29
29
- General, independent functions: These functions can be directly invoked at module level, without the need of referencing a Window object
30
30
- Window class:
31
-
- Methods: You need a Window object to control or get info on the target window on screen. It's possible to get a Window object by using any of the general methods (e.g. getActiveWidow() or getWindowsWithTitle()). You can also use windows id, as returned by PyQt's self.winId() or tkinter's root.frame(), which is very handy to get the Window object for your own application.
31
+
- Methods: You need a Window object to control or get info on the target window on screen. It is possible to get a Window object by using any of the general methods (e.g. getActiveWidow() or getWindowsWithTitle()). You can also use the window id, as returned by PyQt's self.winId() or tkinter's root.frame(), which is very handy to get the Window object for your own application.
32
32
- Properties: Window attributes, getters and setters, that also require to use a Window object
33
33
34
34
A very simple example:
@@ -54,43 +54,41 @@ A very simple example:
54
54
55
55
These functions are available at the moment, in all three platforms (Windows, Linux and macOS)
56
56
57
-
| General, independent functions: | Window class methods: | Window class properties: |
macOS doesn't "like" controlling windows from other apps, so there are two separate classes you can use:
92
-
- To control your own application's windows: MacOSNSWindow() is based on NSWindow Objects (you have to pass the NSApp() and the NSWindow() objects reference).
93
-
- To control other applications' windows: MacOSWindow() is based on Apple Script, so it is non-standard, slower and, in some cases, tricky (uses window name as reference, which may change or be duplicate), but it's working fine in most cases. You will likely need to grant permissions on Settings -> Security&Privacy -> Accessibility. ***Notice some applications will have limited Apple Script support or no support at all, so some or even all methods may fail!***
91
+
macOS doesn't "like" controlling windows from other apps. MacOSWindow() class is based on Apple Script, so it is non-standard, slower and, in some cases, tricky (uses window name as reference, which may change or be duplicate), but it's working fine in most cases. You will likely need to grant permissions on Settings -> Security&Privacy -> Accessibility. ***Notice some applications will have limited Apple Script support or no support at all, so some or even all methods may fail!***
94
92
95
93
***Important Linux notice <aname="linux-notice"></a>***
96
94
@@ -280,7 +278,3 @@ To test this module on your own system, cd to "tests" folder and run:
280
278
281
279
python3 test_pywinctl.py
282
280
283
-
MacOSNSWindow class and methods can be tested by running this, also on "tests" folder:
0 commit comments