pctr 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pctr-0.3.0/src/pctr.egg-info → pctr-0.3.1}/PKG-INFO +1 -1
- {pctr-0.3.0 → pctr-0.3.1}/pyproject.toml +1 -1
- pctr-0.3.1/src/pctr/__init__.py +1 -0
- {pctr-0.3.0 → pctr-0.3.1}/src/pctr/cli.py +5 -24
- {pctr-0.3.0 → pctr-0.3.1/src/pctr.egg-info}/PKG-INFO +1 -1
- pctr-0.3.0/src/pctr/__init__.py +0 -1
- {pctr-0.3.0 → pctr-0.3.1}/LICENSE +0 -0
- {pctr-0.3.0 → pctr-0.3.1}/README.md +0 -0
- {pctr-0.3.0 → pctr-0.3.1}/setup.cfg +0 -0
- {pctr-0.3.0 → pctr-0.3.1}/src/pctr/__main__.py +0 -0
- {pctr-0.3.0 → pctr-0.3.1}/src/pctr/data/AGENTS.md +0 -0
- {pctr-0.3.0 → pctr-0.3.1}/src/pctr/data/SKILL.md +0 -0
- {pctr-0.3.0 → pctr-0.3.1}/src/pctr.egg-info/SOURCES.txt +0 -0
- {pctr-0.3.0 → pctr-0.3.1}/src/pctr.egg-info/dependency_links.txt +0 -0
- {pctr-0.3.0 → pctr-0.3.1}/src/pctr.egg-info/entry_points.txt +0 -0
- {pctr-0.3.0 → pctr-0.3.1}/src/pctr.egg-info/requires.txt +0 -0
- {pctr-0.3.0 → pctr-0.3.1}/src/pctr.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pctr
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Element-based Windows UI Automation CLI for AI agents. Find controls by name/type/id and click, type, hold, drag, and screenshot - no pixel coordinates.
|
|
5
5
|
Author: Space-lab515
|
|
6
6
|
License-Expression: MIT
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pctr"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.1"
|
|
8
8
|
description = "Element-based Windows UI Automation CLI for AI agents. Find controls by name/type/id and click, type, hold, drag, and screenshot - no pixel coordinates."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.3.1"
|
|
@@ -36,30 +36,11 @@ def _iter_windows():
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
def _find_window(title_re, process=None, timeout=5.0, index=0):
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
matches = []
|
|
45
|
-
for w in desktop.windows():
|
|
46
|
-
try:
|
|
47
|
-
t = w.window_text()
|
|
48
|
-
except Exception:
|
|
49
|
-
continue
|
|
50
|
-
if rx_title and not rx_title.search(t):
|
|
51
|
-
continue
|
|
52
|
-
if process is not None and w.process_id() != process:
|
|
53
|
-
continue
|
|
54
|
-
matches.append(w)
|
|
55
|
-
if len(matches) > index:
|
|
56
|
-
return matches[index]
|
|
57
|
-
last = matches
|
|
58
|
-
time.sleep(0.25)
|
|
59
|
-
raise SystemExit(
|
|
60
|
-
"window not found: title_re=%r process=%r (saw %d match(es))"
|
|
61
|
-
% (title_re, process, len(last or []))
|
|
62
|
-
)
|
|
39
|
+
# Locate the HWND with Win32 first (fast, and never touches UIA providers of
|
|
40
|
+
# windows on *other* virtual desktops, which don't answer and can deadlock a
|
|
41
|
+
# full desktop enumeration). Then bind a UIA wrapper to just that one window.
|
|
42
|
+
h = _find_hwnd(title_re, process, timeout)
|
|
43
|
+
return Desktop(backend="uia").window(handle=h)
|
|
63
44
|
|
|
64
45
|
|
|
65
46
|
def _enum_top_windows():
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pctr
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Element-based Windows UI Automation CLI for AI agents. Find controls by name/type/id and click, type, hold, drag, and screenshot - no pixel coordinates.
|
|
5
5
|
Author: Space-lab515
|
|
6
6
|
License-Expression: MIT
|
pctr-0.3.0/src/pctr/__init__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.3.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|