Add interactive edit mode with floating popup

This commit is contained in:
Thales Maciel 2026-02-26 15:11:06 -03:00
parent b42298b9b5
commit 99f07aef82
10 changed files with 1045 additions and 46 deletions

View file

@ -11,6 +11,9 @@ class DesktopAdapter(Protocol):
def start_cancel_listener(self, callback: Callable[[], None]) -> None:
raise NotImplementedError
def stop_cancel_listener(self) -> None:
raise NotImplementedError
def inject_text(
self,
text: str,
@ -20,6 +23,37 @@ class DesktopAdapter(Protocol):
) -> None:
raise NotImplementedError
def read_clipboard_text(self) -> str | None:
raise NotImplementedError
def write_clipboard_text(self, text: str) -> None:
raise NotImplementedError
def open_edit_popup(
self,
initial_text: str,
*,
on_submit: Callable[[], None],
on_copy: Callable[[], None],
on_cancel: Callable[[], None],
) -> None:
raise NotImplementedError
def close_edit_popup(self) -> None:
raise NotImplementedError
def get_edit_popup_text(self) -> str:
raise NotImplementedError
def set_edit_popup_text(self, text: str) -> None:
raise NotImplementedError
def set_edit_popup_status(self, status: str) -> None:
raise NotImplementedError
def restore_previous_focus(self) -> bool:
raise NotImplementedError
def run_tray(self, state_getter: Callable[[], str], on_quit: Callable[[], None]) -> None:
raise NotImplementedError