Skip to content
/ systa Public

Systa is a Microsoft Windows automation library, built for people who aren't Microsoft Windows programming gurus.

License

Notifications You must be signed in to change notification settings

dmwyatt/systa

Repository files navigation

Systa: A Window for windows on Windows™.

Systa is a Microsoft Windows automation library, built for people who aren't Microsoft Windows programming gurus.

Documentation.

Install

pip install systa

Basic Usage

>>> 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

Events

The real power of systa springs from its integration with Windows system hooks. You can run code when things happen on the system.

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:

  1. A window is opened OR a window is restored from a minimized state.
  2. AND the window's title ends with the string Notepad.
  3. AND the window's size is less than 200x200.

About

Systa is a Microsoft Windows automation library, built for people who aren't Microsoft Windows programming gurus.

Resources

License

Stars

Watchers

Forks

Languages