NeoMutt  2022-04-29-249-gaae397
Teaching an old dog new tricks
Notmuch virtual mailbox type

Notmuch virtual mailbox type.


  • notmuch uses private Mailbox->data and private Email->data
  • all exported functions are usable within notmuch context only
  • all functions have to be covered by "mailbox->type == MUTT_NOTMUCH" check (it's implemented in nm_mdata_get() and init_mailbox() functions).
  • exception are nm_nonctx_* functions – these functions use nm_default_url (or parse URL from another resource)

Implementation: MxNotmuchOps


Data Description Links
MxNotmuchOps Notmuch Mailbox MxOps, mx_api


Function Description Links
append_message() Associate a message
append_replies() Add all the replies to a given messages into the display
append_thread() Add each top level reply in the thread
apply_exclude_tags() Exclude the configured tags
count_query() Count the results of a query
email_get_fullpath() Get the full path of an email
email_get_id() Get the unique Notmuch Id
get_default_mailbox() Get Mailbox for notmuch without any parameters.
get_folder_from_path() Find an email's folder from its path
get_limit() Get the database limit
get_message_last_filename() Get a message's last filename
get_messages() Load messages for a query
get_mutt_email() Get the Email of a Notmuch message
get_nm_message() Find a Notmuch message
get_query() Create a new query
get_query_string() Builds the notmuch vfolder search string
get_threads() Load threads for a query
init_email() Set up an email's Notmuch data
init_mailbox() Add Notmuch data to the Mailbox
nm2mutt_message_id() Converts notmuch message Id to neomutt message Id
nm_ac_add() Add a Mailbox to an Account MxOps::ac_add(), mx_ac_add
nm_ac_owns_path() Check whether an Account owns a Mailbox path MxOps::ac_owns_path(), mx_ac_owns_path
nm_email_get_folder() Get the folder for a Email
nm_email_get_folder_rel_db() Get the folder for a Email from the same level as the notmuch database
nm_get_all_tags() Fill a list with all notmuch tags
nm_get_default_data() Create a Mailbox with default Notmuch settings
nm_get_default_url() Create a Mailbox with default Notmuch settings
nm_hcache_close() Close the header cache
nm_hcache_open() Open a header cache
nm_init() Setup feature commands
nm_mbox_check() Check for new mail MxOps::mbox_check(), mx_mbox_check
nm_mbox_check_stats() Check the Mailbox statistics MxOps::mbox_check_stats(), mx_mbox_check_stats
nm_mbox_close() Close a Mailbox MxOps::mbox_close(), mx_mbox_close
nm_mbox_open() Open a Mailbox MxOps::mbox_open(), mx_mbox_open
nm_mbox_sync() Save changes to the Mailbox MxOps::mbox_sync(), mx_mbox_sync
nm_message_has_tag() Does a message have this tag?
nm_message_is_still_queried() Is a message still visible in the query?
nm_msg_close() Close an email MxOps::msg_close(), mx_msg_close
nm_msg_commit() Save changes to an email MxOps::msg_commit(), mx_msg_commit
nm_msg_open() Open an email message in a Mailbox MxOps::msg_open(), mx_msg_open
nm_path_canon() Canonicalise a Mailbox path MxOps::path_canon(), mx_path_canon
nm_path_parent() Find the parent of a Mailbox path MxOps::path_parent(), mx_path_parent
nm_path_pretty() Abbreviate a Mailbox path MxOps::path_pretty(), mx_path_pretty
nm_path_probe() Is this a Notmuch Mailbox? MxOps::path_probe(), mx_path_probe
nm_progress_update() Update the progress counter
nm_query_window_available() Are windowed queries enabled for use?
nm_query_window_backward() Function to move the current search window backward in time
nm_query_window_forward() Function to move the current search window forward in time
nm_query_window_reset() Resets the vfolder window position to the present.
nm_read_entire_thread() Get the entire thread of an email
nm_record_message() Add a message to the Notmuch database
nm_tags_commit() Save the tags to a message MxOps::tags_commit(), mx_tags_commit
nm_tags_edit() Prompt and validate new messages tags MxOps::tags_edit(), mx_tags_edit
nm_update_filename() Change the filename
nm_url_from_query() Turn a query into a URL
progress_setup() Set up the Progress Bar
query_window_reset() Restore vfolder's search window to its original position
read_mesgs_query() Search for matching messages
read_threads_query() Perform a query with threads
remove_filename() Delete a file
rename_filename() Rename the file
rename_maildir_filename() Rename a Maildir file
sync_email_path_with_nm() Synchronize Neomutt's Email path with notmuch.
update_email_flags() Update the Email's flags
update_email_tags() Update the Email's tags from Notmuch
update_message_path() Set the path for a message
update_tags() Update the tags on a message
windowed_query_from_query() Transforms a vfolder search query into a windowed one