Merged changes from hunter. Attempt to fix cthulhu announcing modifiers when suspended for xterm.

This commit is contained in:
Storm Dragon committed 2026-10-31 16:07:29 -04:00
1 parent 27867a48cb
commit f2cc47c8a0
24 files changed
+679 -67

No files matched your search

+6 -4
View File
@@ -9,7 +9,7 @@ the same, with a Braille flash through the system-role output queue.
The motivating provider is the Niri compositor (25.08+), which exposes its
own UI through AccessKit. A capture from Niri 26.04 on 2026-10-31 shows a
workspace switch emits `object:property-change:accessible-name` and then
`object:announcement` (polite) with text such as `Workspace 2 Mistworld` on
`object:announcement` (polite) with text such as `Workspace 2 Example` on
a label in the `niri` application, about 10 ms before the newly focused
window activates. Niri alternates live-node identities (and may append a
space) so repeated messages still emit; Cthulhu trims the payload and
@@ -18,7 +18,8 @@ dedupes one provider's repeat inside 300 ms.
Announcements bypass background-event filtering and foreground epochs: the
provider explicitly requested speech and may never own focus. They do not
move focus, review, or reading state. Screen-lock and secure-input gates
still suppress them. Assertive announcements interrupt; polite ones append.
still suppress them. Both polite and assertive announcements queue under Cthulhu's input-driven
interruption policy. Politeness metadata is preserved by the adapter.
Payload text is bounded by the adapter's existing snapshot sanitization.
## Automated checks
@@ -53,8 +54,9 @@ Report automated, audible-speech, and physical-Braille results separately.
2. Switch between named, unnamed, and the trailing empty workspace with
Niri's own binds. Each switch speaks the workspace label once, before
the newly focused window, and focus presentation still follows.
3. Burst-switch several times quickly. Only settled announcements speak;
no duplicates from the paired accessible-name change.
3. Burst-switch several times quickly. Announcements queue in arrival order;
fresh keyboard input may cancel earlier output. No duplicates should come
from the paired accessible-name change.
4. Cycle the AltTab switcher and open the exit dialog (`Super+Shift+E`)
and the hotkeys list (`Super+Shift+/`). Selected windows and dialog
text are announced as with Orca on the same session.