NeoMutt  2025-09-05-43-g177ed6
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
functions.c File Reference

Index functions. More...

#include "config.h"
#include <limits.h>
#include <stdbool.h>
#include <stdio.h>
#include "mutt/lib.h"
#include "config/lib.h"
#include "email/lib.h"
#include "core/lib.h"
#include "alias/lib.h"
#include "gui/lib.h"
#include "mutt.h"
#include "lib.h"
#include "attach/lib.h"
#include "browser/lib.h"
#include "editor/lib.h"
#include "history/lib.h"
#include "imap/lib.h"
#include "key/lib.h"
#include "menu/lib.h"
#include "ncrypt/lib.h"
#include "nntp/lib.h"
#include "pager/lib.h"
#include "pattern/lib.h"
#include "pop/lib.h"
#include "progress/lib.h"
#include "question/lib.h"
#include "send/lib.h"
#include "external.h"
#include "functions.h"
#include "globals.h"
#include "hook.h"
#include "mutt_header.h"
#include "mutt_mailbox.h"
#include "mutt_thread.h"
#include "muttlib.h"
#include "mview.h"
#include "mx.h"
#include "nntp/mdata.h"
#include "private_data.h"
#include "protos.h"
#include "shared_data.h"
#include "autocrypt/lib.h"
#include "notmuch/lib.h"
#include <libintl.h>
+ Include dependency graph for functions.c:

Go to the source code of this file.

Enumerations

enum  ResolveMethod { RESOLVE_NEXT_EMAIL , RESOLVE_NEXT_UNDELETED , RESOLVE_NEXT_THREAD , RESOLVE_NEXT_SUBTHREAD }
 How to advance the cursor. More...
 

Functions

static bool resolve_email (struct IndexPrivateData *priv, struct IndexSharedData *shared, enum ResolveMethod rm)
 Pick the next Email to advance the cursor to.
 
bool index_next_undeleted (struct MuttWindow *win_index)
 Select the next undeleted Email (if possible)
 
