Skip to content

Commit 3059d71

Browse files
committed
type-hint Window classmethods for engine version
1 parent 9fe8ac3 commit 3059d71

File tree

4 files changed

+18
-0
lines changed

4 files changed

+18
-0
lines changed

ahk/_async/engine.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -821,6 +821,7 @@ async def get_active_window(
821821
title='A', detect_hidden_windows=False, title_match_mode=(1, 'Fast'), blocking=blocking
822822
)
823823

824+
# Ideally, this would be type-hinted for the AHK version. But we cant: https://github.com/python/mypy/issues/9937
824825
@property
825826
def active_window(self) -> AsyncPropertyReturnOptionalAsyncWindow:
826827
"""

ahk/_async/window.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,14 @@ async def move(
656656
blocking=blocking,
657657
)
658658

659+
# fmt: off
660+
@overload
661+
@classmethod
662+
async def from_pid(cls, engine: AsyncAHK[Literal['v2']], pid: int) -> AsyncWindow: ...
663+
@overload
664+
@classmethod
665+
async def from_pid(cls, engine: Union[AsyncAHK[Literal['v1']], AsyncAHK[None]], pid: int) -> Optional[AsyncWindow]: ...
666+
# fmt: on
659667
@classmethod
660668
async def from_pid(cls, engine: AsyncAHK[Any], pid: int) -> Optional[AsyncWindow]:
661669
return await engine.win_get(title=f'ahk_pid {pid}')

ahk/_sync/engine.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -811,6 +811,7 @@ def get_active_window(
811811
title='A', detect_hidden_windows=False, title_match_mode=(1, 'Fast'), blocking=blocking
812812
)
813813

814+
# Ideally, this would be type-hinted for the AHK version. But we cant: https://github.com/python/mypy/issues/9937
814815
@property
815816
def active_window(self) -> SyncPropertyReturnOptionalAsyncWindow:
816817
"""

ahk/_sync/window.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -635,6 +635,14 @@ def move(
635635
blocking=blocking,
636636
)
637637

638+
# fmt: off
639+
@overload
640+
@classmethod
641+
def from_pid(cls, engine: AHK[Literal['v2']], pid: int) -> Window: ...
642+
@overload
643+
@classmethod
644+
def from_pid(cls, engine: Union[AHK[Literal['v1']], AHK[None]], pid: int) -> Optional[Window]: ...
645+
# fmt: on
638646
@classmethod
639647
def from_pid(cls, engine: AHK[Any], pid: int) -> Optional[Window]:
640648
return engine.win_get(title=f'ahk_pid {pid}')

0 commit comments

Comments
 (0)