Speech access for Notmuch Hello, Search, and Show workflows. The integration presents saved searches, asynchronous completion, semantic result rows and messages, MIME parts, tag and archive outcomes, and message visibility while leaving database and mail operations to Notmuch.
Customize ‘emacsvox-notmuch’ for fields, status cues, automatic content limits, and search-completion policy. See the Notmuch Mail in Emacsvox User Manual chapter for setup, keys, privacy, inspection, support boundaries, and troubleshooting; the generated emacsvox-notmuch section is the exhaustive command and option reference. Tree buffers receive semantic module context only. Message composition is speech-enabled separately by ‘emacsvox-message’. See https://notmuchmail.org/doc/latest/notmuch-emacs.html for Notmuch itself.
Speak complete configured details for search RESULT at point. Unlike automatic navigation feedback, this explicit inspection is not truncated by Notmuch’s automatic presentation limits. (fn &optional RESULT)
Speak Notmuch search RESULT, defaulting to the result at point. (fn &optional RESULT)
Maximum UTF-8 bytes spoken from one automatic Notmuch field. This is a preparation bound as well as a speech bound. A truncation notice uses part of the limit. Set this to nil to disable the per-field byte limit; the total automatic-presentation limits still apply.
Default Value:
1024
Maximum characters spoken from one automatic Notmuch field. This limit applies to mail-controlled fields before automatic navigation, opening, action, and widget feedback is submitted. A truncation notice uses part of the limit. Set this to nil to disable the per-field character limit; the total automatic-presentation limits still apply.
Default Value:
256
Maximum UTF-8 bytes in one automatic Notmuch presentation. The limit includes the explicit truncation notice. Set this to nil to disable the total byte limit; the total character limit still applies.
Default Value:
4096
Maximum characters in one automatic Notmuch presentation. The limit includes the explicit truncation notice. Set this to nil to disable the total character limit; the total byte limit still applies.
Default Value:
1000
Maximum nesting depth inspected while scanning a Notmuch MIME body.
Default Value:
64
Maximum cons nodes inspected while scanning a Notmuch MIME body.
Default Value:
4096
Control successful asynchronous Notmuch search completion feedback. With ‘adaptive’, a user-owned search that remains selected and untouched speaks its final count and the result at point on the primary speech stream. After the user issues another command, leaves the search buffer, or refreshes an existing search, completion contains only a generic result count and uses the notification stream. ‘summary’ always sends the generic count to the notification stream, ‘cue’ sends only a task-completion cue there, and ‘silent’ suppresses successful completion feedback. Failures remain audible for every style. Notification feedback contains no query or message metadata and may be retained in the notifications log. A separate notification process is controlled globally by ‘tts-notification-device’; when none is available, notification speech falls back to the primary process.
Default Value:
adaptive
String placed between spoken Notmuch search-result fields.
Default Value:
", "
Ordered fields spoken for the current Notmuch search result. The built-in fields are ‘authors’, ‘subject’, ‘date’, ‘count’, and ‘tags’. A function may also be used as a field; it receives the Notmuch result plist and should return the string to speak. Remove a field to silence it, or reorder the list to change when it is spoken.
Default Value:
(authors subject date count tags)
Map Notmuch status tags to auditory icons. Entries are checked in order and every matching non-nil icon is played. Tags present in this alist are omitted from the spoken ‘tags’ field. Remove an entry to speak that status as an ordinary tag, or give it a nil icon to keep the status silent. When the ‘mail-message-status-cues’ presentation option is enabled, its semantic rules own unread, replied, forwarded, and flagged cues while these entries still suppress words.
Default Value:
(("unread" . mail-unread)
("replied" . mail-replied)
("forwarded" . mail-forwarded)
("flagged" . mark-object))
String placed between spoken fields for a Notmuch message.
Default Value:
", "
Ordered fields spoken for the current Notmuch message. The built-in fields are ‘from’, ‘subject’, ‘date’, ‘to’, ‘cc’, ‘tags’, and ‘attachments’. A function may also be used as a field; it receives the Notmuch message plist and should return the string to speak. Remove a field to silence it, or reorder the list to change when it is spoken.
Default Value:
(from date to cc tags attachments)
Map Notmuch message status tags to auditory icons. Entries are checked in order and every matching non-nil icon is played. Tags present in this alist are omitted from the spoken ‘tags’ field. Remove an entry to speak that status as an ordinary tag, or give it a nil icon to keep the status silent. When the ‘mail-message-status-cues’ presentation option is enabled, its semantic rules own unread, replied, forwarded, and flagged cues while these entries still suppress words.
Default Value:
(("unread" . mail-unread)
("replied" . mail-replied)
("forwarded" . mail-forwarded)
("flagged" . mark-object))