static int op_alias_dialog (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Open the aliases dialog - Implements index_function_t -.
 
static int op_attachment_edit_type (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Edit attachment content type - Implements index_function_t -.
 
static int op_bounce_message (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Remail a message to another user - Implements index_function_t -.
 
static int op_check_traditional (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Check for classic PGP - Implements index_function_t -.
 
static int op_compose_to_sender (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Compose new message to the current message sender - Implements index_function_t -.
 
static int op_create_alias (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Create an alias from a message sender - Implements index_function_t -.
 
static int op_delete (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Delete the current entry - Implements index_function_t -.
 
static int op_delete_thread (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Delete all messages in thread - Implements index_function_t -.
 
static int op_display_address (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Display full address of sender - Implements index_function_t -.
 
static int op_display_message (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Display a message - Implements index_function_t -.
 
static int op_edit_label (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Add, change, or delete a message's label - Implements index_function_t -.
 
static int op_edit_raw_message (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Edit the raw message (edit and edit-raw-message are synonyms) - Implements index_function_t -.
 
static int op_end_cond (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 End of conditional execution (noop) - Implements index_function_t -.
 
static int op_exit (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Exit this menu - Implements index_function_t -.
 
static int op_extract_keys (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Extract supported public keys - Implements index_function_t -.
 
static int op_flag_message (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Toggle a message's 'important' flag - Implements index_function_t -.
 
static int op_forget_passphrase (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Wipe passphrases from memory - Implements index_function_t -.
 
static int op_forward_message (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Forward a message with comments - Implements index_function_t -.
 
static int op_group_reply (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Reply to all recipients - Implements index_function_t -.
 
static int op_jump (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Jump to an index number - Implements index_function_t -.
 
static int op_list_reply (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Reply to specified mailing list - Implements index_function_t -.
 
static int op_list_subscribe (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Subscribe to a mailing list - Implements index_function_t -.
 
static int op_list_unsubscribe (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Unsubscribe from mailing list - Implements index_function_t -.
 
static int op_mail (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Compose a new mail message - Implements index_function_t -.
 
static int op_mailbox_list (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 List mailboxes with new mail - Implements index_function_t -.
 
static int op_mail_key (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Mail a PGP public key - Implements index_function_t -.
 
static int op_main_break_thread (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Break the thread in two - Implements index_function_t -.
 
static int op_main_change_folder (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Open a different folder - Implements index_function_t -.
 
static int op_main_collapse_all (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Collapse/uncollapse all threads - Implements index_function_t -.
 
static int op_main_collapse_thread (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Collapse/uncollapse current thread - Implements index_function_t -.
 
static int op_main_delete_pattern (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Delete messages matching a pattern - Implements index_function_t -.
 
static int op_main_limit (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Limit view to a pattern/thread - Implements index_function_t -.
 
static int op_main_link_threads (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Link tagged message to the current one - Implements index_function_t -.
 
static int op_main_modify_tags (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Modify (notmuch/imap) tags - Implements index_function_t -.
 
static int op_main_next_new (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Jump to the next new message - Implements index_function_t -.
 
static int op_main_next_thread (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Jump to the next thread - Implements index_function_t -.
 
static int op_main_next_undeleted (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Move to the next undeleted message - Implements index_function_t -.
 
static int op_main_next_unread_mailbox (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Open next mailbox with unread mail - Implements index_function_t -.
 
static int op_main_prev_undeleted (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Move to the previous undeleted message - Implements index_function_t -.
 
static int op_main_quasi_delete (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Delete from NeoMutt, don't touch on disk - Implements index_function_t -.
 
static int op_main_read_thread (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Mark the current thread as read - Implements index_function_t -.
 
static int op_main_root_message (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Jump to root message in thread - Implements index_function_t -.
 
static int op_main_set_flag (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Set a status flag on a message - Implements index_function_t -.
 
static int op_main_show_limit (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Show currently active limit pattern - Implements index_function_t -.
 
static int op_main_sync_folder (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Save changes to mailbox - Implements index_function_t -.
 
static int op_main_tag_pattern (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Tag messages matching a pattern - Implements index_function_t -.
 
static int op_main_undelete_pattern (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Undelete messages matching a pattern - Implements index_function_t -.
 
static int op_main_untag_pattern (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Untag messages matching a pattern - Implements index_function_t -.
 
static int op_mark_msg (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Create a hotkey macro for the current message - Implements index_function_t -.
 
static int op_next_entry (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Move to the next entry - Implements index_function_t -.
 
static int op_pipe (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Pipe message/attachment to a shell command - Implements index_function_t -.
 
static int op_prev_entry (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Move to the previous entry - Implements index_function_t -.
 
static int op_print (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Print the current entry - Implements index_function_t -.
 
static int op_query (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Query external program for addresses - Implements index_function_t -.
 
static int op_quit (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Save changes to mailbox and quit - Implements index_function_t -.
 
static int op_recall_message (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Recall a postponed message - Implements index_function_t -.
 
static int op_reply (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Reply to a message - Implements index_function_t -.
 
static int op_resend (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Use the current message as a template for a new one - Implements index_function_t -.
 
static int op_save (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Make decrypted copy - Implements index_function_t -.
 
static int op_search (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Search for a regular expression - Implements index_function_t -.
 
static int op_sort (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Sort messages - Implements index_function_t -.
 
static int op_tag (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Tag the current entry - Implements index_function_t -.
 
static int op_tag_thread (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Tag the current thread - Implements index_function_t -.
 
static int op_toggle_new (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Toggle a message's 'new' flag - Implements index_function_t -.
 
static int op_toggle_write (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Toggle whether the mailbox will be rewritten - Implements index_function_t -.
 
static int op_undelete (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Undelete the current entry - Implements index_function_t -.
 
static int op_undelete_thread (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Undelete all messages in thread - Implements index_function_t -.
 
static int op_view_attachments (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Show MIME attachments - Implements index_function_t -.
 
static int op_autocrypt_acct_menu (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Manage autocrypt accounts - Implements index_function_t -.
 
static int op_main_imap_fetch (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Force retrieval of mail from IMAP server - Implements index_function_t -.
 
static int op_main_imap_logout_all (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Logout from all IMAP servers - Implements index_function_t -.
 
static int op_catchup (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Mark all articles in newsgroup as read - Implements index_function_t -.
 
static int op_get_children (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Get all children of the current message - Implements index_function_t -.
 
static int op_get_message (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Get parent of the current message - Implements index_function_t -.
 
static int op_main_change_group (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Open a different newsgroup - Implements index_function_t -.
 
static int op_post (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Followup to newsgroup - Implements index_function_t -.
 
static int op_main_entire_thread (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Read entire thread of the current message - Implements index_function_t -.
 
static int op_main_vfolder_from_query (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Generate virtual folder from query - Implements index_function_t -.
 
static int op_main_windowed_vfolder (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Shifts virtual folder time window - Implements index_function_t -.
 
static int op_main_fetch_mail (struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
 Retrieve mail from POP server - Implements index_function_t -.
 
static bool prereq (struct IndexSharedData *shared, struct Menu *menu, CheckFlags checks)
 Check the pre-requisites for a function.
 
int index_function_dispatcher (struct MuttWindow *win, int op)
 Perform an Index function - Implements function_dispatcher_t -.
 

Variables

const struct MenuFuncOp OpIndex []
 Functions for the Index Menu.
 
const struct MenuOpSeq IndexDefaultBindings []
 Key bindings for the Index Menu.
 
static const struct IndexFunction IndexFunctions []
 All the NeoMutt functions that the Index supports.
 

Detailed Description

Index functions.

Authors
  • Pietro Cerutti
  • Richard Russon
  • Dennis Schön

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Definition in file functions.c.

Enumeration Type Documentation

◆ ResolveMethod

How to advance the cursor.

Enumerator
RESOLVE_NEXT_EMAIL 

Next email, whatever its state.

RESOLVE_NEXT_UNDELETED 

Next undeleted email.

RESOLVE_NEXT_THREAD 

Next top-level thread.

RESOLVE_NEXT_SUBTHREAD 

Next sibling sub-thread.

Definition at line 326 of file functions.c.

327{
332};
@ RESOLVE_NEXT_SUBTHREAD
Next sibling sub-thread.
Definition functions.c:331
@ RESOLVE_NEXT_UNDELETED
Next undeleted email.
Definition functions.c:329
@ RESOLVE_NEXT_EMAIL
Next email, whatever its state.
Definition functions.c:328
@ RESOLVE_NEXT_THREAD
Next top-level thread.
Definition functions.c:330

Function Documentation

◆ resolve_email()

static bool resolve_email ( struct IndexPrivateData * priv,
struct IndexSharedData * shared,
enum ResolveMethod rm )
static

Pick the next Email to advance the cursor to.

Parameters
privPrivate Index data
sharedShared Index data
rmHow to advance the cursor, e.g. RESOLVE_NEXT_EMAIL
Return values
trueResolve succeeded

Definition at line 341 of file functions.c.

343{
344 if (!priv || !priv->menu || !shared || !shared->mailbox || !shared->email)
345 return false;
346
347 const bool c_resolve = cs_subset_bool(shared->sub, "resolve");
348 if (!c_resolve)
349 return false;
350
351 int index = -1;
352 switch (rm)
353 {
355 index = menu_get_index(priv->menu) + 1;
356 break;
357
359 {
360 const bool uncollapse = mutt_using_threads() && !window_is_focused(priv->win_index);
361 index = find_next_undeleted(shared->mailbox_view, menu_get_index(priv->menu), uncollapse);
362 break;
363 }
364
366 index = mutt_next_thread(shared->email);
367 break;
368
370 index = mutt_next_subthread(shared->email);
371 break;
372 }
373
374 if ((index < 0) || (index >= shared->mailbox->vcount))
375 {
376 // Resolve failed
377 notify_send(shared->notify, NT_INDEX, NT_INDEX_EMAIL, NULL);
378 return false;
379 }
380
381 menu_set_index(priv->menu, index);
382 return true;
383}
bool cs_subset_bool(const struct ConfigSubset *sub, const char *name)
Get a boolean config item by name.
Definition helpers.c:47
int find_next_undeleted(struct MailboxView *mv, int msgno, bool uncollapse)
Find the next undeleted email.
Definition dlg_index.c:241
#define NT_INDEX_EMAIL
Email has changed.
Definition lib.h:72
int menu_get_index(struct Menu *menu)
Get the current selection in the Menu.
Definition menu.c:160
MenuRedrawFlags menu_set_index(struct Menu *menu, int index)
Set the current selection in the Menu.
Definition menu.c:174
bool notify_send(struct Notify *notify, enum NotifyType event_type, int event_subtype, void *event_data)
Send out a notification message.
Definition notify.c:173
#define mutt_using_threads()
#define mutt_next_subthread(e)
#define mutt_next_thread(e)
bool window_is_focused(const struct MuttWindow *win)
Does the given Window have the focus?
@ NT_INDEX
Index data has changed, NotifyIndex, IndexSharedData.
Definition notify_type.h:48
struct MuttWindow * win_index
Window for the Index.
struct Menu * menu
Menu controlling the index.
struct Email * email
Currently selected Email.
Definition shared_data.h:42
struct Mailbox * mailbox
Current Mailbox.
Definition shared_data.h:41
struct ConfigSubset * sub
Config set to use.
Definition shared_data.h:38
struct MailboxView * mailbox_view
Current Mailbox view.
Definition shared_data.h:40
struct Notify * notify
Notifications: NotifyIndex, IndexSharedData.
Definition shared_data.h:44
int vcount
The number of virtual messages.
Definition mailbox.h:99
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ index_next_undeleted()

bool index_next_undeleted ( struct MuttWindow * win_index)

Select the next undeleted Email (if possible)

Parameters
win_indexIndex Window
Return values
trueSelection succeeded

Definition at line 390 of file functions.c.

391{
392 struct MuttWindow *dlg = dialog_find(win_index);
393 if (!dlg)
394 return false;
395
396 struct Menu *menu = win_index->wdata;
397 struct IndexSharedData *shared = dlg->wdata;
398 if (!shared)
399 return false;
400
401 struct IndexPrivateData *priv = win_index->parent->wdata;
402 const bool uncollapse = mutt_using_threads() && !window_is_focused(priv->win_index);
403
404 int index = find_next_undeleted(shared->mailbox_view, menu_get_index(menu), uncollapse);
405 if ((index < 0) || (index >= shared->mailbox->vcount))
406 {
407 // Selection failed
409 return false;
410 }
411
412 menu_set_index(menu, index);
413 return true;
414}
struct MuttWindow * dialog_find(struct MuttWindow *win)
Find the parent Dialog of a Window.
Definition dialog.c:89
Private state data for the Index.
struct IndexSharedData * shared
Shared Index data.
Data shared between Index, Pager and Sidebar.
Definition shared_data.h:37
Definition lib.h:79
void * wdata
Private data.
struct MuttWindow * parent
Parent Window.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ prereq()

static bool prereq ( struct IndexSharedData * shared,
struct Menu * menu,
CheckFlags checks )
static

Check the pre-requisites for a function.

Parameters
sharedIndex shared data
menuCurrent Menu
checksChecks to perform, see CheckFlags
Return values
trueThe checks pass successfully

Definition at line 3071 of file functions.c.

3072{
3073 bool result = true;
3074 struct MailboxView *mv = shared->mailbox_view;
3075
3076 if (checks & (CHECK_MSGCOUNT | CHECK_VISIBLE | CHECK_READONLY))
3077 checks |= CHECK_IN_MAILBOX;
3078
3079 if ((checks & CHECK_IN_MAILBOX) && (!mv || !mv->mailbox))
3080 {
3081 mutt_error(_("No mailbox is open"));
3082 result = false;
3083 }
3084
3085 if (result && (checks & CHECK_MSGCOUNT) && (mv->mailbox->msg_count == 0))
3086 {
3087 mutt_error(_("There are no messages"));
3088 result = false;
3089 }
3090
3091 int index = menu_get_index(menu);
3092 if (result && (checks & CHECK_VISIBLE) &&
3093 ((index < 0) || (index >= mv->mailbox->vcount)))
3094 {
3095 mutt_error(_("No visible messages"));
3096 result = false;
3097 }
3098
3099 if (result && (checks & CHECK_READONLY) && mv->mailbox->readonly)
3100 {
3101 mutt_error(_("Mailbox is read-only"));
3102 result = false;
3103 }
3104
3105 if (result && (checks & CHECK_ATTACH) && shared->attach_msg)
3106 {
3107 mutt_error(_("Function not permitted in attach-message mode"));
3108 result = false;
3109 }
3110
3111 if (!result)
3112 mutt_flushinp();
3113
3114 return result;
3115}
void mutt_flushinp(void)
Empty all the keyboard buffers.
Definition get.c:58
#define mutt_error(...)
Definition logging2.h:93
#define CHECK_ATTACH
Is the user in message-attach mode?
Definition lib.h:80
#define CHECK_VISIBLE
Is the selected message visible in the index?
Definition lib.h:78
#define CHECK_IN_MAILBOX
Is there a mailbox open?
Definition lib.h:76
#define CHECK_READONLY
Is the mailbox readonly?
Definition lib.h:79
#define CHECK_MSGCOUNT
Are there any messages?
Definition lib.h:77
#define _(a)
Definition message.h:28
bool attach_msg
Are we in "attach message" mode?
Definition shared_data.h:46
View of a Mailbox.
Definition mview.h:40
struct Menu * menu
Needed for pattern compilation.
Definition mview.h:47
struct Mailbox * mailbox
Current Mailbox.
Definition mview.h:51
int msg_count
Total number of messages.
Definition mailbox.h:88
bool readonly
Don't allow changes to the mailbox.
Definition mailbox.h:116
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ OpIndex

const struct MenuFuncOp OpIndex[]

Functions for the Index Menu.

Definition at line 90 of file functions.c.

90 { /* map: index */
91 { "alias-dialog", OP_ALIAS_DIALOG },
92#ifdef USE_AUTOCRYPT
93 { "autocrypt-acct-menu", OP_AUTOCRYPT_ACCT_MENU },
94#endif
95 { "bounce-message", OP_BOUNCE_MESSAGE },
96 { "break-thread", OP_MAIN_BREAK_THREAD },
97 { "catchup", OP_CATCHUP },
98 { "change-folder", OP_MAIN_CHANGE_FOLDER },
99 { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY },
100 { "change-newsgroup", OP_MAIN_CHANGE_GROUP },
101 { "change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY },
102#ifdef USE_NOTMUCH
103 { "change-vfolder", OP_MAIN_CHANGE_VFOLDER },
104#endif
105 { "check-traditional-pgp", OP_CHECK_TRADITIONAL },
106 { "clear-flag", OP_MAIN_CLEAR_FLAG },
107 { "collapse-all", OP_MAIN_COLLAPSE_ALL },
108 { "collapse-thread", OP_MAIN_COLLAPSE_THREAD },
109 { "compose-to-sender", OP_COMPOSE_TO_SENDER },
110 { "copy-message", OP_COPY_MESSAGE },
111 { "create-alias", OP_CREATE_ALIAS },
112 { "decode-copy", OP_DECODE_COPY },
113 { "decode-save", OP_DECODE_SAVE },
114 { "decrypt-copy", OP_DECRYPT_COPY },
115 { "decrypt-save", OP_DECRYPT_SAVE },
116 { "delete-message", OP_DELETE },
117 { "delete-pattern", OP_MAIN_DELETE_PATTERN },
118 { "delete-subthread", OP_DELETE_SUBTHREAD },
119 { "delete-thread", OP_DELETE_THREAD },
120 { "display-address", OP_DISPLAY_ADDRESS },
121 { "display-message", OP_DISPLAY_MESSAGE },
122 { "display-toggle-weed", OP_DISPLAY_HEADERS },
123 { "edit", OP_EDIT_RAW_MESSAGE },
124 { "edit-label", OP_EDIT_LABEL },
125 { "edit-or-view-raw-message", OP_EDIT_OR_VIEW_RAW_MESSAGE },
126 { "edit-raw-message", OP_EDIT_RAW_MESSAGE },
127 { "edit-type", OP_ATTACHMENT_EDIT_TYPE },
128#ifdef USE_NOTMUCH
129 { "entire-thread", OP_MAIN_ENTIRE_THREAD },
130#endif
131 { "exit", OP_EXIT },
132 { "extract-keys", OP_EXTRACT_KEYS },
133 { "fetch-mail", OP_MAIN_FETCH_MAIL },
134 { "flag-message", OP_FLAG_MESSAGE },
135 { "followup-message", OP_FOLLOWUP },
136 { "forget-passphrase", OP_FORGET_PASSPHRASE },
137 { "forward-message", OP_FORWARD_MESSAGE },
138 { "forward-to-group", OP_FORWARD_TO_GROUP },
139 { "get-children", OP_GET_CHILDREN },
140 { "get-message", OP_GET_MESSAGE },
141 { "get-parent", OP_GET_PARENT },
142 { "group-chat-reply", OP_GROUP_CHAT_REPLY },
143 { "group-reply", OP_GROUP_REPLY },
144 { "imap-fetch-mail", OP_MAIN_IMAP_FETCH },
145 { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL },
146 { "limit", OP_MAIN_LIMIT },
147 { "limit-current-thread", OP_LIMIT_CURRENT_THREAD },
148 { "link-threads", OP_MAIN_LINK_THREADS },
149 { "list-reply", OP_LIST_REPLY },
150 { "list-subscribe", OP_LIST_SUBSCRIBE },
151 { "list-unsubscribe", OP_LIST_UNSUBSCRIBE },
152 { "mail", OP_MAIL },
153 { "mail-key", OP_MAIL_KEY },
154 { "mailbox-list", OP_MAILBOX_LIST },
155 { "mark-message", OP_MARK_MSG },
156 { "modify-labels", OP_MAIN_MODIFY_TAGS },
157 { "modify-labels-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE },
158 { "modify-tags", OP_MAIN_MODIFY_TAGS },
159 { "modify-tags-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE },
160 { "next-new", OP_MAIN_NEXT_NEW },
161 { "next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD },
162 { "next-subthread", OP_MAIN_NEXT_SUBTHREAD },
163 { "next-thread", OP_MAIN_NEXT_THREAD },
164 { "next-undeleted", OP_MAIN_NEXT_UNDELETED },
165 { "next-unread", OP_MAIN_NEXT_UNREAD },
166 { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX },
167 { "parent-message", OP_MAIN_PARENT_MESSAGE },
168 { "pipe-entry", OP_PIPE },
169 { "pipe-message", OP_PIPE },
170 { "post-message", OP_POST },
171 { "previous-new", OP_MAIN_PREV_NEW },
172 { "previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD },
173 { "previous-subthread", OP_MAIN_PREV_SUBTHREAD },
174 { "previous-thread", OP_MAIN_PREV_THREAD },
175 { "previous-undeleted", OP_MAIN_PREV_UNDELETED },
176 { "previous-unread", OP_MAIN_PREV_UNREAD },
177 { "print-message", OP_PRINT },
178 { "purge-message", OP_PURGE_MESSAGE },
179 { "purge-thread", OP_PURGE_THREAD },
180 { "quasi-delete", OP_MAIN_QUASI_DELETE },
181 { "query", OP_QUERY },
182 { "quit", OP_QUIT },
183 { "read-subthread", OP_MAIN_READ_SUBTHREAD },
184 { "read-thread", OP_MAIN_READ_THREAD },
185 { "recall-message", OP_RECALL_MESSAGE },
186 { "reconstruct-thread", OP_RECONSTRUCT_THREAD },
187 { "reply", OP_REPLY },
188 { "resend-message", OP_RESEND },
189 { "root-message", OP_MAIN_ROOT_MESSAGE },
190 { "save-message", OP_SAVE },
191 { "set-flag", OP_MAIN_SET_FLAG },
192 { "show-limit", OP_MAIN_SHOW_LIMIT },
193 { "sidebar-first", OP_SIDEBAR_FIRST },
194 { "sidebar-last", OP_SIDEBAR_LAST },
195 { "sidebar-next", OP_SIDEBAR_NEXT },
196 { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW },
197 { "sidebar-open", OP_SIDEBAR_OPEN },
198 { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN },
199 { "sidebar-page-up", OP_SIDEBAR_PAGE_UP },
200 { "sidebar-prev", OP_SIDEBAR_PREV },
201 { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW },
202 { "sidebar-toggle-virtual", OP_SIDEBAR_TOGGLE_VIRTUAL },
203 { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE },
204 { "sort-mailbox", OP_SORT },
205 { "sort-reverse", OP_SORT_REVERSE },
206 { "sync-mailbox", OP_MAIN_SYNC_FOLDER },
207 { "tag-pattern", OP_MAIN_TAG_PATTERN },
208 { "tag-subthread", OP_TAG_SUBTHREAD },
209 { "tag-thread", OP_TAG_THREAD },
210 { "toggle-new", OP_TOGGLE_NEW },
211 { "toggle-read", OP_TOGGLE_READ },
212 { "toggle-write", OP_TOGGLE_WRITE },
213 { "undelete-message", OP_UNDELETE },
214 { "undelete-pattern", OP_MAIN_UNDELETE_PATTERN },
215 { "undelete-subthread", OP_UNDELETE_SUBTHREAD },
216 { "undelete-thread", OP_UNDELETE_THREAD },
217 { "untag-pattern", OP_MAIN_UNTAG_PATTERN },
218#ifdef USE_NOTMUCH
219 { "vfolder-from-query", OP_MAIN_VFOLDER_FROM_QUERY },
220 { "vfolder-from-query-readonly", OP_MAIN_VFOLDER_FROM_QUERY_READONLY },
221 { "vfolder-window-backward", OP_MAIN_WINDOWED_VFOLDER_BACKWARD },
222 { "vfolder-window-forward", OP_MAIN_WINDOWED_VFOLDER_FORWARD },
223 { "vfolder-window-reset", OP_MAIN_WINDOWED_VFOLDER_RESET },
224#endif
225 { "view-attachments", OP_VIEW_ATTACHMENTS },
226 { "view-raw-message", OP_VIEW_RAW_MESSAGE },
227 // Deprecated
228 { "buffy-list", OP_MAILBOX_LIST, OP_DEPRECATED },
229 { NULL, 0 },
230};
#define OP_DEPRECATED
Convenience symbol.
Definition lib.h:109

◆ IndexDefaultBindings

const struct MenuOpSeq IndexDefaultBindings[]

Key bindings for the Index Menu.

Definition at line 235 of file functions.c.

235 { /* map: index */
236 { OP_ATTACHMENT_EDIT_TYPE, "\005" }, // <Ctrl-E>
237#ifdef USE_AUTOCRYPT
238 { OP_AUTOCRYPT_ACCT_MENU, "A" },
239#endif
240 { OP_BOUNCE_MESSAGE, "b" },
241 { OP_CHECK_TRADITIONAL, "\033P" }, // <Alt-P>
242 { OP_COPY_MESSAGE, "C" },
243 { OP_CREATE_ALIAS, "a" },
244 { OP_DECODE_COPY, "\033C" }, // <Alt-C>
245 { OP_DECODE_SAVE, "\033s" }, // <Alt-s>
246 { OP_DELETE, "d" },
247 { OP_DELETE_SUBTHREAD, "\033d" }, // <Alt-d>
248 { OP_DELETE_THREAD, "\004" }, // <Ctrl-D>
249 { OP_DISPLAY_ADDRESS, "@" },
250 { OP_DISPLAY_HEADERS, "h" },
251 { OP_DISPLAY_MESSAGE, " " }, // <Space>
252 { OP_DISPLAY_MESSAGE, "<keypadenter>" },
253 { OP_DISPLAY_MESSAGE, "\n" }, // <Enter>
254 { OP_DISPLAY_MESSAGE, "\r" }, // <Return>
255 { OP_EDIT_LABEL, "Y" },
256 { OP_EDIT_OR_VIEW_RAW_MESSAGE, "e" },
257 { OP_EXIT, "x" },
258 { OP_EXTRACT_KEYS, "\013" }, // <Ctrl-K>
259 { OP_FLAG_MESSAGE, "F" },
260 { OP_FORGET_PASSPHRASE, "\006" }, // <Ctrl-F>
261 { OP_FORWARD_MESSAGE, "f" },
262 { OP_GROUP_REPLY, "g" },
263 { OP_LIST_REPLY, "L" },
264 { OP_MAIL, "m" },
265 { OP_MAILBOX_LIST, "." },
266 { OP_MAIL_KEY, "\033k" }, // <Alt-k>
267 { OP_MAIN_BREAK_THREAD, "#" },
268 { OP_MAIN_CHANGE_FOLDER, "c" },
269 { OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" }, // <Alt-c>
270 { OP_MAIN_CHANGE_GROUP, "i" },
271 { OP_MAIN_CHANGE_GROUP_READONLY, "\033i" }, // <Alt-i>
272 { OP_MAIN_CLEAR_FLAG, "W" },
273 { OP_MAIN_COLLAPSE_ALL, "\033V" }, // <Alt-V>
274 { OP_MAIN_COLLAPSE_THREAD, "\033v" }, // <Alt-v>
275 { OP_MAIN_DELETE_PATTERN, "D" },
276 { OP_MAIN_FETCH_MAIL, "G" },
277 { OP_MAIN_LIMIT, "l" },
278 { OP_MAIN_LINK_THREADS, "&" },
279 { OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t" }, // <Tab>
280 { OP_MAIN_NEXT_SUBTHREAD, "\033n" }, // <Alt-n>
281 { OP_MAIN_NEXT_THREAD, "\016" }, // <Ctrl-N>
282 { OP_MAIN_NEXT_UNDELETED, "<down>" },
283 { OP_MAIN_NEXT_UNDELETED, "j" },
284 { OP_MAIN_PARENT_MESSAGE, "P" },
285 { OP_MAIN_PREV_NEW_THEN_UNREAD, "\033\t" }, // <Alt->
286 { OP_MAIN_PREV_SUBTHREAD, "\033p" }, // <Alt-p>
287 { OP_MAIN_PREV_THREAD, "\020" }, // <Ctrl-P>
288 { OP_MAIN_PREV_UNDELETED, "<up>" },
289 { OP_MAIN_PREV_UNDELETED, "k" },
290 { OP_MAIN_READ_SUBTHREAD, "\033r" }, // <Alt-r>
291 { OP_MAIN_READ_THREAD, "\022" }, // <Ctrl-R>
292 { OP_MAIN_SET_FLAG, "w" },
293 { OP_MAIN_SHOW_LIMIT, "\033l" }, // <Alt-l>
294 { OP_MAIN_SYNC_FOLDER, "$" },
295 { OP_MAIN_TAG_PATTERN, "T" },
296 { OP_MAIN_UNDELETE_PATTERN, "U" },
297 { OP_MAIN_UNTAG_PATTERN, "\024" }, // <Ctrl-T>
298 { OP_MARK_MSG, "~" },
299 { OP_NEXT_ENTRY, "J" },
300 { OP_PIPE, "|" },
301 { OP_PREV_ENTRY, "K" },
302 { OP_PRINT, "p" },
303 { OP_QUERY, "Q" },
304 { OP_QUIT, "q" },
305 { OP_RECALL_MESSAGE, "R" },
306 { OP_REPLY, "r" },
307 { OP_RESEND, "\033e" }, // <Alt-e>
308 { OP_SAVE, "s" },
309 { OP_SHOW_LOG_MESSAGES, "M" },
310 { OP_SORT, "o" },
311 { OP_SORT_REVERSE, "O" },
312 { OP_TAG_THREAD, "\033t" }, // <Alt-t>
313 { OP_TOGGLE_NEW, "N" },
314 { OP_TOGGLE_WRITE, "%" },
315 { OP_UNDELETE, "u" },
316 { OP_UNDELETE_SUBTHREAD, "\033u" }, // <Alt-u>
317 { OP_UNDELETE_THREAD, "\025" }, // <Ctrl-U>
318 { OP_VIEW_ATTACHMENTS, "v" },
319 { 0, NULL },
320};

◆ IndexFunctions

const struct IndexFunction IndexFunctions[]
static

All the NeoMutt functions that the Index supports.

Definition at line 3120 of file functions.c.

3120 {
3121 // clang-format off
3122 { OP_ALIAS_DIALOG, op_alias_dialog, CHECK_NO_FLAGS },
3128 { OP_COPY_MESSAGE, op_save, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3129 { OP_CREATE_ALIAS, op_create_alias, CHECK_NO_FLAGS },
3130 { OP_DECODE_COPY, op_save, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3131 { OP_DECODE_SAVE, op_save, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3132 { OP_DECRYPT_COPY, op_save, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3133 { OP_DECRYPT_SAVE, op_save, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3141 { OP_EDIT_OR_VIEW_RAW_MESSAGE, op_edit_raw_message, CHECK_ATTACH | CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3143 { OP_END_COND, op_end_cond, CHECK_NO_FLAGS },
3144 { OP_EXIT, op_exit, CHECK_NO_FLAGS },
3148 { OP_FORGET_PASSPHRASE, op_forget_passphrase, CHECK_NO_FLAGS },
3150 { OP_FORWARD_TO_GROUP, op_post, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3154 { OP_GENERIC_SELECT_ENTRY, op_display_message, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3157 { OP_JUMP, op_jump, CHECK_IN_MAILBOX },
3158 { OP_JUMP_1, op_jump, CHECK_IN_MAILBOX },
3159 { OP_JUMP_2, op_jump, CHECK_IN_MAILBOX },
3160 { OP_JUMP_3, op_jump, CHECK_IN_MAILBOX },
3161 { OP_JUMP_4, op_jump, CHECK_IN_MAILBOX },
3162 { OP_JUMP_5, op_jump, CHECK_IN_MAILBOX },
3163 { OP_JUMP_6, op_jump, CHECK_IN_MAILBOX },
3164 { OP_JUMP_7, op_jump, CHECK_IN_MAILBOX },
3165 { OP_JUMP_8, op_jump, CHECK_IN_MAILBOX },
3166 { OP_JUMP_9, op_jump, CHECK_IN_MAILBOX },
3167 { OP_LIMIT_CURRENT_THREAD, op_main_limit, CHECK_IN_MAILBOX },
3171 { OP_MAIL, op_mail, CHECK_ATTACH },
3172 { OP_MAILBOX_LIST, op_mailbox_list, CHECK_NO_FLAGS },
3173 { OP_MAIL_KEY, op_mail_key, CHECK_ATTACH },
3175 { OP_MAIN_CHANGE_FOLDER, op_main_change_folder, CHECK_NO_FLAGS },
3176 { OP_MAIN_CHANGE_FOLDER_READONLY, op_main_change_folder, CHECK_NO_FLAGS },
3177 { OP_MAIN_CHANGE_GROUP, op_main_change_group, CHECK_NO_FLAGS },
3178 { OP_MAIN_CHANGE_GROUP_READONLY, op_main_change_group, CHECK_NO_FLAGS },
3180 { OP_MAIN_COLLAPSE_ALL, op_main_collapse_all, CHECK_IN_MAILBOX },
3181 { OP_MAIN_COLLAPSE_THREAD, op_main_collapse_thread, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3182 { OP_MAIN_DELETE_PATTERN, op_main_delete_pattern, CHECK_ATTACH | CHECK_IN_MAILBOX | CHECK_READONLY },
3183 { OP_MAIN_FETCH_MAIL, op_main_fetch_mail, CHECK_ATTACH },
3184 { OP_MAIN_IMAP_FETCH, op_main_imap_fetch, CHECK_NO_FLAGS },
3185 { OP_MAIN_IMAP_LOGOUT_ALL, op_main_imap_logout_all, CHECK_NO_FLAGS },
3186 { OP_MAIN_LIMIT, op_main_limit, CHECK_IN_MAILBOX },
3189 { OP_MAIN_MODIFY_TAGS_THEN_HIDE, op_main_modify_tags, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_READONLY | CHECK_VISIBLE },
3191 { OP_MAIN_NEXT_NEW_THEN_UNREAD, op_main_next_new, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3192 { OP_MAIN_NEXT_SUBTHREAD, op_main_next_thread, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3195 { OP_MAIN_NEXT_UNREAD, op_main_next_new, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3196 { OP_MAIN_NEXT_UNREAD_MAILBOX, op_main_next_unread_mailbox, CHECK_IN_MAILBOX },
3197 { OP_MAIN_PARENT_MESSAGE, op_main_root_message, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3199 { OP_MAIN_PREV_NEW_THEN_UNREAD, op_main_next_new, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3200 { OP_MAIN_PREV_SUBTHREAD, op_main_next_thread, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3203 { OP_MAIN_PREV_UNREAD, op_main_next_new, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3209 { OP_MAIN_SHOW_LIMIT, op_main_show_limit, CHECK_IN_MAILBOX },
3210 { OP_MAIN_SYNC_FOLDER, op_main_sync_folder, CHECK_NO_FLAGS },
3211 { OP_MAIN_TAG_PATTERN, op_main_tag_pattern, CHECK_IN_MAILBOX },
3212 { OP_MAIN_UNDELETE_PATTERN, op_main_undelete_pattern, CHECK_IN_MAILBOX | CHECK_READONLY },
3213 { OP_MAIN_UNTAG_PATTERN, op_main_untag_pattern, CHECK_IN_MAILBOX },
3217 { OP_POST, op_post, CHECK_ATTACH | CHECK_IN_MAILBOX },
3222 { OP_QUERY, op_query, CHECK_ATTACH },
3223 { OP_QUIT, op_quit, CHECK_NO_FLAGS },
3224 { OP_RECALL_MESSAGE, op_recall_message, CHECK_ATTACH },
3229 { OP_SEARCH, op_search, CHECK_IN_MAILBOX },
3230 { OP_SEARCH_NEXT, op_search, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3231 { OP_SEARCH_OPPOSITE, op_search, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3232 { OP_SEARCH_REVERSE, op_search, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE },
3233 { OP_SORT, op_sort, CHECK_NO_FLAGS },
3234 { OP_SORT_REVERSE, op_sort, CHECK_NO_FLAGS },
3239 { OP_TOGGLE_READ, op_main_limit, CHECK_IN_MAILBOX },
3240 { OP_TOGGLE_WRITE, op_toggle_write, CHECK_IN_MAILBOX },
3246#ifdef USE_AUTOCRYPT
3247 { OP_AUTOCRYPT_ACCT_MENU, op_autocrypt_acct_menu, CHECK_NO_FLAGS },
3248#endif
3249#ifdef USE_NOTMUCH
3250 { OP_MAIN_CHANGE_VFOLDER, op_main_change_folder, CHECK_NO_FLAGS },
3252 { OP_MAIN_VFOLDER_FROM_QUERY, op_main_vfolder_from_query, CHECK_NO_FLAGS },
3253 { OP_MAIN_VFOLDER_FROM_QUERY_READONLY, op_main_vfolder_from_query, CHECK_NO_FLAGS },
3254 { OP_MAIN_WINDOWED_VFOLDER_BACKWARD, op_main_windowed_vfolder, CHECK_IN_MAILBOX },
3255 { OP_MAIN_WINDOWED_VFOLDER_FORWARD, op_main_windowed_vfolder, CHECK_IN_MAILBOX },
3256 { OP_MAIN_WINDOWED_VFOLDER_RESET, op_main_windowed_vfolder, CHECK_IN_MAILBOX },
3257#endif
3258 { 0, NULL, CHECK_NO_FLAGS },
3259 // clang-format on
3260};
static int op_delete(struct AliasMenuData *mdata, int op)
delete the current entry - Implements alias_function_t -
Definition functions.c:169
static int op_main_tag_pattern(struct AliasMenuData *mdata, int op)
Tag messages matching a pattern - Implements alias_function_t -.
Definition functions.c:264
static int op_main_limit(struct AliasMenuData *mdata, int op)
show only messages matching a pattern - Implements alias_function_t -
Definition functions.c:245
static int op_exit(struct AliasMenuData *mdata, int op)
exit this menu - Implements alias_function_t -
Definition functions.c:201
static int op_main_untag_pattern(struct AliasMenuData *mdata, int op)
Untag messages matching a pattern - Implements alias_function_t -.
Definition functions.c:280
static int op_query(struct AliasMenuData *mdata, int op)
query external program for addresses - Implements alias_function_t -
Definition functions.c:300
static int op_search(struct AliasMenuData *mdata, int op)
search for a regular expression - Implements alias_function_t -
Definition functions.c:353
static int op_create_alias(struct AliasMenuData *mdata, int op)
create an alias from a message sender - Implements alias_function_t -
Definition functions.c:129
static int op_sort(struct AliasMenuData *mdata, int op)
sort aliases - Implements alias_function_t -
Definition functions.c:390
static int op_forward_message(struct AttachPrivateData *priv, int op)
forward a message with comments - Implements attach_function_t -
Definition functions.c:562
static int op_bounce_message(struct AttachPrivateData *priv, int op)
remail a message to another user - Implements attach_function_t -
Definition functions.c:477
static int op_attachment_edit_type(struct AttachPrivateData *priv, int op)
edit attachment content type - Implements attach_function_t -
Definition functions.c:343
static int op_extract_keys(struct AttachPrivateData *priv, int op)
extract supported public keys - Implements attach_function_t -
Definition functions.c:539
static int op_reply(struct AttachPrivateData *priv, int op)
reply to a message - Implements attach_function_t -
Definition functions.c:596
static int op_compose_to_sender(struct AttachPrivateData *priv, int op)
compose new message to the current message sender - Implements attach_function_t -
Definition functions.c:505
static int op_forget_passphrase(struct AttachPrivateData *priv, int op)
wipe passphrases from memory - Implements attach_function_t -
Definition functions.c:553
static int op_list_subscribe(struct AttachPrivateData *priv, int op)
subscribe to a mailing list - Implements attach_function_t -
Definition functions.c:576
static int op_list_unsubscribe(struct AttachPrivateData *priv, int op)
unsubscribe from a mailing list - Implements attach_function_t -
Definition functions.c:586
static int op_check_traditional(struct AttachPrivateData *priv, int op)
check for classic PGP - Implements attach_function_t -
Definition functions.c:491
static int op_resend(struct AttachPrivateData *priv, int op)
use the current message as a template for a new one - Implements attach_function_t -
Definition functions.c:619
static int op_catchup(struct BrowserPrivateData *priv, int op)
Mark all articles in newsgroup as read - Implements browser_function_t -.
Definition functions.c:301
static int op_mailbox_list(struct BrowserPrivateData *priv, int op)
List mailboxes with new mail - Implements browser_function_t -.
Definition functions.c:832
static int op_quit(struct HistoryData *hd, int op)
Quit this menu - Implements history_function_t -.
Definition functions.c:56
static int op_main_link_threads(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Link tagged message to the current one - Implements index_function_t -.
Definition functions.c:1292
static int op_main_break_thread(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Break the thread in two - Implements index_function_t -.
Definition functions.c:1033
static int op_main_root_message(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Jump to root message in thread - Implements index_function_t -.
Definition functions.c:1788
static int op_main_delete_pattern(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Delete messages matching a pattern - Implements index_function_t -.
Definition functions.c:1203
static int op_toggle_new(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Toggle a message's 'new' flag - Implements index_function_t -.
Definition functions.c:2368
static int op_mail_key(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Mail a PGP public key - Implements index_function_t -.
Definition functions.c:1020
static int op_display_message(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Display a message - Implements index_function_t -.
Definition functions.c:605
static int op_main_next_undeleted(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Move to the next undeleted message - Implements index_function_t -.
Definition functions.c:1633
static int op_main_fetch_mail(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Retrieve mail from POP server - Implements index_function_t -.
Definition functions.c:3054
static int op_list_reply(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Reply to specified mailing list - Implements index_function_t -.
Definition functions.c:957
static int op_delete_thread(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Delete all messages in thread - Implements index_function_t -.
Definition functions.c:553
static int op_main_next_unread_mailbox(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Open next mailbox with unread mail - Implements index_function_t -.
Definition functions.c:1666
static int op_pipe(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Pipe message/attachment to a shell command - Implements index_function_t -.
Definition functions.c:2043
static int op_main_prev_undeleted(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Move to the previous undeleted message - Implements index_function_t -.
Definition functions.c:1689
static int op_prev_entry(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Move to the previous entry - Implements index_function_t -.
Definition functions.c:2064
static int op_next_entry(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Move to the next entry - Implements index_function_t -.
Definition functions.c:2027
static int op_main_modify_tags(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Modify (notmuch/imap) tags - Implements index_function_t -.
Definition functions.c:1349
static int op_main_sync_folder(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Save changes to mailbox - Implements index_function_t -.
Definition functions.c:1851
static int op_autocrypt_acct_menu(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Manage autocrypt accounts - Implements index_function_t -.
Definition functions.c:2512
static int op_end_cond(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
End of conditional execution (noop) - Implements index_function_t -.
Definition functions.c:756
static int op_edit_raw_message(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Edit the raw message (edit and edit-raw-message are synonyms) - Implements index_function_t -.
Definition functions.c:711
static int op_get_message(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Get parent of the current message - Implements index_function_t -.
Definition functions.c:2689
static int op_main_next_new(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Jump to the next new message - Implements index_function_t -.
Definition functions.c:1467
static int op_main_change_group(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Open a different newsgroup - Implements index_function_t -.
Definition functions.c:2770
static int op_view_attachments(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Show MIME attachments - Implements index_function_t -.
Definition functions.c:2483
static int op_main_vfolder_from_query(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Generate virtual folder from query - Implements index_function_t -.
Definition functions.c:2965
static int op_flag_message(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Toggle a message's 'important' flag - Implements index_function_t -.
Definition functions.c:802
static int op_main_imap_logout_all(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Logout from all IMAP servers - Implements index_function_t -.
Definition functions.c:2536
static int op_main_read_thread(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Mark the current thread as read - Implements index_function_t -.
Definition functions.c:1758
static int op_recall_message(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Recall a postponed message - Implements index_function_t -.
Definition functions.c:2146
static int op_get_children(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Get all children of the current message - Implements index_function_t -.
Definition functions.c:2588
static int op_toggle_write(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Toggle whether the mailbox will be rewritten - Implements index_function_t -.
Definition functions.c:2410
static int op_save(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Make decrypted copy - Implements index_function_t -.
Definition functions.c:2217
static int op_undelete_thread(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Undelete all messages in thread - Implements index_function_t -.
Definition functions.c:2452
static int op_edit_label(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Add, change, or delete a message's label - Implements index_function_t -.
Definition functions.c:676
static int op_main_entire_thread(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Read entire thread of the current message - Implements index_function_t -.
Definition functions.c:2886
static int op_display_address(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Display full address of sender - Implements index_function_t -.
Definition functions.c:588
static int op_post(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Followup to newsgroup - Implements index_function_t -.
Definition functions.c:2846
static int op_tag(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Tag the current entry - Implements index_function_t -.
Definition functions.c:2313
static int op_tag_thread(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Tag the current thread - Implements index_function_t -.
Definition functions.c:2347
static int op_main_collapse_thread(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Collapse/uncollapse current thread - Implements index_function_t -.
Definition functions.c:1162
static int op_alias_dialog(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Open the aliases dialog - Implements index_function_t -.
Definition functions.c:421
static int op_main_imap_fetch(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Force retrieval of mail from IMAP server - Implements index_function_t -.
Definition functions.c:2523
static int op_main_quasi_delete(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Delete from NeoMutt, don't touch on disk - Implements index_function_t -.
Definition functions.c:1722
static int op_undelete(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Undelete the current entry - Implements index_function_t -.
Definition functions.c:2420
static int op_main_collapse_all(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Collapse/uncollapse all threads - Implements index_function_t -.
Definition functions.c:1145
static int op_jump(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Jump to an index number - Implements index_function_t -.
Definition functions.c:907
static int op_main_undelete_pattern(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Undelete messages matching a pattern - Implements index_function_t -.
Definition functions.c:1938
static int op_mark_msg(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Create a hotkey macro for the current message - Implements index_function_t -.
Definition functions.c:1972
static int op_main_windowed_vfolder(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Shifts virtual folder time window - Implements index_function_t -.
Definition functions.c:3012
static int op_main_set_flag(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Set a status flag on a message - Implements index_function_t -.
Definition functions.c:1805
static int op_main_next_thread(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Jump to the next thread - Implements index_function_t -.
Definition functions.c:1591
static int op_group_reply(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Reply to all recipients - Implements index_function_t -.
Definition functions.c:877
static int op_main_show_limit(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Show currently active limit pattern - Implements index_function_t -.
Definition functions.c:1830
static int op_main_change_folder(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Open a different folder - Implements index_function_t -.
Definition functions.c:1081
static int op_mail(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Compose a new mail message - Implements index_function_t -.
Definition functions.c:999
static int op_print(struct IndexSharedData *shared, struct IndexPrivateData *priv, int op)
Print the current entry - Implements index_function_t -.
Definition functions.c:2080
#define CHECK_NO_FLAGS
No flags are set.
Definition lib.h:75