74 {
N_(
"Exit"), OP_EXIT },
75 {
N_(
"PrevPg"), OP_PREV_PAGE },
76 {
N_(
"NextPg"), OP_NEXT_PAGE },
77 {
N_(
"Help"), OP_HELP },
85 {
N_(
"Exit"), OP_EXIT },
86 {
N_(
"PrevPg"), OP_PREV_PAGE },
87 {
N_(
"NextPg"), OP_NEXT_PAGE },
95 {
N_(
"Exit"), OP_EXIT },
96 {
N_(
"PrevPg"), OP_PREV_PAGE },
97 {
N_(
"NextPg"), OP_NEXT_PAGE },
98 {
N_(
"View Attachm."), OP_VIEW_ATTACHMENTS },
99 {
N_(
"Del"), OP_DELETE },
100 {
N_(
"Reply"), OP_REPLY },
101 {
N_(
"Next"), OP_MAIN_NEXT_UNDELETED },
102 {
N_(
"Help"), OP_HELP },
110 {
N_(
"Exit"), OP_EXIT },
111 {
N_(
"PrevPg"), OP_PREV_PAGE },
112 {
N_(
"NextPg"), OP_NEXT_PAGE },
113 {
N_(
"Post"), OP_POST },
114 {
N_(
"Followup"), OP_FOLLOWUP },
115 {
N_(
"Del"), OP_DELETE },
116 {
N_(
"Next"), OP_MAIN_NEXT_UNDELETED },
117 {
N_(
"Help"), OP_HELP },
141 const struct Mapping *result = NULL;
291 memset(priv, 0,
sizeof(*priv));
305 if (c_pager_read_delay == 0)
327 for (
size_t i = 0; i < priv->
lines_max; i++)
382 if (c_braille_friendly)
403 bool do_new_mail =
false;
450 if (c_new_mail_command)
466 clearok(stdscr,
true);
474 for (
size_t i = 0; i <= priv->
top_line; i++)
479 priv->
rc = OP_REFORMAT_WINCH;
573 for (
size_t i = 0; i < priv->
lines_max; i++)
601 return (priv->
rc != -1) ? priv->
rc : 0;
void attr_color_list_clear(struct AttrColorList *acl)
Free the contents of an AttrColorList.
bool buf_is_empty(const struct Buffer *buf)
Is the Buffer empty?
static const char * buf_string(const struct Buffer *buf)
Convert a buffer to a const char * "string".
Color and attribute parsing.
void mutt_pattern_free(struct PatternList **pat)
Free a Pattern.
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.
const struct Expando * cs_subset_expando(const struct ConfigSubset *sub, const char *name)
Get an Expando config item by name.
Convenience wrapper for the config headers.
Convenience wrapper for the core headers.
MailboxType
Supported mailbox formats.
@ MUTT_NNTP
'NNTP' (Usenet) Mailbox type
@ MUTT_UNKNOWN
Mailbox wasn't recognised.
void mutt_refresh(void)
Force a refresh of the screen.
void mutt_beep(bool force)
Irritate the user.
void mutt_flushinp(void)
Empty all the keyboard buffers.
void dump_pager(struct PagerPrivateData *priv)
static int color_debug(enum LogLevel level, const char *format,...)
struct MuttWindow * dialog_find(struct MuttWindow *win)
Find the parent Dialog of a Window.
@ FR_UNKNOWN
Unknown function.
Structs that make up an email.
#define mutt_file_fclose(FP)
#define mutt_file_fopen(PATH, MODE)
void mutt_set_flag(struct Mailbox *m, struct Email *e, enum MessageType flag, bool bf, bool upd_mbox)
Set a flag on an email.
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.
int pager_function_dispatcher(struct MuttWindow *win, int op)
Perform a Pager function - Implements function_dispatcher_t -.
int sb_function_dispatcher(struct MuttWindow *win, int op)
Perform a Sidebar function - Implements function_dispatcher_t -.
int global_function_dispatcher(struct MuttWindow *win, int op)
Perform a Global function - Implements function_dispatcher_t -.
int index_function_dispatcher(struct MuttWindow *win, int op)
Perform an Index function - Implements function_dispatcher_t -.
int dlg_pager(struct PagerView *pview)
Display an email, attachment, or help, in a window -.
#define mutt_message(...)
#define mutt_debug(LEVEL,...)
Convenience wrapper for the gui headers.
GUI manage the main index (list of emails)
#define GETCH_NO_FLAGS
No flags are set.
@ LL_DEBUG5
Log at debug level 5.
@ LL_DEBUG1
Log at debug level 1.
#define MUTT_MEM_CALLOC(n, type)
void msgwin_clear_text(struct MuttWindow *win)
Clear the text in the Message Window.
uint64_t mutt_date_now_ms(void)
Return the number of milliseconds since the Unix epoch.
Convenience wrapper for the library headers.
static const char * timestamp(time_t stamp)
Create a YYYY-MM-DD HH:MM:SS timestamp.
bool notify_send(struct Notify *notify, enum NotifyType event_type, int event_subtype, void *event_data)
Send out a notification message.
Many unsorted constants and some structs.
@ MUTT_READ
Messages that have been read.
void mutt_resize_screen(void)
Update NeoMutt's opinion about the window size.
void mutt_clear_error(void)
Clear the message line (bottom line of screen)
bool mutt_mailbox_notify(struct Mailbox *m_cur)
Notify the user if there's new mail.
Mailbox helper functions.
void window_redraw(struct MuttWindow *win)
Reflow, recalc and repaint a tree of Windows.
void mutt_window_reflow(struct MuttWindow *win)
Resize a Window and its children.
int mutt_window_move(struct MuttWindow *win, int col, int row)
Move the cursor in a Window.
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.
void window_invalidate_all(void)
Mark all windows as in need of repaint.
#define WA_RECALC
Recalculate the contents of the Window.
@ WT_SIDEBAR
Side panel containing Accounts or groups of data.
@ MUTT_WIN_SIZE_MAXIMISE
Window wants as much space as possible.
enum MxStatus mx_mbox_check(struct Mailbox *m)
Check for new mail - Wrapper for MxOps::mbox_check()
MxStatus
Return values from mbox_check(), mbox_check_stats(), mbox_sync(), and mbox_close()
@ MX_STATUS_ERROR
An error occurred.
@ MX_STATUS_FLAGS
Nondestructive flags change (IMAP)
@ MX_STATUS_REOPENED
Mailbox was reopened.
@ MX_STATUS_NEW_MAIL
New mail received in Mailbox.
@ NT_PAGER
Pager data has changed, NotifyPager, PagerPrivateData.
const char * opcodes_get_name(int op)
Get the name of an opcode.
#define OP_ABORT
$abort_key pressed (Ctrl-G)
Match patterns to emails.
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.
Prototypes for many functions.
int mutt_system(const char *cmd)
Run an external command.
#define TAILQ_FOREACH(var, head, field)
void qstyle_free_tree(struct QuoteStyle **quote_list)
Free an entire tree of QuoteStyle.
volatile sig_atomic_t SigWinch
true after SIGWINCH is received
void menu_status_line(struct Buffer *buf, struct IndexSharedData *shared, struct Menu *menu, int max_cols, const struct Expando *exp)
Create the status line.
A curses colour and its attributes.
struct Email * email
header information for message/rfc822
String manipulation buffer.
The envelope/body of an email.
int msgno
Number displayed to the user.
Data shared between Index, Pager and Sidebar.
struct Email * email
Currently selected Email.
struct Mailbox * mailbox
Current Mailbox.
bool attach_msg
Are we in "attach message" mode?
struct MailboxView * mailbox_view
Current Mailbox view.
struct SearchState * search_state
State of the current search.
A line of text in the pager.
short search_arr_size
Number of items in search array.
struct TextSyntax * search
Array of search text in the line.
bool cont_line
Continuation of a previous line (wrapped by NeoMutt)
short cid
Default line colour, e.g. MT_COLOR_QUOTED.
struct TextSyntax * syntax
Array of coloured text in the line.
int msg_in_pager
Message currently shown in the pager.
int msg_count
Total number of messages.
enum MailboxType type
Mailbox type.
struct Email ** emails
Array of Emails.
struct Buffer pathbuf
Path of the Mailbox.
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.
int help_menu
Menu for key bindings, e.g. MENU_PAGER.
struct MuttWindow * parent
Parent Window.
WindowActionFlags actions
Actions to be performed, e.g. WA_RECALC.
enum MuttWindowSize size
Type of Window, e.g. MUTT_WIN_SIZE_FIXED.
Container for Accounts, Notifications.
struct ConfigSubset * sub
Inherited config items.
struct PatternList * pattern
compiled search pattern
Highlighting for a piece of text.
short cols
Number of columns, can be MUTT_WIN_SIZE_UNLIMITED.
@ MENU_PAGER
Pager pager (email viewer)