D-Bus dictation state signal #21

Closed
opened 2026-11-05 17:00:37 +00:00 by xavierk · 1 comment
Owner

Parent

Spec: Voculinux — Void Linux (glibc) Wayland/niri port of Vocalinux

What to build

The renamed D-Bus interface stops being write-only. Alongside the existing toggle, start, and stop methods it exposes dictation state — idle, listening, processing — as a signal and a readable property, so status bars, widgets, and user scripts can reflect what dictation is doing without scraping the tray. Command-line triggers keep working exactly as before under the new names.

Acceptance criteria

  • Subscribing to the renamed interface shows a state emission for each transition through a full dictation cycle (idle to listening to processing to idle).
  • Reading the state property at any moment returns the current state, including immediately after application start (idle).
  • Starting dictation twice or stopping while idle does not emit duplicate or impossible transitions.
  • Existing toggle, start, and stop triggers (D-Bus and command line) behave unchanged.
  • Behaviour tests cover the transition sequence and the no-duplicate guarantee.

Blocked by

## Parent [Spec: Voculinux — Void Linux (glibc) Wayland/niri port of Vocalinux](https://git.bongbetic.com/xavierk/voculinux/issues/16) ## What to build The renamed D-Bus interface stops being write-only. Alongside the existing toggle, start, and stop methods it exposes dictation state — idle, listening, processing — as a signal and a readable property, so status bars, widgets, and user scripts can reflect what dictation is doing without scraping the tray. Command-line triggers keep working exactly as before under the new names. ## Acceptance criteria - [ ] Subscribing to the renamed interface shows a state emission for each transition through a full dictation cycle (idle to listening to processing to idle). - [ ] Reading the state property at any moment returns the current state, including immediately after application start (idle). - [ ] Starting dictation twice or stopping while idle does not emit duplicate or impossible transitions. - [ ] Existing toggle, start, and stop triggers (D-Bus and command line) behave unchanged. - [ ] Behaviour tests cover the transition sequence and the no-duplicate guarantee. ## Blocked by - [Rename user-visible identity to voculinux with one-time legacy import](https://git.bongbetic.com/xavierk/voculinux/issues/18)
xavierk added the ready-for-agent label 2026-11-05 17:00:37 +00:00
Author
Owner

Merged in integration/spec16 1dd3986383 pushed to fork/integration/spec16 (https://github.com/soubarnak/vocalinux/tree/integration/spec16), review PASS, gates flake8 E9,F63,F7,F82 + black --check + isort --check + mypy src/ clean, pytest 37 passed, npm jest 11 suites/92 tests + lint 0 errors + tsc clean + build OK

Merged in integration/spec16 1dd398638312a3b6e27793d856662e60df73f252 pushed to fork/integration/spec16 (https://github.com/soubarnak/vocalinux/tree/integration/spec16), review PASS, gates flake8 E9,F63,F7,F82 + black --check + isort --check + mypy src/ clean, pytest 37 passed, npm jest 11 suites/92 tests + lint 0 errors + tsc clean + build OK
Sign in to join this conversation.