Systa: A Window
for windows <https://en.wikipedia.org/wiki/Window_(computing)>
_ on Windows™ <https://en.wikipedia.org/wiki/Microsoft_Windows>
_.
Systa is a Microsoft Windows automation library, built for people who aren't Microsoft Windows programming gurus.
Documentation. <https://dmwyatt.github.io/systa/>
_
pip install systa
.. code-block:: python
>>> from systa.windows import current_windows
>>> "Untitled - Notepad" in current_windows
True
>>> "🍔" in current_windows
False
>>> notepad = current_windows["Untitled - Notepad"][0]
>>> notepad.maximized
False
>>> notepad.maximized = True # it's now maximized
>>> notepad.maximized
True
The real power of systa springs from its integration with Windows system hooks. You can run code when things happen on the system.
.. code-block:: python
from systa.events.decorators import listen_to, filter_by from systa.events.store import callback_store from systa.events.types import EventData
@filter_by.require_size_is_less_than(200, 200) @filter_by.require_title("*Notepad") @listen_to.restore @listen_to.create def a_func_to_do_the_thing(event_data: EventData): print(f"Notepad restored or created! ({event_data.window.width}, {event_data.window.height})")
callback_store.run()
The above code prints a message when:
- A window is opened OR a window is restored from a minimized state.
-
AND the window's title ends with the string
Notepad
. - AND the window's size is less than 200x200.