NeoMutt  2018-07-16 +439-383afe
Teaching an old dog new tricks
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Code Docs


Each library helps to untangle the code by grouping similar functions and reducing dependencies.

The goal is that each library is:

  • Self-contained (it may rely on other libraries)
  • Independently testable (i.e. without using NeoMutt)
  • Fully documented
  • Robust
CONFIG: Flexible handling of config items
CONN: Network connections and their encryption
EMAIL: Structs that make up an email
HCACHE: Header cache API
IMAP network mailbox
MAILDIR: Local mailbox type
MBOX: Local mailbox type
MUTT: Shared code for handling strings, files, dates, etc
NCRYPT: Encrypt/decrypt/sign/verify emails
NNTP: Usenet network mailbox type; talk to an NNTP server
NOTMUCH: Virtual mailbox type
POP: Network mailbox

Config Variables

NeoMutt has a lot of configuration options. Neomutt's Configuration variables

Miscellaneous files

These file form the main body of NeoMutt.

File Description
addrbook.c Address book handling aliases
complete.c String auto-completion routines
compress.c Compressed mbox local mailbox type
copy.c Duplicate the structure of an entire email
editmsg.c Prepare an email to be edited
enter.c GUI ask the user to enter a string
filter.c Pass files through external commands (filters)
flags.c Manipulate the flags in an email header
hook.c Parse and execute user-defined hooks
main.c Command line processing
mutt_account.c ConnAccount object used by POP and IMAP
mutt_logging.c Mutt Logging
mutt_signal.c Signal handling
mutt_socket.c NeoMutt connections
mutt_window.c Window management
mx.c Mailbox multiplexor
postpone.c Save/restore and GUI list postponed emails
progress.c Progress bar
resize.c GUI handle the resizing of the screen
rfc1524.c RFC1524 Mailcap routines
safe_asprintf.c Wrapper for vasprintf()
sidebar.c GUI display the mailboxes in a side panel
status.c GUI display a user-configurable status line
system.c Execute external programs
terminal.c Set the terminal title/icon
version.c Display version and copyright about NeoMutt

Building these Docs

The config for building the docs is in the main source repo.

Everything possible is turned on in the config file, so you'll need to install a few dependencies like dot from the graphviz package.

Simply run: doxygen doxygen/doxygen.conf in the main directory.

Installing the Docs

These docs aren't in the main website repo – they weigh in at 100Mb. Instead, they're stored in the code repo