The main stream presents current interaction such as movement, buffer entry, and message opening. Navigation interrupts obsolete main speech. The notification stream presents asynchronous events without stopping main speech; normal navigation does not stop a separate notification stream. Both can be heard concurrently, with each notification’s cue and speech delivered together. Integrations may deliberately route particular asynchronous actions differently: Notmuch’s explicit refresh, for example, uses interruptible main speech.
Open C-e H o n for routing. r chooses automatic, left, right, both, main output, or another device for the next restart. Selecting does not restart. N previews active output, which may still use the old route; R restarts after confirmation. h inspects a notification-history snapshot, returning with q. S saves routing and spatial defaults without a restart.
With Omnivox, Automatic normally uses an independent notification process;
left/right/both choose its route. Use main output (notifications remain
audible) uses the main process instead, where navigation can interrupt it.
It is not a mute option. Other backends use their configured device or fall
back to main speech. In Lisp, default or an empty string means main output;
use descriptive labels for ordinary configuration.
After changing the route, C-e d C-n also initialises the arrangement.
Use notification history to read an announcement you missed. Ordinary
obsolete-main-speech cancellation is local to main; explicit tts-stop stops
both streams.