69 const char *prompt =
_(
"Autocrypt: (e)ncrypt, (c)lear, (a)utomatic?");
75 const char *letters =
_(
"eca");
91 const bool c_crypt_opportunistic_encrypt =
cs_subset_bool(
sub,
"crypt_opportunistic_encrypt");
92 if (c_crypt_opportunistic_encrypt)
152 const bool c_crypt_opportunistic_encrypt =
cs_subset_bool(wdata->
sub,
"crypt_opportunistic_encrypt");
153 if (c_crypt_opportunistic_encrypt)
489 if (!(wdata->
is_news && c_x_comment_to))
538 if (!event || !win || !win->
wdata)
541 const int op =
event->op;
void mutt_addrlist_clear(struct AddressList *al)
Unlink and free all Address in an AddressList.
int mutt_addrlist_to_local(struct AddressList *al)
Convert an Address list from Punycode.
size_t mutt_addrlist_write(const struct AddressList *al, struct Buffer *buf, bool display)
Write an Address to a buffer.
int mutt_addrlist_parse2(struct AddressList *al, const char *s)
Parse a list of email addresses.
int mutt_addrlist_to_intl(struct AddressList *al, char **err)
Convert an Address list to Punycode.
const struct CompleteOps CompleteAliasOps
Auto-Completion of Aliases.
void mutt_expand_aliases(struct AddressList *al)
Expand aliases in a List of Addresses.
Autocrypt end-to-end encryption.
@ AUTOCRYPT_REC_YES
Autocrypt should be used.
enum AutocryptRec mutt_autocrypt_ui_recommendation(const struct Email *e, char **keylist)
Get the recommended action for an Email.
const struct CompleteOps CompleteMailboxOps
Auto-Completion of Files / Mailboxes.
Select a Mailbox from a list.
bool buf_is_empty(const struct Buffer *buf)
Is the Buffer empty?
void buf_fix_dptr(struct Buffer *buf)
Move the dptr to end of the Buffer.
size_t buf_addstr(struct Buffer *buf, const char *s)
Add a string to a Buffer.
size_t buf_strcpy(struct Buffer *buf, const char *s)
Copy a string into a Buffer.
size_t buf_copy(struct Buffer *dst, const struct Buffer *src)
Copy a Buffer's contents to another Buffer.
void buf_alloc(struct Buffer *buf, size_t new_size)
Make sure a buffer can store at least new_size bytes.
static const char * buf_string(const struct Buffer *buf)
Convert a buffer to a const char * "string".
@ CMD_SEND2_HOOK
:send2-hook
bool cs_subset_bool(const struct ConfigSubset *sub, const char *name)
Get a boolean config item by name.
Convenience wrapper for the config headers.
Convenience wrapper for the core headers.
void crypt_opportunistic_encrypt(struct Email *e)
Can all recipients be determined.
bool crypt_has_module_backend(SecurityFlags type)
Is there a crypto backend for a given type?
SecurityFlags crypt_smime_send_menu(struct Email *e)
Wrapper for CryptModuleSpecs::send_menu()
SecurityFlags crypt_pgp_send_menu(struct Email *e)
Wrapper for CryptModuleSpecs::send_menu()
void mutt_refresh(void)
Force a refresh of the screen.
const char * dispatcher_get_retval_name(int rv)
Get the name of a return value.
@ FR_SUCCESS
Valid function - successfully performed.
@ FR_UNKNOWN
Unknown function.
@ FR_ERROR
Valid function - error occurred.
@ FR_NOT_IMPL
Invalid function - feature not enabled.
@ FR_NO_ACTION
Valid function - no action performed.
#define MUTT_COMP_NO_FLAGS
No flags are set.
#define MUTT_COMP_CLEAR
Clear input if printable character is pressed.
Structs that make up an email.
@ NT_EMAIL_CHANGE
Email has changed.
static const struct EnvelopeFunction EnvelopeFunctions[]
All the NeoMutt functions that the Envelope supports.
static bool edit_address_list(enum HeaderField field, struct AddressList *al)
Let the user edit the address list.
static void autocrypt_compose_menu(struct Email *e, const struct ConfigSubset *sub)
Autocrypt compose settings.
void update_crypt_info(struct EnvelopeWindowData *wdata)
Update the crypto info.
const char *const Prompts[]
Names of header fields used in the envelope, e.g. From:, To:
HeaderField
Ordered list of headers for the compose screen.
@ HDR_SUBJECT
"Subject:" field
@ HDR_REPLYTO
"Reply-To:" field
@ HDR_FCC
"Fcc:" (save folder) field
@ HDR_FOLLOWUPTO
"Followup-To:" field
@ HDR_XCOMMENTTO
"X-Comment-To:" field
@ HDR_NEWSGROUPS
"Newsgroups:" field
void mutt_env_set_subject(struct Envelope *env, const char *subj)
Set both subject and real_subj to subj.
bool mutt_env_notify_send(struct Email *e, enum NotifyEnvelope type)
Send an Envelope change notification.
@ NT_ENVELOPE_SUBJECT
"Subject:" header has changed
@ NT_ENVELOPE_BCC
"Bcc:" header has changed
@ NT_ENVELOPE_TO
"To:" header has changed
@ NT_ENVELOPE_FCC
"Fcc:" header has changed
@ NT_ENVELOPE_CC
"Cc:" header has changed
@ NT_ENVELOPE_REPLY_TO
"Reply-To:" header has changed
@ NT_ENVELOPE_FROM
"From:" header has changed
@ NT_ENVELOPE_X_COMMENT_TO
"X-Comment-To:" header has changed
@ NT_ENVELOPE_FOLLOWUP_TO
"Followup-To:" header has changed
@ NT_ENVELOPE_NEWSGROUPS
"Newsgroups:" header has changed
int env_function_dispatcher(struct MuttWindow *win, const struct KeyEvent *event)
Perform an Envelope function - Implements function_dispatcher_t -.
static int op_envelope_edit_followup_to(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Edit the Followup-To field - Implements envelope_function_t -.
static int op_envelope_edit_cc(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Edit the CC list - Implements envelope_function_t -.
static int op_compose_pgp_menu(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Show PGP options - Implements envelope_function_t -.
static int op_envelope_edit_fcc(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Enter a file to save a copy of this message in - Implements envelope_function_t -.
static int op_envelope_edit_reply_to(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Edit the Reply-To field - Implements envelope_function_t -.
static int op_envelope_edit_from(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Edit the from field - Implements envelope_function_t -.
static int op_envelope_edit_subject(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Edit the subject of this message - Implements envelope_function_t -.
static int op_compose_smime_menu(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Show S/MIME options - Implements envelope_function_t -.
static int op_envelope_edit_x_comment_to(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Edit the X-Comment-To field - Implements envelope_function_t -.
static int op_envelope_edit_to(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Edit the TO list - Implements envelope_function_t -.
static int op_envelope_edit_newsgroups(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Edit the newsgroups list - Implements envelope_function_t -.
static int op_compose_autocrypt_menu(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Show autocrypt compose menu options - Implements envelope_function_t -.
static int op_envelope_edit_bcc(struct EnvelopeWindowData *wdata, const struct KeyEvent *event)
Edit the BCC list - Implements envelope_function_t -.
int mw_get_field(const char *prompt, struct Buffer *buf, CompletionFlags complete, enum HistoryClass hclass, const struct CompleteOps *comp_api, void *cdata)
Ask the user for a string -.
int mw_multi_choice(const char *prompt, const char *letters)
Offer the user a multiple choice question -.
#define mutt_debug(LEVEL,...)
Convenience wrapper for the gui headers.
Read/write command history from/to a file.
@ HC_OTHER
Miscellaneous strings.
void exec_message_hook(struct Mailbox *m, struct Email *e, enum CommandId id)
Perform a message hook.
@ LL_DEBUG1
Log at debug level 1.
#define FREE(x)
Free memory and set the pointer to NULL.
Convenience wrapper for the library headers.
bool notify_send(struct Notify *notify, enum NotifyType event_type, int event_subtype, void *event_data)
Send out a notification message.
bool mutt_str_equal(const char *a, const char *b)
Compare two strings.
char * mutt_str_replace(char **p, const char *s)
Replace one string with another.
void mutt_clear_error(void)
Clear the message line (bottom line of screen)
void pretty_mailbox(struct Buffer *buf)
Shorten a mailbox path using '~' or '='.
Some miscellaneous functions.
API for encryption/signing of emails.
#define SEC_INLINE
Email has an inline signature.
#define SEC_AUTOCRYPT
(Autocrypt) Message will be, or was Autocrypt encrypt+signed
uint16_t SecurityFlags
Flags, e.g. SEC_ENCRYPT.
#define SEC_OPPENCRYPT
Opportunistic encrypt mode.
#define APPLICATION_PGP
Use PGP to encrypt/sign.
#define APPLICATION_SMIME
Use SMIME to encrypt/sign.
#define SEC_ENCRYPT
Email is encrypted.
#define SEC_AUTOCRYPT_OVERRIDE
(Autocrypt) Indicates manual set/unset of encryption
#define SEC_SIGN
Email is signed.
@ NT_EMAIL
Email has changed, NotifyEmail, EventEmail.
const char * opcodes_get_name(int op)
Get the name of an opcode.
struct Buffer * buf_pool_get(void)
Get a Buffer from the pool.
void buf_pool_release(struct Buffer **ptr)
Return a Buffer to the pool.
@ MUTT_YES
User answered 'Yes', or assume 'Yes'.
enum QuadOption query_yesorno(const char *prompt, enum QuadOption def)
Ask the user a Yes/No question.
String manipulation buffer.
char * data
Pointer to data.
A set of inherited config items.
The envelope/body of an email.
struct Envelope * env
Envelope information.
SecurityFlags security
bit 0-10: flags, bit 11,12: application, bit 13: traditional pgp See: ncrypt/lib.h pgplib....
struct Notify * notify
Notifications: NotifyEmail, EventEmail.
A NeoMutt Envelope function.
int op
Op code, e.g. OP_ENVELOPE_EDIT_FROM.
envelope_function_t function
Function to call.
Data to fill the Envelope Window.
bool is_news
Email is a news article.
struct Buffer * fcc
Where the outgoing Email will be saved.
struct Email * email
Email being composed.
struct ConfigSubset * sub
Inherited config items.
enum AutocryptRec autocrypt_rec
Autocrypt recommendation.
char *const subject
Email's subject.
struct AddressList to
Email's 'To' list.
char * followup_to
List of 'followup-to' fields.
struct AddressList reply_to
Email's 'reply-to'.
char * x_comment_to
List of 'X-comment-to' fields.
char * newsgroups
List of newsgroups.
struct AddressList cc
Email's 'Cc' list.
struct AddressList bcc
Email's 'Bcc' list.
struct AddressList from
Email's 'From' list.
Input for the file completion function.
An event such as a keypress.
void * wdata
Private data.