PyWinBox
Cross-Platform and multi-monitor toolkit to handle rectangular areas and windows box
Decision gist · record as of 2026-08-14
Yes, if you need cross-platform window geometry control. The library is actively maintained, has low install friction, and covers all three major desktop OSes. The permissive BSD license poses no barrier. Start with the default callbacks for simple use cases; define custom ones only if you need to integrate with existing window management. No known vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires platform-specific window handle: integer/string on Windows, integer/X-Window on Linux, or NSWindow/app+title tuple on macOS.
- Low install friction with a pure-Python wheel.
- Maintenance is active with a recent commit on 2026-07-15.
License · maintenance · safety
BSD 3 (permissive) — BSD 3 is a permissive license, so you can use this in commercial and private projects with minimal restrictions—just include the license text.
last release 2024-04-17 (849 days) · last repo commit 2026-07-15 · 1 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 199,558 downloads/mo, #9,706 on PyPI
Alternatives
Verify before relying
pip install pywinbox
import pywinbox
# For a window handle (platform-specific format)
myBox = pywinbox.PyWinBox(onQuery=None, onSet=None, handle=windowHandle)
print(myBox.left, myBox.top, myBox.width, myBox.height)- Whether the package works reliably with all three platforms or if some have better support than others.
- Performance characteristics when managing many windows or frequent property updates.
- Compatibility with modern versions of pywin32, pyobjc, and python-xlib.
What it is and what it does
PyWinBox is a cross-platform library for querying and manipulating window geometry—position, size, and derived properties like center, corners, and midpoints. It abstracts the differences between Windows (via pywin32), macOS (via pyobjc), and Linux (via python-xlib and ewmhlib), letting you read and set window bounds using a uniform API.
You instantiate a PyWinBox object with a window handle (in the appropriate format for your OS) and optional callback functions. The library then exposes properties like left, top, right, bottom, width, height, center, topleft, bottomright, and others, plus utility structs (Box, Rect, Size, Point) for cleaner data handling. You can use default callbacks to move and resize windows automatically, or provide custom callbacks to integrate with your own window management logic.
Use it for
- Programmatically position and resize application windows on multi-monitor setups.
- Track or enforce window geometry constraints in a cross-platform desktop tool.
- Build custom window tiling or layout managers that work on Windows, macOS, and Linux.
- Retrieve current window bounds for logging, testing, or UI automation workflows.
- Manage rectangular areas with custom data backends by providing your own callbacks.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need cross-platform window geometry control.
The library is actively maintained, has low install friction, and covers all three major desktop OSes. The permissive BSD license poses no barrier. Start with the default callbacks for simple use cases; define custom ones only if you need to integrate with existing window management. No known vulnerabilities.
Install
pywinbox on PyPI
Before you install
Low install friction with a pure-Python wheel. Maintenance is active with a recent commit on 2026-07-15. The package depends on platform-specific libraries (pywin32 for Windows, pyobjc for macOS, python-xlib and ewmhlib for Linux), which install cleanly but tie you to those ecosystems.
Requires platform-specific window handle: integer/string on Windows, integer/X-Window on Linux, or NSWindow/app+title tuple on macOS.
License in practice
BSD 3 is a permissive license, so you can use this in commercial and private projects with minimal restrictions—just include the license text.
Quickstart
pip install pywinbox
import pywinbox
# For a window handle (platform-specific format)
myBox = pywinbox.PyWinBox(onQuery=None, onSet=None, handle=windowHandle)
print(myBox.left, myBox.top, myBox.width, myBox.height)
Verify before relying
- Whether the package works reliably with all three platforms or if some have better support than others.
- Performance characteristics when managing many windows or frequent property updates.
- Compatibility with modern versions of pywin32, pyobjc, and python-xlib.
Package facts
| License | BSD 3 permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packagestyping-extensionspyobjcpython-xlibewmhlibpywin32 |
| Maintenance | Actively maintained 849 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 199,558 / month, #9,706 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: MacOS XEnvironment :: Win32 (MS Windows)Environment :: X11 ApplicationsIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.9 |
Evidence: PyWinBox-0.7-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “cross-platform window positioning”
- PyWinBoxPyWinBox manages window positions, sizes, and rectangular areas…
- screeninfoDetects and reports the location, dimensions, and physical properties…
- wmctrlwmctrl provides programmatic control over windows in X Window System…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also PyMonCtl · PyRect · EWMHlib · wmctrl · PyGetWindow · PyAutoGUI · screeninfo · pybboxes · PyMsgBox · rectpack