95 {
N_(
"Send"), OP_COMPOSE_SEND_MESSAGE },
96 {
N_(
"Abort"), OP_EXIT },
98 {
N_(
"To"), OP_ENVELOPE_EDIT_TO },
100 {
N_(
"CC"), OP_ENVELOPE_EDIT_CC },
102 {
N_(
"Subj"), OP_ENVELOPE_EDIT_SUBJECT },
103 {
N_(
"Attach file"), OP_ATTACHMENT_ATTACH_FILE },
104 {
N_(
"Descrip"), OP_ATTACHMENT_EDIT_DESCRIPTION },
105 {
N_(
"Help"), OP_HELP },
113 {
N_(
"Send"), OP_COMPOSE_SEND_MESSAGE },
114 {
N_(
"Abort"), OP_EXIT },
115 {
N_(
"Newsgroups"), OP_ENVELOPE_EDIT_NEWSGROUPS },
116 {
N_(
"Subj"), OP_ENVELOPE_EDIT_SUBJECT },
117 {
N_(
"Attach file"), OP_ATTACHMENT_ATTACH_FILE },
118 {
N_(
"Descrip"), OP_ATTACHMENT_EDIT_DESCRIPTION },
119 {
N_(
"Help"), OP_HELP },
138 const short c_preview_min_rows =
cs_subset_number(shared->
sub,
"compose_preview_min_rows");
145 if (c_show_preview && rows_available >= c_preview_min_rows)
230 if (ev_w->
win != dlg)
260 for (; b; b = b->
next)
340 const bool c_preview_above_attachments =
cs_subset_bool(shared->
sub,
"compose_preview_above_attachments");
341 const bool c_status_on_top =
cs_subset_bool(sub,
"status_on_top");
346 if (c_preview_above_attachments)
364 if (c_preview_above_attachments)
void mutt_actx_add_attach(struct AttachCtx *actx, struct AttachPtr *attach)
Add an Attachment to an Attachment Context.
struct AttachPtr * mutt_aptr_new(void)
Create a new Attachment Pointer.
GUI display the mailboxes in a side panel.
struct MuttWindow * cbar_new(struct ComposeSharedData *shared)
Create the Compose Bar (status)
void attachment_size_fixed(struct MuttWindow *win)
Make the Attachment Window fixed-size.
struct MuttWindow * attach_new(struct MuttWindow *parent, struct ComposeSharedData *shared)
Create the Attachments Menu.
void attachment_size_max(struct MuttWindow *win)
Make the Attachment Window maximised.
struct ComposeSharedData * compose_shared_data_new(void)
Free the compose shared data.
short cs_subset_number(const struct ConfigSubset *sub, const char *name)
Get a number config item by name.
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.
SecurityFlags mutt_is_multipart_encrypted(struct Body *b)
Does the message have encrypted parts?
void dialog_push(struct MuttWindow *dlg)
Display a Window to the user.
void dialog_pop(void)
Hide a Window from the user.
@ FR_DONE
Exit the Dialog.
@ FR_UNKNOWN
Unknown function.
static void gen_attach_list(struct AttachCtx *actx, struct Body *b, int parent_type, int level)
Generate the attachment list for the compose screen.
void update_menu(struct AttachCtx *actx, struct Menu *menu, bool init)
Redraw the compose window.
static const struct Mapping ComposeHelp[]
Help Bar for the Compose dialog.
static const struct Mapping ComposeNewsHelp[]
Help Bar for the News Compose dialog.
static struct MuttWindow * compose_dlg_init(struct ConfigSubset *sub, struct Email *e, struct Buffer *fcc)
Allocate the Windows for Compose.
Structs that make up an email.
@ NT_EMAIL_CHANGE
Email has changed.
struct MuttWindow * env_window_new(struct Email *e, struct Buffer *fcc, struct ConfigSubset *sub)
Create the Envelope Window.
@ NT_ENVELOPE_FCC
"Fcc:" header has changed
int km_dokey(enum MenuType mtype, GetChFlags flags)
Determine what a keypress should do.
void km_error_key(enum MenuType mtype)
Handle an unbound key sequence.
bool OptNews
(pseudo) used to change reader mode
bool OptNewsSend
(pseudo) used to change behavior when posting
int preview_function_dispatcher(struct MuttWindow *win, int op)
Perform a preview function - Implements function_dispatcher_t -.
int menu_tagging_dispatcher(struct MuttWindow *win, int op)
Perform tagging operations on the Menu - Implements function_dispatcher_t -.
int env_function_dispatcher(struct MuttWindow *win, int op)
Perform an Envelope function - Implements function_dispatcher_t -.
int compose_function_dispatcher(struct MuttWindow *win, int op)
Perform a Compose function - Implements function_dispatcher_t -.
int global_function_dispatcher(struct MuttWindow *win, int op)
Perform a Global function - Implements function_dispatcher_t -.
int menu_function_dispatcher(struct MuttWindow *win, int op)
Perform a Menu function - Implements function_dispatcher_t -.
int dlg_compose(struct Email *e, struct Buffer *fcc, uint8_t flags, struct ConfigSubset *sub)
Allow the user to edit the message envelope -.
#define mutt_debug(LEVEL,...)
static int compose_email_observer(struct NotifyCallback *nc)
Notification that an Email has changed - Implements observer_t -.
static int compose_config_observer(struct NotifyCallback *nc)
Notification that a Config Variable has changed - Implements observer_t -.
static int compose_window_observer(struct NotifyCallback *nc)
Notification that a Window has changed - Implements observer_t -.
static int compose_recalc(struct MuttWindow *dlg)
Recalculate the Window data - Implements MuttWindow::recalc() -.
void compose_shared_data_free(struct MuttWindow *win, void **ptr)
Free the compose shared data - Implements MuttWindow::wdata_free() -.
Convenience wrapper for the gui headers.
void mutt_message_hook(struct Mailbox *m, struct Email *e, HookFlags type)
Perform a message hook.
Parse and execute user-defined hooks.
#define MUTT_SEND2_HOOK
send2-hook: when changing fields in the compose menu
GUI manage the main index (list of emails)
Data shared between Index, Pager and Sidebar.
struct Mailbox * get_current_mailbox(void)
Get the current Mailbox.
#define GETCH_NO_FLAGS
No flags are set.
@ LL_DEBUG5
Log at debug level 5.
@ LL_DEBUG1
Log at debug level 1.
@ TYPE_MULTIPART
Type: 'multipart/*'.
Convenience wrapper for the library headers.
bool notify_observer_remove(struct Notify *notify, const observer_t callback, const void *global_data)
Remove an observer from an object.
bool notify_observer_add(struct Notify *notify, enum NotifyType type, observer_t callback, void *global_data)
Add an observer to an object.
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.
void mutt_clear_error(void)
Clear the message line (bottom line of screen)
void window_redraw(struct MuttWindow *win)
Reflow, recalc and repaint a tree of Windows.
bool window_status_on_top(struct MuttWindow *panel, struct ConfigSubset *sub)
Organise windows according to config variable.
void mutt_window_free(struct MuttWindow **ptr)
Free a Window and its children.
void mutt_window_add_child(struct MuttWindow *parent, struct MuttWindow *child)
Add a child to Window.
struct MuttWindow * mutt_window_new(enum WindowType type, enum MuttWindowOrientation orient, enum MuttWindowSize size, int cols, int rows)
Create a new Window.
bool mutt_window_swap(struct MuttWindow *parent, struct MuttWindow *win1, struct MuttWindow *win2)
Swap the position of two windows.
struct MuttWindow * window_set_focus(struct MuttWindow *win)
Set the Window focus.
void window_set_visible(struct MuttWindow *win, bool visible)
Set a Window visible or hidden.
struct MuttWindow * window_find_child(struct MuttWindow *win, enum WindowType type)
Recursively find a child Window of a given type.
#define WA_RECALC
Recalculate the contents of the Window.
@ WT_CUSTOM
Window with a custom drawing function.
@ WT_DLG_COMPOSE
Compose Dialog, dlg_compose()
@ MUTT_WIN_ORIENT_VERTICAL
Window uses all available vertical space.
@ NT_WINDOW_STATE
Window state has changed, e.g. WN_VISIBLE.
@ NT_WINDOW_DELETE
Window is about to be deleted.
#define WA_REPAINT
Redraw the contents of the Window.
#define MUTT_WIN_SIZE_UNLIMITED
Use as much space as possible.
@ MUTT_WIN_SIZE_MAXIMISE
Window wants as much space as possible.
API for encryption/signing of emails.
#define APPLICATION_PGP
Use PGP to encrypt/sign.
@ NT_WINDOW
MuttWindow has changed, NotifyWindow, EventWindow.
@ NT_CONFIG
Config has changed, NotifyConfig, EventConfig.
@ NT_EMAIL
Email has changed, NotifyEmail, EventEmail.
@ NT_ENVELOPE
Envelope has changed, NotifyEnvelope.
@ NT_ALL
Register for all notifications.
const char * opcodes_get_name(int op)
Get the name of an opcode.
struct MuttWindow * preview_window_new(struct Email *e, struct MuttWindow *bar)
Create the preview window.
void mutt_attach_init(struct AttachCtx *actx)
Create a new Attachment context.
void mutt_update_tree(struct AttachCtx *actx)
Refresh the list of attachments.
struct MuttWindow * sbar_new(void)
Add the Simple Bar (status)
void sbar_set_title(struct MuttWindow *win, const char *title)
Set the title for the Simple Bar.
short vcount
The number of virtual attachments.
struct Email * email
Used by recvattach for updating.
struct AttachPtr ** idx
Array of attachments.
short idxlen
Number of attachmentes.
An email to which things will be attached.
struct Body * body
Attachment.
int level
Nesting depth of attachment.
int parent_type
Type of parent attachment, e.g. TYPE_MULTIPART.
struct Body * parts
parts of a multipart or message/rfc822
struct AttachPtr * aptr
Menu information, used in recvattach.c.
struct Body * next
next attachment in the list
unsigned int type
content-type primary type, ContentType
String manipulation buffer.
Data to fill the Compose Attach Window.
struct Menu * menu
Menu displaying the attachments.
struct AttachCtx * actx
Set of attachments.
struct ConfigSubset * sub
Config set to use.
struct Mailbox * mailbox
Current Mailbox.
int flags
Flags, e.g. MUTT_COMPOSE_NOFREEHEADER.
struct MuttWindow * win_preview
Message preview window.
struct MuttWindow * win_preview_bar
Status bar divider above preview.
bool fcc_set
User has edited the Fcc: field.
int rc
Return code to leave compose.
struct ComposeAttachData * adata
Attachments.
struct Email * email
Email being composed.
struct MuttWindow * win_attach_bar
Status bar divider above attachments.
struct Buffer * fcc
Buffer to save FCC.
A set of inherited config items.
struct Notify * notify
Notifications: NotifyConfig, EventConfig.
The envelope/body of an email.
SecurityFlags security
bit 0-10: flags, bit 11,12: application, bit 13: traditional pgp See: ncrypt/lib.h pgplib....
struct Body * body
List of MIME parts.
struct Notify * notify
Notifications: NotifyEmail, EventEmail.
const char * name
Name of config item that changed.
An Event that happened to a Window.
struct MuttWindow * win
Window that changed.
Mapping between user-readable string and a constant.
const struct Mapping * help_data
Data for the Help Bar.
struct WindowState state
Current state of the Window.
void * wdata
Private data.
struct Notify * notify
Notifications: NotifyWindow, EventWindow.
int(* recalc)(struct MuttWindow *win)
void(* wdata_free)(struct MuttWindow *win, void **ptr)
int help_menu
Menu for key bindings, e.g. MENU_PAGER.
WindowActionFlags actions
Actions to be performed, e.g. WA_RECALC.
Container for Accounts, Notifications.
struct ConfigSubset * sub
Inherited config items.
Data passed to a notification function.
void * event_data
Data from notify_send()
enum NotifyType event_type
Send: Event type, e.g. NT_ACCOUNT.
int event_subtype
Send: Event subtype, e.g. NT_ACCOUNT_ADD.
void * global_data
Data from notify_observer_add()
short rows
Number of rows, can be MUTT_WIN_SIZE_UNLIMITED.
@ MENU_COMPOSE
Compose an email.