The appwindows library provides a unified way to find, inspect, and control application windows across Windows, macOS, and Linux.
- Windows 10 and later
- MacOS 12.2 and later
- Linux with XServer (Wayland works, but with very significant limitations)
pip install appwindows- Create window screenshot
from appwindows import get_finder
from appwindows.geometry import Size
finder = get_finder()
window = finder.get_window_by_title("Some title")
window.get_screenshot() # numpy.ndarray whith image- Move window
from appwindows import get_finder
from appwindows.geometry import Point
finder = get_finder()
window = finder.get_window_by_title("Some title")
window.move(Point(x=200, y=200))- Get window coordinates and size
from appwindows import get_finder
finder = get_finder()
window = finder.get_window_by_title("Some title")
points = window.get_points()
size = window.get_size()
print(points.left_top) # appwindows.geometry.Point(x=200, y=200)
print(size) # appwindows.geometry.Size(width=200, height=200)| Comparison Point | PyGetWindow | PyWinCtl | appwindows |
|---|---|---|---|
| Cross-Platform (macOS, Linux, Windows) | ❌ | ✅ | ✅ |
| Can Take Screenshots | ❌ | ❌ | ✅ |
| Actively Maintained | ❌ | ✅ | ✅ |
| Has CI/CD Testing | ❌ | ❌ | ✅ |
| Error Handling | ❌ | ❌ | ✅ |
| Documentation | ❌ | ✅ | ✅ |
All documentation here
Link to PyPi
- If something doesn't work - open issue.
- If you want something fixed - open issue.
- If you can help with the library - email.
apparser.development@gmail.com
Any help in development is welcome)!