Add the document selection adapter, integrate it through script utilities and major callers, and package the clipboard fallback work that was needed during manual testing on Wayland. Also include a handoff note for the still-open browser link-selection issue so other developers can continue from the current branch state without reconstructing the debug trail.
2.0 KiB
2.0 KiB
AT-SPI Document Selection Branch Handoff
Branch: atspi-document-selection
Implemented
- Added document-wide AT-SPI selection normalization in
src/cthulhu/ax_document_selection.py. - Reworked text-selection handling in
src/cthulhu/script_utilities.pyto use the shared adapter where possible and fall back cleanly where not. - Updated primary callers in the default and web scripts so copy/cut, selection announcements, and selected-text queries use the shared selection path.
- Added keyboard-driven clipboard announcement fallback in
src/cthulhu/scripts/default.py, including Wayland-specific policy changes. - Fixed
build-local.shso rebuilding refreshes modified installed modules under~/.local.
Verified
python3 -m pytest -q tests/test_document_selection_regressions.pypython3 -m pytest -q tests/test_default_script_clipboard_regressions.pypython3 -m pytest -q tests/test_web_input_regressions.pyHOME=/tmp/cthulhu-test-home python3 -m pytest -q tests./build-local.sh
Latest full-suite result before handoff: 95 passed, 1 warning.
Still Open
- Browser link-text selection is still not reliable in Chromium/Edge and in web-backed content like Steam.
- The current branch includes extra diagnostics around clipboard and selection paths because they were useful during manual debugging.
- The newest attempted web fix is in
src/cthulhu/scripts/web/script.py, but the manual repro still fails:- selecting link text with
Shift+Left/Shift+Right - hearing no selection announcement
- then having copy behavior depend on fallback logic instead of real selection state
- selecting link text with
Useful Files For Follow-Up
src/cthulhu/ax_document_selection.pysrc/cthulhu/script_utilities.pysrc/cthulhu/scripts/default.pysrc/cthulhu/scripts/web/script.pysrc/cthulhu/scripts/web/script_utilities.pytests/test_document_selection_regressions.pytests/test_default_script_clipboard_regressions.pytests/test_web_input_regressions.py