summaryrefslogtreecommitdiffstats
path: root/functions.h
diff options
context:
space:
mode:
authorKevin McCarthy <kevin@8t8.us>2021-07-25 14:45:56 -0700
committerKevin McCarthy <kevin@8t8.us>2021-07-28 15:02:11 -0700
commit4021ab59f021abd84742ae36895158c7129cbb38 (patch)
treed2a4baa2debdffcfe49de40237ec52f8969c49c2 /functions.h
parentf4ff768c2764502a974042e1fe9d861a7a92fbcf (diff)
Break the menu OPS/funcs and keybindings into separate tables.
Move the "extra" keybindings added manually inside km_init() into the keybinding tables instead. This allows the documentation in the manual to be generated correctly. It also corrects a small problem with duplicate OPS in the struct binding_t table. The exec completion and unbound list in the help menu iterated the active binding_t table and assumed each OP appears only once. When '\n' and '\r' were both added to the binding_t table, this broke the assumption and caused those to misbehave.
Diffstat (limited to 'functions.h')
-rw-r--r--functions.h1298
1 files changed, 857 insertions, 441 deletions
diff --git a/functions.h b/functions.h
index bd9646f2..5c640afc 100644
--- a/functions.h
+++ b/functions.h
@@ -22,9 +22,8 @@
*
* Notes:
*
- * - For "enter" bindings, add entries for "\n" and "\r" in the struct
- * binding_t below, and ALSO add a km_bindkey() call with
- * "<keypadenter>" inside km_init().
+ * - For "enter" bindings, add entries for "\n" and "\r" and
+ * "<keypadenter>".
*
* - If you need to bind a control char, use the octal value because the \cX
* construct does not work at this level.
@@ -39,7 +38,7 @@
# include "doc/makedoc-defs.h"
#endif
-const struct binding_t OpGeneric[] = { /* map: generic */
+const struct menu_func_op_t OpGeneric[] = { /* map: generic */
/*
** <para>
** The <emphasis>generic</emphasis> menu is not a real menu, but specifies common functions
@@ -48,509 +47,926 @@ const struct binding_t OpGeneric[] = { /* map: generic */
** bindings for all menus (except as noted).
** </para>
*/
- { "top-page", OP_TOP_PAGE, "H" },
- { "next-entry", OP_NEXT_ENTRY, "j" },
- { "previous-entry", OP_PREV_ENTRY, "k" },
- { "bottom-page", OP_BOTTOM_PAGE, "L" },
- { "refresh", OP_REDRAW, "\014" },
- { "middle-page", OP_MIDDLE_PAGE, "M" },
- { "search-next", OP_SEARCH_NEXT, "n" },
- { "exit", OP_EXIT, "q" },
- { "tag-entry", OP_TAG, "t" },
- { "next-page", OP_NEXT_PAGE, "z" },
- { "previous-page", OP_PREV_PAGE, "Z" },
- { "last-entry", OP_LAST_ENTRY, "*" },
- { "first-entry", OP_FIRST_ENTRY, "=" },
- { "enter-command", OP_ENTER_COMMAND, ":" },
- { "next-line", OP_NEXT_LINE, ">" },
- { "previous-line", OP_PREV_LINE, "<" },
- { "half-up", OP_HALF_UP, "[" },
- { "half-down", OP_HALF_DOWN, "]" },
- { "help", OP_HELP, "?" },
- { "tag-prefix", OP_TAG_PREFIX, ";" },
- { "tag-prefix-cond", OP_TAG_PREFIX_COND, NULL },
- { "end-cond", OP_END_COND, NULL },
- { "shell-escape", OP_SHELL_ESCAPE, "!" },
- { "select-entry", OP_GENERIC_SELECT_ENTRY,"\r" },
- { "select-entry", OP_GENERIC_SELECT_ENTRY,"\n" },
- { "search", OP_SEARCH, "/" },
- { "search-reverse", OP_SEARCH_REVERSE, "\033/" },
- { "search-opposite", OP_SEARCH_OPPOSITE, NULL },
- { "jump", OP_JUMP, NULL },
- { "current-top", OP_CURRENT_TOP, NULL },
- { "current-middle", OP_CURRENT_MIDDLE, NULL },
- { "current-bottom", OP_CURRENT_BOTTOM, NULL },
- { "error-history", OP_ERROR_HISTORY, NULL },
- { "what-key", OP_WHAT_KEY, NULL },
- { "check-stats", OP_CHECK_STATS, NULL },
- { NULL, 0, NULL }
+ { "bottom-page", OP_BOTTOM_PAGE },
+ { "check-stats", OP_CHECK_STATS },
+ { "current-bottom", OP_CURRENT_BOTTOM },
+ { "current-middle", OP_CURRENT_MIDDLE },
+ { "current-top", OP_CURRENT_TOP },
+ { "end-cond", OP_END_COND },
+ { "enter-command", OP_ENTER_COMMAND },
+ { "error-history", OP_ERROR_HISTORY },
+ { "exit", OP_EXIT },
+ { "first-entry", OP_FIRST_ENTRY },
+ { "half-down", OP_HALF_DOWN },
+ { "half-up", OP_HALF_UP },
+ { "help", OP_HELP },
+ { "jump", OP_JUMP },
+ { "last-entry", OP_LAST_ENTRY },
+ { "middle-page", OP_MIDDLE_PAGE },
+ { "next-entry", OP_NEXT_ENTRY },
+ { "next-line", OP_NEXT_LINE },
+ { "next-page", OP_NEXT_PAGE },
+ { "previous-entry", OP_PREV_ENTRY },
+ { "previous-line", OP_PREV_LINE },
+ { "previous-page", OP_PREV_PAGE },
+ { "refresh", OP_REDRAW },
+ { "search", OP_SEARCH },
+ { "search-next", OP_SEARCH_NEXT },
+ { "search-opposite", OP_SEARCH_OPPOSITE },
+ { "search-reverse", OP_SEARCH_REVERSE },
+ { "select-entry", OP_GENERIC_SELECT_ENTRY },
+ { "shell-escape", OP_SHELL_ESCAPE },
+ { "tag-entry", OP_TAG },
+ { "tag-prefix", OP_TAG_PREFIX },
+ { "tag-prefix-cond", OP_TAG_PREFIX_COND },
+ { "top-page", OP_TOP_PAGE },
+ { "what-key", OP_WHAT_KEY },
+ { NULL, 0 }
};
-const struct binding_t OpMain[] = { /* map: index */
- { "create-alias", OP_CREATE_ALIAS, "a" },
+const struct menu_op_seq_t GenericDefaultBindings[] = { /* map: generic */
+ { OP_BOTTOM_PAGE, "L" },
+ { OP_ENTER_COMMAND, ":" },
+ { OP_EXIT, "q" },
+ { OP_FIRST_ENTRY, "<home>" },
+ { OP_FIRST_ENTRY, "=" },
+ { OP_GENERIC_SELECT_ENTRY, "<keypadenter>" },
+ { OP_GENERIC_SELECT_ENTRY, "\n" },
+ { OP_GENERIC_SELECT_ENTRY, "\r" },
+ { OP_HALF_DOWN, "]" },
+ { OP_HALF_UP, "[" },
+ { OP_HELP, "?" },
+ { OP_JUMP, "1" },
+ { OP_JUMP, "2" },
+ { OP_JUMP, "3" },
+ { OP_JUMP, "4" },
+ { OP_JUMP, "5" },
+ { OP_JUMP, "6" },
+ { OP_JUMP, "7" },
+ { OP_JUMP, "8" },
+ { OP_JUMP, "9" },
+ { OP_LAST_ENTRY, "*" },
+ { OP_LAST_ENTRY, "<end>" },
+ { OP_MIDDLE_PAGE, "M" },
+ { OP_NEXT_ENTRY, "<down>" },
+ { OP_NEXT_ENTRY, "j" },
+ { OP_NEXT_LINE, ">" },
+ { OP_NEXT_PAGE, "<pagedown>" },
+ { OP_NEXT_PAGE, "<right>" },
+ { OP_NEXT_PAGE, "z" },
+ { OP_PREV_ENTRY, "<up>" },
+ { OP_PREV_ENTRY, "k" },
+ { OP_PREV_LINE, "<" },
+ { OP_PREV_PAGE, "<left>" },
+ { OP_PREV_PAGE, "<pageup>" },
+ { OP_PREV_PAGE, "Z" },
+ { OP_REDRAW, "\014" },
+ { OP_SEARCH, "/" },
+ { OP_SEARCH_NEXT, "n" },
+ { OP_SEARCH_REVERSE, "\033/" },
+ { OP_SHELL_ESCAPE, "!" },
+ { OP_TAG, "t" },
+ { OP_TAG_PREFIX, ";" },
+ { OP_TOP_PAGE, "H" },
+ { 0, NULL }
+};
+
+const struct menu_func_op_t OpMain[] = { /* map: index */
#ifdef USE_AUTOCRYPT
- { "autocrypt-acct-menu", OP_AUTOCRYPT_ACCT_MENU, "A" },
+ { "autocrypt-acct-menu", OP_AUTOCRYPT_ACCT_MENU },
#endif
- { "background-compose-menu", OP_BACKGROUND_COMPOSE_MENU, "B" },
- { "bounce-message", OP_BOUNCE_MESSAGE, "b" },
- { "break-thread", OP_MAIN_BREAK_THREAD, "#" },
- { "browse-mailboxes", OP_MAIN_BROWSE_MAILBOXES, "y" },
- { "browse-mailboxes-readonly", OP_MAIN_BROWSE_MAILBOXES_READONLY, NULL },
- { "change-folder", OP_MAIN_CHANGE_FOLDER, "c" },
- { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" },
- { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX, NULL },
- { "collapse-thread", OP_MAIN_COLLAPSE_THREAD, "\033v" },
- { "collapse-all", OP_MAIN_COLLAPSE_ALL, "\033V" },
- { "compose-to-sender", OP_COMPOSE_TO_SENDER, NULL},
- { "copy-message", OP_COPY_MESSAGE, "C" },
- { "decode-copy", OP_DECODE_COPY, "\033C" },
- { "decode-save", OP_DECODE_SAVE, "\033s" },
- { "delete-message", OP_DELETE, "d" },
- { "delete-pattern", OP_MAIN_DELETE_PATTERN, "D" },
- { "delete-thread", OP_DELETE_THREAD, "\004" },
- { "delete-subthread", OP_DELETE_SUBTHREAD, "\033d" },
- { "edit", OP_EDIT_MESSAGE, "e" },
- { "edit-label", OP_EDIT_LABEL, "Y" },
- { "edit-type", OP_EDIT_TYPE, "\005" },
- { "forward-message", OP_FORWARD_MESSAGE, "f" },
- { "flag-message", OP_FLAG_MESSAGE, "F" },
- { "group-chat-reply", OP_GROUP_CHAT_REPLY, NULL },
- { "group-reply", OP_GROUP_REPLY, "g" },
+ { "background-compose-menu", OP_BACKGROUND_COMPOSE_MENU },
+ { "bounce-message", OP_BOUNCE_MESSAGE },
+ { "break-thread", OP_MAIN_BREAK_THREAD },
+ { "browse-mailboxes", OP_MAIN_BROWSE_MAILBOXES },
+ { "browse-mailboxes-readonly", OP_MAIN_BROWSE_MAILBOXES_READONLY },
+ { "buffy-list", OP_BUFFY_LIST },
+ { "change-folder", OP_MAIN_CHANGE_FOLDER },
+ { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY },
+ { "check-traditional-pgp", OP_CHECK_TRADITIONAL },
+ { "clear-flag", OP_MAIN_CLEAR_FLAG },
+ { "collapse-all", OP_MAIN_COLLAPSE_ALL },
+ { "collapse-thread", OP_MAIN_COLLAPSE_THREAD },
+ { "compose-to-sender", OP_COMPOSE_TO_SENDER },
+ { "copy-message", OP_COPY_MESSAGE },
+ { "create-alias", OP_CREATE_ALIAS },
+ { "decode-copy", OP_DECODE_COPY },
+ { "decode-save", OP_DECODE_SAVE },
+ { "decrypt-copy", OP_DECRYPT_COPY },
+ { "decrypt-save", OP_DECRYPT_SAVE },
+ { "delete-message", OP_DELETE },
+ { "delete-pattern", OP_MAIN_DELETE_PATTERN },
+ { "delete-subthread", OP_DELETE_SUBTHREAD },
+ { "delete-thread", OP_DELETE_THREAD },
+ { "display-address", OP_DISPLAY_ADDRESS },
+ { "display-message", OP_DISPLAY_MESSAGE },
+ { "display-toggle-weed", OP_DISPLAY_HEADERS },
+ { "edit", OP_EDIT_MESSAGE },
+ { "edit-label", OP_EDIT_LABEL },
+ { "edit-type", OP_EDIT_TYPE },
+ { "extract-keys", OP_EXTRACT_KEYS },
#ifdef USE_POP
- { "fetch-mail", OP_MAIN_FETCH_MAIL, "G" },
+ { "fetch-mail", OP_MAIN_FETCH_MAIL },
#endif
+ { "flag-message", OP_FLAG_MESSAGE },
+ { "forget-passphrase", OP_FORGET_PASSPHRASE },
+ { "forward-message", OP_FORWARD_MESSAGE },
+ { "group-chat-reply", OP_GROUP_CHAT_REPLY },
+ { "group-reply", OP_GROUP_REPLY },
#ifdef USE_IMAP
- { "imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL },
- { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL, NULL },
+ { "imap-fetch-mail", OP_MAIN_IMAP_FETCH },
+ { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL },
#endif
- { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" },
- { "next-undeleted", OP_MAIN_NEXT_UNDELETED, "j" },
- { "previous-undeleted", OP_MAIN_PREV_UNDELETED, "k" },
- { "limit", OP_MAIN_LIMIT, "l" },
- { "link-threads", OP_MAIN_LINK_THREADS, "&" },
- { "list-action", OP_LIST_ACTION, "\033L" },
- { "list-reply", OP_LIST_REPLY, "L" },
- { "mail", OP_MAIL, "m" },
- { "toggle-new", OP_TOGGLE_NEW, "N" },
- { "toggle-write", OP_TOGGLE_WRITE, "%" },
- { "next-thread", OP_MAIN_NEXT_THREAD, "\016" },
- { "next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n" },
- { "purge-message", OP_PURGE_MESSAGE, NULL },
- { "query", OP_QUERY, "Q" },
- { "quit", OP_QUIT, "q" },
- { "reply", OP_REPLY, "r" },
- { "show-limit", OP_MAIN_SHOW_LIMIT, "\033l" },
- { "sort-mailbox", OP_SORT, "o" },
- { "sort-reverse", OP_SORT_REVERSE, "O" },
- { "print-message", OP_PRINT, "p" },
- { "previous-thread", OP_MAIN_PREV_THREAD, "\020" },
- { "previous-subthread", OP_MAIN_PREV_SUBTHREAD, "\033p" },
- { "recall-message", OP_RECALL_MESSAGE, "R" },
- { "read-thread", OP_MAIN_READ_THREAD, "\022" },
- { "read-subthread", OP_MAIN_READ_SUBTHREAD, "\033r" },
- { "resend-message", OP_RESEND, "\033e" },
- { "save-message", OP_SAVE, "s" },
- { "tag-pattern", OP_MAIN_TAG_PATTERN, "T" },
- { "tag-subthread", OP_TAG_SUBTHREAD, NULL },
- { "tag-thread", OP_TAG_THREAD, "\033t" },
- { "untag-pattern", OP_MAIN_UNTAG_PATTERN, "\024" },
- { "undelete-message", OP_UNDELETE, "u" },
- { "undelete-pattern", OP_MAIN_UNDELETE_PATTERN, "U"},
- { "undelete-subthread", OP_UNDELETE_SUBTHREAD, "\033u" },
- { "undelete-thread", OP_UNDELETE_THREAD, "\025" },
- { "view-attachments", OP_VIEW_ATTACHMENTS, "v" },
- { "show-version", OP_VERSION, "V" },
- { "set-flag", OP_MAIN_SET_FLAG, "w" },
- { "clear-flag", OP_MAIN_CLEAR_FLAG, "W" },
- { "display-message", OP_DISPLAY_MESSAGE, "\r" },
- { "display-message", OP_DISPLAY_MESSAGE, "\n" },
- { "mark-message", OP_MARK_MSG, "~" },
- { "buffy-list", OP_BUFFY_LIST, "." },
- { "sync-mailbox", OP_MAIN_SYNC_FOLDER, "$" },
- { "display-address", OP_DISPLAY_ADDRESS, "@" },
- { "pipe-message", OP_PIPE, "|" },
- { "next-new", OP_MAIN_NEXT_NEW, NULL },
- { "next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t" },
- { "previous-new", OP_MAIN_PREV_NEW, NULL },
- { "previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD, "\033\t" },
- { "next-unread", OP_MAIN_NEXT_UNREAD, NULL },
- { "previous-unread", OP_MAIN_PREV_UNREAD, NULL },
- { "parent-message", OP_MAIN_PARENT_MESSAGE, "P" },
- { "root-message", OP_MAIN_ROOT_MESSAGE, NULL },
-
-
- { "extract-keys", OP_EXTRACT_KEYS, "\013" },
- { "forget-passphrase", OP_FORGET_PASSPHRASE, "\006" },
- { "check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P" },
- { "mail-key", OP_MAIL_KEY, "\033k" },
- { "decrypt-copy", OP_DECRYPT_COPY, NULL },
- { "decrypt-save", OP_DECRYPT_SAVE, NULL },
-
+ { "limit", OP_MAIN_LIMIT },
+ { "link-threads", OP_MAIN_LINK_THREADS },
+ { "list-action", OP_LIST_ACTION },
+ { "list-reply", OP_LIST_REPLY },
+ { "mail", OP_MAIL },
+ { "mail-key", OP_MAIL_KEY },
+ { "mark-message", OP_MARK_MSG },
+ { "next-new", OP_MAIN_NEXT_NEW },
+ { "next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD },
+ { "next-subthread", OP_MAIN_NEXT_SUBTHREAD },
+ { "next-thread", OP_MAIN_NEXT_THREAD },
+ { "next-undeleted", OP_MAIN_NEXT_UNDELETED },
+ { "next-unread", OP_MAIN_NEXT_UNREAD },
+ { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX },
+ { "parent-message", OP_MAIN_PARENT_MESSAGE },
+ { "pipe-message", OP_PIPE },
+ { "previous-new", OP_MAIN_PREV_NEW },
+ { "previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD },
+ { "previous-subthread", OP_MAIN_PREV_SUBTHREAD },
+ { "previous-thread", OP_MAIN_PREV_THREAD },
+ { "previous-undeleted", OP_MAIN_PREV_UNDELETED },
+ { "previous-unread", OP_MAIN_PREV_UNREAD },
+ { "print-message", OP_PRINT },
+ { "purge-message", OP_PURGE_MESSAGE },
+ { "query", OP_QUERY },
+ { "quit", OP_QUIT },
+ { "read-subthread", OP_MAIN_READ_SUBTHREAD },
+ { "read-thread", OP_MAIN_READ_THREAD },
+ { "recall-message", OP_RECALL_MESSAGE },
+ { "reply", OP_REPLY },
+ { "resend-message", OP_RESEND },
+ { "root-message", OP_MAIN_ROOT_MESSAGE },
+ { "save-message", OP_SAVE },
+ { "set-flag", OP_MAIN_SET_FLAG },
+ { "show-limit", OP_MAIN_SHOW_LIMIT },
+ { "show-version", OP_VERSION },
#ifdef USE_SIDEBAR
- { "sidebar-first", OP_SIDEBAR_FIRST, NULL },
- { "sidebar-last", OP_SIDEBAR_LAST, NULL },
- { "sidebar-next", OP_SIDEBAR_NEXT, NULL },
- { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL },
- { "sidebar-open", OP_SIDEBAR_OPEN, NULL },
- { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN, NULL },
- { "sidebar-page-up", OP_SIDEBAR_PAGE_UP, NULL },
- { "sidebar-prev", OP_SIDEBAR_PREV, NULL },
- { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL },
- { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE, NULL },
+ { "sidebar-first", OP_SIDEBAR_FIRST },
+ { "sidebar-last", OP_SIDEBAR_LAST },
+ { "sidebar-next", OP_SIDEBAR_NEXT },
+ { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW },
+ { "sidebar-open", OP_SIDEBAR_OPEN },
+ { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN },
+ { "sidebar-page-up", OP_SIDEBAR_PAGE_UP },
+ { "sidebar-prev", OP_SIDEBAR_PREV },
+ { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW },
+ { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE },
#endif
+ { "sort-mailbox", OP_SORT },
+ { "sort-reverse", OP_SORT_REVERSE },
+ { "sync-mailbox", OP_MAIN_SYNC_FOLDER },
+ { "tag-pattern", OP_MAIN_TAG_PATTERN },
+ { "tag-subthread", OP_TAG_SUBTHREAD },
+ { "tag-thread", OP_TAG_THREAD },
+ { "toggle-new", OP_TOGGLE_NEW },
+ { "toggle-write", OP_TOGGLE_WRITE },
+ { "undelete-message", OP_UNDELETE },
+ { "undelete-pattern", OP_MAIN_UNDELETE_PATTERN },
+ { "undelete-subthread", OP_UNDELETE_SUBTHREAD },
+ { "undelete-thread", OP_UNDELETE_THREAD },
+ { "untag-pattern", OP_MAIN_UNTAG_PATTERN },
+ { "view-attachments", OP_VIEW_ATTACHMENTS },
+ { NULL, 0 }
+};
- { NULL, 0, NULL }
+const struct menu_op_seq_t MainDefaultBindings[] = { /* map: index */
+#ifdef USE_AUTOCRYPT
+ { OP_AUTOCRYPT_ACCT_MENU, "A" },
+#endif
+ { OP_BACKGROUND_COMPOSE_MENU, "B" },
+ { OP_BOUNCE_MESSAGE, "b" },
+ { OP_BUFFY_LIST, "." },
+ { OP_CHECK_TRADITIONAL, "\033P" },
+ { OP_COPY_MESSAGE, "C" },
+ { OP_CREATE_ALIAS, "a" },
+ { OP_DECODE_COPY, "\033C" },
+ { OP_DECODE_SAVE, "\033s" },
+ { OP_DELETE, "d" },
+ { OP_DELETE_SUBTHREAD, "\033d" },
+ { OP_DELETE_THREAD, "\004" },
+ { OP_DISPLAY_ADDRESS, "@" },
+ { OP_DISPLAY_HEADERS, "h" },
+ { OP_DISPLAY_MESSAGE, "\r" },
+ { OP_DISPLAY_MESSAGE, "\n" },
+ { OP_DISPLAY_MESSAGE, " " },
+ { OP_DISPLAY_MESSAGE, "<keypadenter>" },
+ { OP_EDIT_LABEL, "Y" },
+ { OP_EDIT_MESSAGE, "e" },
+ { OP_EDIT_TYPE, "\005" },
+ { OP_EXIT, "x" },
+ { OP_EXTRACT_KEYS, "\013" },
+ { OP_FLAG_MESSAGE, "F" },
+ { OP_FORGET_PASSPHRASE, "\006" },
+ { OP_FORWARD_MESSAGE, "f" },
+ { OP_GROUP_REPLY, "g" },
+ { OP_LIST_ACTION, "\033L" },
+ { OP_LIST_REPLY, "L" },
+ { OP_MAIL, "m" },
+ { OP_MAIL_KEY, "\033k" },
+ { OP_MAIN_BREAK_THREAD, "#" },
+ { OP_MAIN_BROWSE_MAILBOXES, "y" },
+ { OP_MAIN_CHANGE_FOLDER, "c" },
+ { OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" },
+ { OP_MAIN_CLEAR_FLAG, "W" },
+ { OP_MAIN_COLLAPSE_ALL, "\033V" },
+ { OP_MAIN_COLLAPSE_THREAD, "\033v" },
+ { OP_MAIN_DELETE_PATTERN, "D" },
+#ifdef USE_POP
+ { OP_MAIN_FETCH_MAIL, "G" },
+#endif
+ { OP_MAIN_LIMIT, "l" },
+ { OP_MAIN_LINK_THREADS, "&" },
+ { OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t" },
+ { OP_MAIN_NEXT_SUBTHREAD, "\033n" },
+ { OP_MAIN_NEXT_THREAD, "\016" },
+ { OP_MAIN_NEXT_UNDELETED, "j" },
+ { OP_MAIN_NEXT_UNDELETED, "<down>" },
+ { OP_MAIN_PARENT_MESSAGE, "P" },
+ { OP_MAIN_PREV_NEW_THEN_UNREAD, "\033\t" },
+ { OP_MAIN_PREV_SUBTHREAD, "\033p" },
+ { OP_MAIN_PREV_THREAD, "\020" },
+ { OP_MAIN_PREV_UNDELETED, "k" },
+ { OP_MAIN_PREV_UNDELETED, "<up>" },
+ { OP_MAIN_READ_SUBTHREAD, "\033r" },
+ { OP_MAIN_READ_THREAD, "\022" },
+ { OP_MAIN_SET_FLAG, "w" },
+ { OP_MAIN_SHOW_LIMIT, "\033l" },
+ { OP_MAIN_SYNC_FOLDER, "$" },
+ { OP_MAIN_TAG_PATTERN, "T" },
+ { OP_MAIN_UNDELETE_PATTERN, "U"},
+ { OP_MAIN_UNTAG_PATTERN, "\024" },
+ { OP_MARK_MSG, "~" },
+ { OP_NEXT_ENTRY, "J" },
+ { OP_PIPE, "|" },
+ { OP_PREV_ENTRY, "K" },
+ { OP_PRINT, "p" },
+ { OP_QUERY, "Q" },
+ { OP_QUIT, "q" },
+ { OP_RECALL_MESSAGE, "R" },
+ { OP_REPLY, "r" },
+ { OP_RESEND, "\033e" },
+ { OP_SAVE, "s" },
+ { OP_SORT, "o" },
+ { OP_SORT_REVERSE, "O" },
+ { OP_TAG_THREAD, "\033t" },
+ { OP_TOGGLE_NEW, "N" },
+ { OP_TOGGLE_WRITE, "%" },
+ { OP_UNDELETE, "u" },
+ { OP_UNDELETE_SUBTHREAD, "\033u" },
+ { OP_UNDELETE_THREAD, "\025" },
+ { OP_VERSION, "V" },
+ { OP_VIEW_ATTACHMENTS, "v" },
+ { 0, NULL }
};
-const struct binding_t OpPager[] = { /* map: pager */
- { "background-compose-menu", OP_BACKGROUND_COMPOSE_MENU, "B" },
- { "break-thread", OP_MAIN_BREAK_THREAD, "#" },
- { "browse-mailboxes", OP_MAIN_BROWSE_MAILBOXES, "y" },
- { "browse-mailboxes-readonly", OP_MAIN_BROWSE_MAILBOXES_READONLY, NULL },
- { "create-alias", OP_CREATE_ALIAS, "a" },
- { "bounce-message", OP_BOUNCE_MESSAGE, "b" },
- { "change-folder", OP_MAIN_CHANGE_FOLDER, "c" },
- { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" },
- { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX, NULL },
- { "compose-to-sender", OP_COMPOSE_TO_SENDER, NULL},
- { "copy-message", OP_COPY_MESSAGE, "C" },
- { "decode-copy", OP_DECODE_COPY, "\033C" },
- { "delete-message", OP_DELETE, "d" },
- { "delete-thread", OP_DELETE_THREAD, "\004" },
- { "delete-subthread", OP_DELETE_SUBTHREAD, "\033d" },
- { "set-flag", OP_MAIN_SET_FLAG, "w" },
- { "clear-flag", OP_MAIN_CLEAR_FLAG, "W" },
- { "edit", OP_EDIT_MESSAGE, "e" },
- { "edit-label", OP_EDIT_LABEL, "Y" },
- { "edit-type", OP_EDIT_TYPE, "\005" },
- { "forward-message", OP_FORWARD_MESSAGE, "f" },
- { "flag-message", OP_FLAG_MESSAGE, "F" },
- { "group-chat-reply", OP_GROUP_CHAT_REPLY, NULL },
- { "group-reply", OP_GROUP_REPLY, "g" },
+const struct menu_func_op_t OpPager[] = { /* map: pager */
+ { "background-compose-menu", OP_BACKGROUND_COMPOSE_MENU },
+ { "bottom", OP_PAGER_BOTTOM },
+ { "bounce-message", OP_BOUNCE_MESSAGE },
+ { "break-thread", OP_MAIN_BREAK_THREAD },
+ { "browse-mailboxes", OP_MAIN_BROWSE_MAILBOXES },
+ { "browse-mailboxes-readonly", OP_MAIN_BROWSE_MAILBOXES_READONLY },
+ { "buffy-list", OP_BUFFY_LIST },
+ { "change-folder", OP_MAIN_CHANGE_FOLDER },
+ { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY },
+ { "check-stats", OP_CHECK_STATS },
+ { "check-traditional-pgp", OP_CHECK_TRADITIONAL },
+ { "clear-flag", OP_MAIN_CLEAR_FLAG },
+ { "compose-to-sender", OP_COMPOSE_TO_SENDER },
+ { "copy-message", OP_COPY_MESSAGE },
+ { "create-alias", OP_CREATE_ALIAS },
+ { "decode-copy", OP_DECODE_COPY },
+ { "decode-save", OP_DECODE_SAVE },
+ { "decrypt-copy", OP_DECRYPT_COPY },
+ { "decrypt-save", OP_DECRYPT_SAVE },
+ { "delete-message", OP_DELETE },
+ { "delete-subthread", OP_DELETE_SUBTHREAD },
+ { "delete-thread", OP_DELETE_THREAD },
+ { "display-address", OP_DISPLAY_ADDRESS },
+ { "display-toggle-weed", OP_DISPLAY_HEADERS },
+ { "edit", OP_EDIT_MESSAGE },
+ { "edit-label", OP_EDIT_LABEL },
+ { "edit-type", OP_EDIT_TYPE },
+ { "enter-command", OP_ENTER_COMMAND },
+ { "error-history", OP_ERROR_HISTORY },
+ { "exit", OP_EXIT },
+ { "extract-keys", OP_EXTRACT_KEYS },
+ { "flag-message", OP_FLAG_MESSAGE },
+ { "forget-passphrase", OP_FORGET_PASSPHRASE },
+ { "forward-message", OP_FORWARD_MESSAGE },
+ { "group-chat-reply", OP_GROUP_CHAT_REPLY },
+ { "group-reply", OP_GROUP_REPLY },
+ { "half-down", OP_HALF_DOWN },
+ { "half-up", OP_HALF_UP },
+ { "help", OP_HELP },
#ifdef USE_IMAP
- { "imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL },
- { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL, NULL },
+ { "imap-fetch-mail", OP_MAIN_IMAP_FETCH },
+ { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL },
#endif
- { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" },
- { "next-undeleted", OP_MAIN_NEXT_UNDELETED, "j" },
- { "next-entry", OP_NEXT_ENTRY, "J" },
- { "previous-undeleted",OP_MAIN_PREV_UNDELETED, "k" },
- { "previous-entry", OP_PREV_ENTRY, "K" },
- { "link-threads", OP_MAIN_LINK_THREADS, "&" },
- { "list-action", OP_LIST_ACTION, "\033L" },
- { "list-reply", OP_LIST_REPLY, "L" },
- { "redraw-screen", OP_REDRAW, "\014" },
- { "mail", OP_MAIL, "m" },
- { "mark-as-new", OP_TOGGLE_NEW, "N" },
- { "toggle-write", OP_TOGGLE_WRITE, "%" },
- { "search-next", OP_SEARCH_NEXT, "n" },
- { "next-thread", OP_MAIN_NEXT_THREAD, "\016" },
- { "next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n" },
- { "sort-mailbox", OP_SORT, "o" },
- { "sort-reverse", OP_SORT_REVERSE, "O" },
- { "print-message", OP_PRINT, "p" },
- { "previous-thread", OP_MAIN_PREV_THREAD, "\020" },
- { "previous-subthread",OP_MAIN_PREV_SUBTHREAD, "\033p" },
- { "purge-message", OP_PURGE_MESSAGE, NULL },
- { "quit", OP_QUIT, "Q" },
- { "exit", OP_EXIT, "q" },
- { "reply", OP_REPLY, "r" },
- { "recall-message", OP_RECALL_MESSAGE, "R" },
- { "read-thread", OP_MAIN_READ_THREAD, "\022" },
- { "read-subthread", OP_MAIN_READ_SUBTHREAD, "\033r" },
- { "resend-message", OP_RESEND, "\033e" },
- { "save-message", OP_SAVE, "s" },
- { "skip-headers", OP_PAGER_SKIP_HEADERS, "H" },
- { "skip-quoted", OP_PAGER_SKIP_QUOTED, "S" },
- { "decode-save", OP_DECODE_SAVE, "\033s" },
- { "tag-message", OP_TAG, "t" },
- { "toggle-quoted", OP_PAGER_HIDE_QUOTED, "T" },
- { "undelete-message", OP_UNDELETE, "u" },
- { "undelete-subthread",OP_UNDELETE_SUBTHREAD, "\033u" },
- { "undelete-thread", OP_UNDELETE_THREAD, "\025" },
- { "view-attachments", OP_VIEW_ATTACHMENTS, "v" },
- { "show-version", OP_VERSION, "V" },
- { "search-toggle", OP_SEARCH_TOGGLE, "\\" },
- { "display-address", OP_DISPLAY_ADDRESS, "@" },
- { "next-new", OP_MAIN_NEXT_NEW, NULL },
- { "next-new-then-unread",
- OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t" },
- { "pipe-message", OP_PIPE, "|" },
- { "help", OP_HELP, "?" },
- { "next-page", OP_NEXT_PAGE, " " },
- { "previous-page", OP_PREV_PAGE, "-" },
- { "top", OP_PAGER_TOP, "^" },
- { "sync-mailbox", OP_MAIN_SYNC_FOLDER, "$" },
- { "shell-escape", OP_SHELL_ESCAPE, "!" },
- { "enter-command", OP_ENTER_COMMAND, ":" },
- { "buffy-list", OP_BUFFY_LIST, "." },
- { "search", OP_SEARCH, "/" },
- { "search-reverse", OP_SEARCH_REVERSE, "\033/" },
- { "search-opposite", OP_SEARCH_OPPOSITE, NULL },
- { "next-line", OP_NEXT_LINE, "\r" },
- { "next-line", OP_NEXT_LINE, "\n" },
- { "error-history", OP_ERROR_HISTORY, NULL },
- { "jump", OP_JUMP, NULL },
- { "next-unread", OP_MAIN_NEXT_UNREAD, NULL },
- { "previous-new", OP_MAIN_PREV_NEW, NULL },
- { "previous-new-then-unread",
- OP_MAIN_PREV_NEW_THEN_UNREAD, NULL },
- { "previous-unread", OP_MAIN_PREV_UNREAD, NULL },
- { "half-up", OP_HALF_UP, NULL },
- { "half-down", OP_HALF_DOWN, NULL },
- { "previous-line", OP_PREV_LINE, NULL },
- { "bottom", OP_PAGER_BOTTOM, NULL },
- { "parent-message", OP_MAIN_PARENT_MESSAGE, "P" },
- { "root-message", OP_MAIN_ROOT_MESSAGE, NULL },
-
-
-
-
- { "check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P" },
- { "mail-key", OP_MAIL_KEY, "\033k" },
- { "extract-keys", OP_EXTRACT_KEYS, "\013" },
- { "forget-passphrase",OP_FORGET_PASSPHRASE, "\006" },
- { "decrypt-copy", OP_DECRYPT_COPY, NULL },
- { "decrypt-save", OP_DECRYPT_SAVE, NULL },
-
- { "what-key", OP_WHAT_KEY, NULL },
- { "check-stats", OP_CHECK_STATS, NULL },
-
+ { "jump", OP_JUMP },
+ { "link-threads", OP_MAIN_LINK_THREADS },
+ { "list-action", OP_LIST_ACTION },
+ { "list-reply", OP_LIST_REPLY },
+ { "mail", OP_MAIL },
+ { "mail-key", OP_MAIL_KEY },
+ { "mark-as-new", OP_TOGGLE_NEW },
+ { "next-entry", OP_NEXT_ENTRY },
+ { "next-line", OP_NEXT_LINE },
+ { "next-new", OP_MAIN_NEXT_NEW },
+ { "next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD },
+ { "next-page", OP_NEXT_PAGE },
+ { "next-subthread", OP_MAIN_NEXT_SUBTHREAD },
+ { "next-thread", OP_MAIN_NEXT_THREAD },
+ { "next-undeleted", OP_MAIN_NEXT_UNDELETED },
+ { "next-unread", OP_MAIN_NEXT_UNREAD },
+ { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX },
+ { "parent-message", OP_MAIN_PARENT_MESSAGE },
+ { "pipe-message", OP_PIPE },
+ { "previous-entry", OP_PREV_ENTRY },
+ { "previous-line", OP_PREV_LINE },
+ { "previous-new", OP_MAIN_PREV_NEW },
+ { "previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD },
+ { "previous-page", OP_PREV_PAGE },
+ { "previous-subthread", OP_MAIN_PREV_SUBTHREAD },
+ { "previous-thread", OP_MAIN_PREV_THREAD },
+ { "previous-undeleted", OP_MAIN_PREV_UNDELETED },
+ { "previous-unread", OP_MAIN_PREV_UNREAD },
+ { "print-message", OP_PRINT },
+ { "purge-message", OP_PURGE_MESSAGE },
+ { "quit", OP_QUIT },
+ { "read-subthread", OP_MAIN_READ_SUBTHREAD },
+ { "read-thread", OP_MAIN_READ_THREAD },
+ { "recall-message", OP_RECALL_MESSAGE },
+ { "redraw-screen", OP_REDRAW },
+ { "reply", OP_REPLY },
+ { "resend-message", OP_RESEND },
+ { "root-message", OP_MAIN_ROOT_MESSAGE },
+ { "save-message", OP_SAVE },
+ { "search", OP_SEARCH },
+ { "search-next", OP_SEARCH_NEXT },
+ { "search-opposite", OP_SEARCH_OPPOSITE },
+ { "search-reverse", OP_SEARCH_REVERSE },
+ { "search-toggle", OP_SEARCH_TOGGLE },
+ { "set-flag", OP_MAIN_SET_FLAG },
+ { "shell-escape", OP_SHELL_ESCAPE },
+ { "show-version", OP_VERSION },
#ifdef USE_SIDEBAR
- { "sidebar-first", OP_SIDEBAR_FIRST, NULL },
- { "sidebar-last", OP_SIDEBAR_LAST, NULL },
- { "sidebar-next", OP_SIDEBAR_NEXT, NULL },
- { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL },
- { "sidebar-open", OP_SIDEBAR_OPEN, NULL },
- { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN, NULL },
- { "sidebar-page-up", OP_SIDEBAR_PAGE_UP, NULL },
- { "sidebar-prev", OP_SIDEBAR_PREV, NULL },
- { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL },
- { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE, NULL },
+ { "sidebar-first", OP_SIDEBAR_FIRST },
+ { "sidebar-last", OP_SIDEBAR_LAST },
+ { "sidebar-next", OP_SIDEBAR_NEXT },
+ { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW },
+ { "sidebar-open", OP_SIDEBAR_OPEN },
+ { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN },
+ { "sidebar-page-up", OP_SIDEBAR_PAGE_UP },
+ { "sidebar-prev", OP_SIDEBAR_PREV },
+ { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW },
+ { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE },
#endif
+ { "skip-headers", OP_PAGER_SKIP_HEADERS },
+ { "skip-quoted", OP_PAGER_SKIP_QUOTED },
+ { "sort-mailbox", OP_SORT },
+ { "sort-reverse", OP_SORT_REVERSE },
+ { "sync-mailbox", OP_MAIN_SYNC_FOLDER },
+ { "tag-message", OP_TAG },
+ { "toggle-quoted", OP_PAGER_HIDE_QUOTED },
+ { "toggle-write", OP_TOGGLE_WRITE },
+ { "top", OP_PAGER_TOP },
+ { "undelete-message", OP_UNDELETE },
+ { "undelete-subthread", OP_UNDELETE_SUBTHREAD },
+ { "undelete-thread", OP_UNDELETE_THREAD },
+ { "view-attachments", OP_VIEW_ATTACHMENTS },
+ { "what-key", OP_WHAT_KEY },
+ { NULL, 0 }
+};
- { NULL, 0, NULL }
+const struct menu_op_seq_t PagerDefaultBindings[] = { /* map: pager */
+ { OP_BACKGROUND_COMPOSE_MENU, "B" },
+ { OP_BOUNCE_MESSAGE, "b" },
+ { OP_BUFFY_LIST, "." },
+ { OP_CHECK_TRADITIONAL, "\033P" },
+ { OP_COPY_MESSAGE, "C" },
+ { OP_CREATE_ALIAS, "a" },
+ { OP_DECODE_COPY, "\033C" },
+ { OP_DECODE_SAVE, "\033s" },
+ { OP_DELETE, "d" },
+ { OP_DELETE_SUBTHREAD, "\033d" },
+ { OP_DELETE_THREAD, "\004" },
+ { OP_DISPLAY_ADDRESS, "@" },
+ { OP_DISPLAY_HEADERS, "h" },
+ { OP_EDIT_LABEL, "Y" },
+ { OP_EDIT_MESSAGE, "e" },
+ { OP_EDIT_TYPE, "\005" },
+ { OP_ENTER_COMMAND, ":" },
+ { OP_EXIT, "q" },
+ { OP_EXIT, "i" },
+ { OP_EXIT, "x" },
+ { OP_EXTRACT_KEYS, "\013" },
+ { OP_FLAG_MESSAGE, "F" },
+ { OP_FORGET_PASSPHRASE, "\006" },
+ { OP_FORWARD_MESSAGE, "f" },
+ { OP_GROUP_REPLY, "g" },
+ { OP_HELP, "?" },
+ { OP_JUMP, "1" },
+ { OP_JUMP, "2" },
+ { OP_JUMP, "3" },
+ { OP_JUMP, "4" },
+ { OP_JUMP, "5" },
+ { OP_JUMP, "6" },
+ { OP_JUMP, "7" },
+ { OP_JUMP, "8" },
+ { OP_JUMP, "9" },
+ { OP_LIST_ACTION, "\033L" },
+ { OP_LIST_REPLY, "L" },
+ { OP_MAIL, "m" },
+ { OP_MAIL_KEY, "\033k" },
+ { OP_MAIN_BREAK_THREAD, "#" },
+ { OP_MAIN_BROWSE_MAILBOXES, "y" },
+ { OP_MAIN_CHANGE_FOLDER, "c" },
+ { OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" },
+ { OP_MAIN_CLEAR_FLAG, "W" },
+ { OP_MAIN_LINK_THREADS, "&" },
+ { OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t" },
+ { OP_MAIN_NEXT_SUBTHREAD, "\033n" },
+ { OP_MAIN_NEXT_THREAD, "\016" },
+ { OP_MAIN_NEXT_UNDELETED, "j" },
+ { OP_MAIN_NEXT_UNDELETED, "<down>" },
+ { OP_MAIN_NEXT_UNDELETED, "<right>" },
+ { OP_MAIN_PARENT_MESSAGE, "P" },
+ { OP_MAIN_PREV_SUBTHREAD, "\033p" },
+ { OP_MAIN_PREV_THREAD, "\020" },
+ { OP_MAIN_PREV_UNDELETED, "k" },
+ { OP_MAIN_PREV_UNDELETED, "<left>" },
+ { OP_MAIN_PREV_UNDELETED, "<up>" },
+ { OP_MAIN_READ_SUBTHREAD, "\033r" },
+ { OP_MAIN_READ_THREAD, "\022" },
+ { OP_MAIN_SET_FLAG, "w" },
+ { OP_MAIN_SYNC_FOLDER, "$" },
+ { OP_NEXT_ENTRY, "J" },
+ { OP_NEXT_LINE, "\n" },
+ { OP_NEXT_LINE, "\r" },
+ { OP_NEXT_LINE, "<keypadenter>" },
+ { OP_NEXT_PAGE, " " },
+ { OP_NEXT_PAGE, "<pagedown>" },
+ { OP_PAGER_BOTTOM, "<end>" },
+ { OP_PAGER_HIDE_QUOTED, "T" },
+ { OP_PAGER_SKIP_HEADERS, "H" },
+ { OP_PAGER_SKIP_QUOTED, "S" },
+ { OP_PAGER_TOP, "^" },
+ { OP_PAGER_TOP, "<home>" },
+ { OP_PIPE, "|" },
+ { OP_PREV_ENTRY, "K" },
+ { OP_PREV_LINE, "<backspace>" },
+ { OP_PREV_PAGE, "-" },
+ { OP_PREV_PAGE, "<pageup>" },
+ { OP_PRINT, "p" },
+ { OP_QUIT, "Q" },
+ { OP_RECALL_MESSAGE, "R" },
+ { OP_REDRAW, "\014" },
+ { OP_REPLY, "r" },
+ { OP_RESEND, "\033e" },
+ { OP_SAVE, "s" },
+ { OP_SEARCH, "/" },
+ { OP_SEARCH_NEXT, "n" },
+ { OP_SEARCH_REVERSE, "\033/" },
+ { OP_SEARCH_TOGGLE, "\\" },
+ { OP_SHELL_ESCAPE, "!" },
+ { OP_SORT, "o" },
+ { OP_SORT_REVERSE, "O" },
+ { OP_TAG, "t" },
+ { OP_TOGGLE_NEW, "N" },
+ { OP_TOGGLE_WRITE, "%" },
+ { OP_UNDELETE, "u" },
+ { OP_UNDELETE_SUBTHREAD, "\033u" },
+ { OP_UNDELETE_THREAD, "\025" },
+ { OP_VERSION, "V" },
+ { OP_VIEW_ATTACHMENTS, "v" },
+ { 0, NULL }
};
-const struct binding_t OpAttach[] = { /* map: attachment */
- { "bounce-message", OP_BOUNCE_MESSAGE, "b" },
- { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" },
- { "compose-to-sender", OP_COMPOSE_TO_SENDER, NULL},
- { "edit-type", OP_EDIT_TYPE, "\005" },
- { "print-entry", OP_PRINT, "p" },
- { "save-entry", OP_SAVE, "s" },
- { "pipe-entry", OP_PIPE, "|" },
- { "view-mailcap", OP_ATTACH_VIEW_MAILCAP, "m" },
- { "view-pager", OP_ATTACH_VIEW_PAGER, NULL },
- { "reply", OP_REPLY, "r" },
- { "resend-message", OP_RESEND, "\033e" },
- { "group-chat-reply", OP_GROUP_CHAT_REPLY, NULL },
- { "group-reply", OP_GROUP_REPLY, "g" },
- { "list-reply", OP_LIST_REPLY, "L" },
- { "forward-message", OP_FORWARD_MESSAGE, "f" },
- { "view-text", OP_ATTACH_VIEW_TEXT, "T" },
- { "view-attach", OP_VIEW_ATTACH, "\r" },
- { "view-attach", OP_VIEW_ATTACH, "\n" },
- { "delete-entry", OP_DELETE, "d" },
- { "undelete-entry", OP_UNDELETE, "u" },
- { "collapse-parts", OP_ATTACH_COLLAPSE, "v" },
-
- { "check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P" },
- { "extract-keys", OP_EXTRACT_KEYS, "\013" },
- { "forget-passphrase", OP_FORGET_PASSPHRASE, "\006" },
-
- { NULL, 0, NULL }
+const struct menu_func_op_t OpAttach[] = { /* map: attachment */
+ { "bounce-message", OP_BOUNCE_MESSAGE },
+ { "check-traditional-pgp", OP_CHECK_TRADITIONAL },
+ { "collapse-parts", OP_ATTACH_COLLAPSE },
+ { "compose-to-sender", OP_COMPOSE_TO_SENDER },
+ { "delete-entry", OP_DELETE },
+ { "display-toggle-weed", OP_DISPLAY_HEADERS },
+ { "edit-type", OP_EDIT_TYPE },
+ { "extract-keys", OP_EXTRACT_KEYS },
+ { "forget-passphrase", OP_FORGET_PASSPHRASE },
+ { "forward-message", OP_FORWARD_MESSAGE },
+ { "group-chat-reply", OP_GROUP_CHAT_REPLY },
+ { "group-reply", OP_GROUP_REPLY },
+ { "list-reply", OP_LIST_REPLY },
+ { "pipe-entry", OP_PIPE },
+ { "print-entry", OP_PRINT },
+ { "reply", OP_REPLY },
+ { "resend-message", OP_RESEND },
+ { "save-entry", OP_SAVE },
+ { "undelete-entry", OP_UNDELETE },
+ { "view-attach", OP_