INTEGRATIONS / DBUS
DBus control
Control voxctrl from external scripts, Waybar, Rofi, or any DBus-capable program.
Service
The DBus service name is ai.voxctrl.Dictation, with object path
/ai/voxctrl/Dictation
and interface ai.voxctrl.Dictation.
Methods
| Method | Signature | What it does |
|---|---|---|
| start_recording | () → () |
Begin recording |
| stop_recording | () → () |
Stop recording and process audio |
| toggle_recording | () → () |
Toggle recording state |
| get_status | () → s |
Returns "idle", "recording", or "transcribing" |
| get_word_count | () → u |
Total words dictated this session |
Signals
| Signal | Signature | What it does |
|---|---|---|
| status_changed | (s) |
Emitted when recording state changes |
| text_injected | (s) |
Emitted after text is delivered to a target |
Example usage
# Start recording
dbus-send --session --dest=ai.voxctrl.Dictation \
/ai/voxctrl/Dictation \
ai.voxctrl.Dictation.start_recording
# Watch for injected text
dbus-monitor --session "type='signal',interface='ai.voxctrl.Dictation'"
# Get current status ("idle", "recording", or "transcribing")
dbus-send --session --print-reply \
--dest=ai.voxctrl.Dictation \
/ai/voxctrl/Dictation \
ai.voxctrl.Dictation.get_status
Bind toggle_recording to a click handler on a Waybar status indicator, and
get_word_count to a tooltip. qdbus and dbus-send both work — use
--session.
ⓘ The DBus service is Linux-only — it's a stub on other platforms
(compiles but does nothing).