Fetch location and size of physical screens.
Supported environments
- MS Windows
- MS Windows: Cygwin
- GNU/Linux: X11 (through Xinerama)
- GNU/Linux: DRM (experimental)
- OSX: (through AppKit)
I don't plan on testing OSX or other environments myself. For this reason, I strongly encourage pull requests.
Installation
pip install screeninfo
Usage
from screeninfo import get_monitors for m in get_monitors(): print(str(m))
from screeninfo import get_primary_monitor print(str(get_primary_monitor()))
Output:
Monitor(x=3840, y=0, width=3840, height=2160, width_mm=1420, height_mm=800, name='HDMI-0', is_primary=False) Monitor(x=0, y=0, width=3840, height=2160, width_mm=708, height_mm=399, name='DP-0', is_primary=True)
Monitor(x=0, y=0, width=3840, height=2160, width_mm=708, height_mm=399, name='DP-0', is_primary=True)
Forcing environment
In some cases (emulating X server on Cygwin etc.) you might want to specify the
driver directly. You can do so by passing extra parameter to get_monitors()
like this:
from screeninfo import get_monitors, Enumerator for m in get_monitors(Enumerator.OSX): print(str(m))
Available drivers: windows, cygwin, x11, osx.
Contributing
git clone https://github.com/rr-/screeninfo.git # clone this repo cd screeninfo poetry install # to install the local venv poetry run pre-commit install # to setup pre-commit hooks poetry shell # to enter the venv
This project uses poetry for packaging, install instructions at poetry#installation