mirror of
https://github.com/amnweb/pyvda.git
synced 2026-05-01 11:44:07 +02:00
Python module for manipulating Windows 10/11 windows and virtual desktops.
- Python 99.6%
- Makefile 0.3%
- Shell 0.1%
- When no fallback is provided, remove() now picks desktop 2 if removing desktop 1, avoiding passing the same desktop as both target and fallback. - Fixes COM error (-2147024809) caused by RemoveDesktop receiving identical desktop and fallback parameters. |
||
|---|---|---|
| docs | ||
| pyvda | ||
| tests | ||
| .gitignore | ||
| .readthedocs.yml | ||
| create_tag.sh | ||
| LICENSE.txt | ||
| Makefile | ||
| README.md | ||
| requirements.txt | ||
| setup.py | ||
Python Virtual Desktop Accessor
Python module providing programmatic access to most of the settings accessed through the Windows task view. Including switching virtual desktops, moving windows between virtual desktops, pinning windows and listing the windows on a desktop.
Originally based on https://github.com/Ciantic/VirtualDesktopAccessor.
Installation
pip install pyvda
Example usage
from pyvda import AppView, get_apps_by_z_order, VirtualDesktop, get_virtual_desktops
number_of_active_desktops = len(get_virtual_desktops())
print(f"There are {number_of_active_desktops} active desktops")
current_desktop = VirtualDesktop.current()
print(f"Current desktop is number {current_desktop}")
current_window = AppView.current()
target_desktop = VirtualDesktop(5)
current_window.move(target_desktop)
print(f"Moved window {current_window.hwnd} to {target_desktop.number}")
print("Going to desktop number 5")
VirtualDesktop(5).go()
print("Pinning the current window")
AppView.current().pin()