8.11.2 Understand the main and notification streams

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.