NeoMutt  2023-05-17-56-ga67199
Teaching an old dog new tricks
DOXYGEN
functions.c
Go to the documentation of this file.
1
42#include "config.h"
43#ifdef _MAKEDOC
44#include "docs/makedoc_defs.h"
45#else
46#include <stddef.h>
47#include "keymap.h"
48#include "opcodes.h"
49#endif
50
51// clang-format off
55const struct MenuFuncOp OpAlias[] = { /* map: alias */
56 { "delete-entry", OP_DELETE },
57 { "exit", OP_EXIT },
58 { "limit", OP_MAIN_LIMIT },
59 { "mail", OP_MAIL },
60 { "sort-alias", OP_SORT },
61 { "sort-alias-reverse", OP_SORT_REVERSE },
62 { "undelete-entry", OP_UNDELETE },
63 { NULL, 0 },
64};
65
69const struct MenuFuncOp OpAttach[] = { /* map: attachment */
70 { "bounce-message", OP_BOUNCE_MESSAGE },
71 { "check-traditional-pgp", OP_CHECK_TRADITIONAL },
72 { "collapse-parts", OP_ATTACHMENT_COLLAPSE },
73 { "compose-to-sender", OP_COMPOSE_TO_SENDER },
74 { "delete-entry", OP_ATTACHMENT_DELETE },
75 { "display-toggle-weed", OP_DISPLAY_HEADERS },
76 { "edit-type", OP_ATTACHMENT_EDIT_TYPE },
77 { "exit", OP_EXIT },
78 { "extract-keys", OP_EXTRACT_KEYS },
79#ifdef USE_NNTP
80 { "followup-message", OP_FOLLOWUP },
81#endif
82 { "forget-passphrase", OP_FORGET_PASSPHRASE },
83 { "forward-message", OP_FORWARD_MESSAGE },
84#ifdef USE_NNTP
85 { "forward-to-group", OP_FORWARD_TO_GROUP },
86#endif
87 { "group-chat-reply", OP_GROUP_CHAT_REPLY },
88 { "group-reply", OP_GROUP_REPLY },
89 { "list-reply", OP_LIST_REPLY },
90 { "list-subscribe", OP_LIST_SUBSCRIBE },
91 { "list-unsubscribe", OP_LIST_UNSUBSCRIBE },
92 { "pipe-entry", OP_PIPE },
93 { "pipe-message", OP_PIPE },
94 { "print-entry", OP_ATTACHMENT_PRINT },
95 { "reply", OP_REPLY },
96 { "resend-message", OP_RESEND },
97 { "save-entry", OP_ATTACHMENT_SAVE },
98 { "undelete-entry", OP_ATTACHMENT_UNDELETE },
99 { "view-attach", OP_ATTACHMENT_VIEW },
100 { "view-mailcap", OP_ATTACHMENT_VIEW_MAILCAP },
101 { "view-pager", OP_ATTACHMENT_VIEW_PAGER },
102 { "view-text", OP_ATTACHMENT_VIEW_TEXT },
103 { NULL, 0 },
104};
105
106#ifdef USE_AUTOCRYPT
110const struct MenuFuncOp OpAutocrypt[] = { /* map: autocrypt account */
111 { "create-account", OP_AUTOCRYPT_CREATE_ACCT },
112 { "delete-account", OP_AUTOCRYPT_DELETE_ACCT },
113 { "exit", OP_EXIT },
114 { "toggle-active", OP_AUTOCRYPT_TOGGLE_ACTIVE },
115 { "toggle-prefer-encrypt", OP_AUTOCRYPT_TOGGLE_PREFER },
116 { NULL, 0 }
117};
118#endif
119
123const struct MenuFuncOp OpBrowser[] = { /* map: browser */
124#ifdef USE_NNTP
125 { "catchup", OP_CATCHUP },
126#endif
127 { "change-dir", OP_CHANGE_DIRECTORY },
128 { "check-new", OP_CHECK_NEW },
129#ifdef USE_IMAP
130 { "create-mailbox", OP_CREATE_MAILBOX },
131 { "delete-mailbox", OP_DELETE_MAILBOX },
132#endif
133 { "descend-directory", OP_DESCEND_DIRECTORY },
134 { "display-filename", OP_BROWSER_TELL },
135 { "enter-mask", OP_ENTER_MASK },
136 { "exit", OP_EXIT },
137 { "goto-folder", OP_BROWSER_GOTO_FOLDER },
138 { "goto-parent", OP_GOTO_PARENT },
139 { "mailbox-list", OP_MAILBOX_LIST },
140#ifdef USE_NNTP
141 { "reload-active", OP_LOAD_ACTIVE },
142#endif
143#ifdef USE_IMAP
144 { "rename-mailbox", OP_RENAME_MAILBOX },
145#endif
146 { "select-new", OP_BROWSER_NEW_FILE },
147 { "sort", OP_SORT },
148 { "sort-reverse", OP_SORT_REVERSE },
149#if defined(USE_IMAP) || defined(USE_NNTP)
150 { "subscribe", OP_BROWSER_SUBSCRIBE },
151#endif
152#ifdef USE_NNTP
153 { "subscribe-pattern", OP_SUBSCRIBE_PATTERN },
154#endif
155 { "toggle-mailboxes", OP_TOGGLE_MAILBOXES },
156#ifdef USE_IMAP
157 { "toggle-subscribed", OP_BROWSER_TOGGLE_LSUB },
158#endif
159#ifdef USE_NNTP
160 { "uncatchup", OP_UNCATCHUP },
161#endif
162#if defined(USE_IMAP) || defined(USE_NNTP)
163 { "unsubscribe", OP_BROWSER_UNSUBSCRIBE },
164#endif
165#ifdef USE_NNTP
166 { "unsubscribe-pattern", OP_UNSUBSCRIBE_PATTERN },
167#endif
168 { "view-file", OP_BROWSER_VIEW_FILE },
169 // Deprecated
170 { "buffy-list", OP_MAILBOX_LIST },
171 { NULL, 0 },
172};
173
177const struct MenuFuncOp OpCompose[] = { /* map: compose */
178 { "attach-file", OP_ATTACHMENT_ATTACH_FILE },
179 { "attach-key", OP_ATTACHMENT_ATTACH_KEY },
180 { "attach-message", OP_ATTACHMENT_ATTACH_MESSAGE },
181#ifdef USE_NNTP
182 { "attach-news-message", OP_ATTACHMENT_ATTACH_NEWS_MESSAGE },
183#endif
184#ifdef USE_AUTOCRYPT
185 { "autocrypt-menu", OP_COMPOSE_AUTOCRYPT_MENU },
186#endif
187 { "copy-file", OP_ATTACHMENT_SAVE },
188 { "detach-file", OP_ATTACHMENT_DETACH },
189 { "display-toggle-weed", OP_DISPLAY_HEADERS },
190 { "edit-bcc", OP_ENVELOPE_EDIT_BCC },
191 { "edit-cc", OP_ENVELOPE_EDIT_CC },
192 { "edit-content-id", OP_ATTACHMENT_EDIT_CONTENT_ID },
193 { "edit-description", OP_ATTACHMENT_EDIT_DESCRIPTION },
194 { "edit-encoding", OP_ATTACHMENT_EDIT_ENCODING },
195 { "edit-fcc", OP_ENVELOPE_EDIT_FCC },
196 { "edit-file", OP_COMPOSE_EDIT_FILE },
197#ifdef USE_NNTP
198 { "edit-followup-to", OP_ENVELOPE_EDIT_FOLLOWUP_TO },
199#endif
200 { "edit-from", OP_ENVELOPE_EDIT_FROM },
201 { "edit-headers", OP_ENVELOPE_EDIT_HEADERS },
202 { "edit-language", OP_ATTACHMENT_EDIT_LANGUAGE },
203 { "edit-message", OP_COMPOSE_EDIT_MESSAGE },
204 { "edit-mime", OP_ATTACHMENT_EDIT_MIME },
205#ifdef USE_NNTP
206 { "edit-newsgroups", OP_ENVELOPE_EDIT_NEWSGROUPS },
207#endif
208 { "edit-reply-to", OP_ENVELOPE_EDIT_REPLY_TO },
209 { "edit-subject", OP_ENVELOPE_EDIT_SUBJECT },
210 { "edit-to", OP_ENVELOPE_EDIT_TO },
211 { "edit-type", OP_ATTACHMENT_EDIT_TYPE },
212#ifdef USE_NNTP
213 { "edit-x-comment-to", OP_ENVELOPE_EDIT_X_COMMENT_TO },
214#endif
215 { "exit", OP_EXIT },
216 { "filter-entry", OP_ATTACHMENT_FILTER },
217 { "forget-passphrase", OP_FORGET_PASSPHRASE },
218 { "get-attachment", OP_ATTACHMENT_GET_ATTACHMENT },
219 { "group-alternatives", OP_ATTACHMENT_GROUP_ALTS },
220 { "group-multilingual", OP_ATTACHMENT_GROUP_LINGUAL },
221 { "group-related", OP_ATTACHMENT_GROUP_RELATED },
222 { "ispell", OP_COMPOSE_ISPELL },
223#ifdef MIXMASTER
224 { "mix", OP_COMPOSE_MIX },
225#endif
226 { "move-down", OP_ATTACHMENT_MOVE_DOWN },
227 { "move-up", OP_ATTACHMENT_MOVE_UP },
228 { "new-mime", OP_ATTACHMENT_NEW_MIME },
229 { "pgp-menu", OP_COMPOSE_PGP_MENU },
230 { "pipe-entry", OP_PIPE },
231 { "pipe-message", OP_PIPE },
232 { "postpone-message", OP_COMPOSE_POSTPONE_MESSAGE },
233 { "print-entry", OP_ATTACHMENT_PRINT },
234 { "rename-attachment", OP_ATTACHMENT_RENAME_ATTACHMENT },
235 { "rename-file", OP_COMPOSE_RENAME_FILE },
236 { "send-message", OP_COMPOSE_SEND_MESSAGE },
237 { "smime-menu", OP_COMPOSE_SMIME_MENU },
238 { "toggle-disposition", OP_ATTACHMENT_TOGGLE_DISPOSITION },
239 { "toggle-recode", OP_ATTACHMENT_TOGGLE_RECODE },
240 { "toggle-unlink", OP_ATTACHMENT_TOGGLE_UNLINK },
241 { "ungroup-attachment", OP_ATTACHMENT_UNGROUP },
242 { "update-encoding", OP_ATTACHMENT_UPDATE_ENCODING },
243 { "view-attach", OP_ATTACHMENT_VIEW },
244 { "view-mailcap", OP_ATTACHMENT_VIEW_MAILCAP },
245 { "view-pager", OP_ATTACHMENT_VIEW_PAGER },
246 { "view-text", OP_ATTACHMENT_VIEW_TEXT },
247 { "write-fcc", OP_COMPOSE_WRITE_MESSAGE },
248 { NULL, 0 },
249};
250
254const struct MenuFuncOp OpEditor[] = { /* map: editor */
255 { "backspace", OP_EDITOR_BACKSPACE },
256 { "backward-char", OP_EDITOR_BACKWARD_CHAR },
257 { "backward-word", OP_EDITOR_BACKWARD_WORD },
258 { "bol", OP_EDITOR_BOL },
259 { "capitalize-word", OP_EDITOR_CAPITALIZE_WORD },
260 { "complete", OP_EDITOR_COMPLETE },
261 { "complete-query", OP_EDITOR_COMPLETE_QUERY },
262 { "delete-char", OP_EDITOR_DELETE_CHAR },
263 { "downcase-word", OP_EDITOR_DOWNCASE_WORD },
264 { "eol", OP_EDITOR_EOL },
265 { "exit", OP_EXIT },
266 { "forward-char", OP_EDITOR_FORWARD_CHAR },
267 { "forward-word", OP_EDITOR_FORWARD_WORD },
268 { "history-down", OP_EDITOR_HISTORY_DOWN },
269 { "history-search", OP_EDITOR_HISTORY_SEARCH },
270 { "history-up", OP_EDITOR_HISTORY_UP },
271 { "kill-eol", OP_EDITOR_KILL_EOL },
272 { "kill-eow", OP_EDITOR_KILL_EOW },
273 { "kill-line", OP_EDITOR_KILL_LINE },
274 { "kill-whole-line", OP_EDITOR_KILL_WHOLE_LINE },
275 { "kill-word", OP_EDITOR_KILL_WORD },
276 { "mailbox-cycle", OP_EDITOR_MAILBOX_CYCLE },
277 { "quote-char", OP_EDITOR_QUOTE_CHAR },
278 { "transpose-chars", OP_EDITOR_TRANSPOSE_CHARS },
279 { "upcase-word", OP_EDITOR_UPCASE_WORD },
280 // Deprecated
281 { "buffy-cycle", OP_EDITOR_MAILBOX_CYCLE },
282 { NULL, 0 },
283};
284
288const struct MenuFuncOp OpGeneric[] = { /* map: generic */
289 /*
290 ** <para>
291 ** The <emphasis>generic</emphasis> menu is not a real menu, but specifies common functions
292 ** (such as movement) available in all menus except for <emphasis>pager</emphasis> and
293 ** <emphasis>editor</emphasis>. Changing settings for this menu will affect the default
294 ** bindings for all menus (except as noted).
295 ** </para>
296 */
297 { "bottom-page", OP_BOTTOM_PAGE },
298 { "check-stats", OP_CHECK_STATS },
299 { "current-bottom", OP_CURRENT_BOTTOM },
300 { "current-middle", OP_CURRENT_MIDDLE },
301 { "current-top", OP_CURRENT_TOP },
302 { "end-cond", OP_END_COND },
303 { "enter-command", OP_ENTER_COMMAND },
304 { "exit", OP_EXIT },
305 { "first-entry", OP_FIRST_ENTRY },
306 { "half-down", OP_HALF_DOWN },
307 { "half-up", OP_HALF_UP },
308 { "help", OP_HELP },
309 { "jump", OP_JUMP },
310 { "jump", OP_JUMP_1 },
311 { "jump", OP_JUMP_2 },
312 { "jump", OP_JUMP_3 },
313 { "jump", OP_JUMP_4 },
314 { "jump", OP_JUMP_5 },
315 { "jump", OP_JUMP_6 },
316 { "jump", OP_JUMP_7 },
317 { "jump", OP_JUMP_8 },
318 { "jump", OP_JUMP_9 },
319 { "last-entry", OP_LAST_ENTRY },
320 { "middle-page", OP_MIDDLE_PAGE },
321 { "next-entry", OP_NEXT_ENTRY },
322 { "next-line", OP_NEXT_LINE },
323 { "next-page", OP_NEXT_PAGE },
324 { "previous-entry", OP_PREV_ENTRY },
325 { "previous-line", OP_PREV_LINE },
326 { "previous-page", OP_PREV_PAGE },
327 { "redraw-screen", OP_REDRAW },
328 { "search", OP_SEARCH },
329 { "search-next", OP_SEARCH_NEXT },
330 { "search-opposite", OP_SEARCH_OPPOSITE },
331 { "search-reverse", OP_SEARCH_REVERSE },
332 { "select-entry", OP_GENERIC_SELECT_ENTRY },
333 { "shell-escape", OP_SHELL_ESCAPE },
334 { "show-log-messages", OP_SHOW_LOG_MESSAGES },
335 { "tag-entry", OP_TAG },
336 { "tag-prefix", OP_TAG_PREFIX },
337 { "tag-prefix-cond", OP_TAG_PREFIX_COND },
338 { "top-page", OP_TOP_PAGE },
339 { "what-key", OP_WHAT_KEY },
340 // Deprecated
341 { "error-history", OP_SHOW_LOG_MESSAGES },
342 { "refresh", OP_REDRAW },
343 { NULL, 0 },
344};
345
349const struct MenuFuncOp OpIndex[] = { /* map: index */
350 { "alias-dialog", OP_ALIAS_DIALOG },
351#ifdef USE_AUTOCRYPT
352 { "autocrypt-acct-menu", OP_AUTOCRYPT_ACCT_MENU },
353#endif
354 { "bounce-message", OP_BOUNCE_MESSAGE },
355 { "break-thread", OP_MAIN_BREAK_THREAD },
356#ifdef USE_NNTP
357 { "catchup", OP_CATCHUP },
358#endif
359 { "change-folder", OP_MAIN_CHANGE_FOLDER },
360 { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY },
361#ifdef USE_NNTP
362 { "change-newsgroup", OP_MAIN_CHANGE_GROUP },
363 { "change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY },
364#endif
365#ifdef USE_NOTMUCH
366 { "change-vfolder", OP_MAIN_CHANGE_VFOLDER },
367#endif
368 { "check-traditional-pgp", OP_CHECK_TRADITIONAL },
369 { "clear-flag", OP_MAIN_CLEAR_FLAG },
370 { "collapse-all", OP_MAIN_COLLAPSE_ALL },
371 { "collapse-thread", OP_MAIN_COLLAPSE_THREAD },
372 { "compose-to-sender", OP_COMPOSE_TO_SENDER },
373 { "copy-message", OP_COPY_MESSAGE },
374 { "create-alias", OP_CREATE_ALIAS },
375 { "decode-copy", OP_DECODE_COPY },
376 { "decode-save", OP_DECODE_SAVE },
377 { "decrypt-copy", OP_DECRYPT_COPY },
378 { "decrypt-save", OP_DECRYPT_SAVE },
379 { "delete-message", OP_DELETE },
380 { "delete-pattern", OP_MAIN_DELETE_PATTERN },
381 { "delete-subthread", OP_DELETE_SUBTHREAD },
382 { "delete-thread", OP_DELETE_THREAD },
383 { "display-address", OP_DISPLAY_ADDRESS },
384 { "display-message", OP_DISPLAY_MESSAGE },
385 { "display-toggle-weed", OP_DISPLAY_HEADERS },
386 { "edit", OP_EDIT_RAW_MESSAGE },
387 { "edit-label", OP_EDIT_LABEL },
388 { "edit-or-view-raw-message", OP_EDIT_OR_VIEW_RAW_MESSAGE },
389 { "edit-raw-message", OP_EDIT_RAW_MESSAGE },
390 { "edit-type", OP_ATTACHMENT_EDIT_TYPE },
391#ifdef USE_NOTMUCH
392 { "entire-thread", OP_MAIN_ENTIRE_THREAD },
393#endif
394 { "exit", OP_EXIT },
395 { "extract-keys", OP_EXTRACT_KEYS },
396#ifdef USE_POP
397 { "fetch-mail", OP_MAIN_FETCH_MAIL },
398#endif
399 { "flag-message", OP_FLAG_MESSAGE },
400#ifdef USE_NNTP
401 { "followup-message", OP_FOLLOWUP },
402#endif
403 { "forget-passphrase", OP_FORGET_PASSPHRASE },
404 { "forward-message", OP_FORWARD_MESSAGE },
405#ifdef USE_NNTP
406 { "forward-to-group", OP_FORWARD_TO_GROUP },
407 { "get-children", OP_GET_CHILDREN },
408 { "get-message", OP_GET_MESSAGE },
409 { "get-parent", OP_GET_PARENT },
410#endif
411 { "group-chat-reply", OP_GROUP_CHAT_REPLY },
412 { "group-reply", OP_GROUP_REPLY },
413#ifdef USE_IMAP
414 { "imap-fetch-mail", OP_MAIN_IMAP_FETCH },
415 { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL },
416#endif
417 { "limit", OP_MAIN_LIMIT },
418 { "limit-current-thread", OP_LIMIT_CURRENT_THREAD },
419 { "link-threads", OP_MAIN_LINK_THREADS },
420 { "list-reply", OP_LIST_REPLY },
421 { "list-subscribe", OP_LIST_SUBSCRIBE },
422 { "list-unsubscribe", OP_LIST_UNSUBSCRIBE },
423 { "mail", OP_MAIL },
424 { "mail-key", OP_MAIL_KEY },
425 { "mailbox-list", OP_MAILBOX_LIST },
426 { "mark-message", OP_MARK_MSG },
427 { "modify-labels", OP_MAIN_MODIFY_TAGS },
428 { "modify-labels-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE },
429 { "modify-tags", OP_MAIN_MODIFY_TAGS },
430 { "modify-tags-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE },
431 { "next-new", OP_MAIN_NEXT_NEW },
432 { "next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD },
433 { "next-subthread", OP_MAIN_NEXT_SUBTHREAD },
434 { "next-thread", OP_MAIN_NEXT_THREAD },
435 { "next-undeleted", OP_MAIN_NEXT_UNDELETED },
436 { "next-unread", OP_MAIN_NEXT_UNREAD },
437 { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX },
438 { "parent-message", OP_MAIN_PARENT_MESSAGE },
439 { "pipe-entry", OP_PIPE },
440 { "pipe-message", OP_PIPE },
441#ifdef USE_NNTP
442 { "post-message", OP_POST },
443#endif
444 { "previous-new", OP_MAIN_PREV_NEW },
445 { "previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD },
446 { "previous-subthread", OP_MAIN_PREV_SUBTHREAD },
447 { "previous-thread", OP_MAIN_PREV_THREAD },
448 { "previous-undeleted", OP_MAIN_PREV_UNDELETED },
449 { "previous-unread", OP_MAIN_PREV_UNREAD },
450 { "print-message", OP_PRINT },
451 { "purge-message", OP_PURGE_MESSAGE },
452 { "purge-thread", OP_PURGE_THREAD },
453 { "quasi-delete", OP_MAIN_QUASI_DELETE },
454 { "query", OP_QUERY },
455 { "quit", OP_QUIT },
456 { "read-subthread", OP_MAIN_READ_SUBTHREAD },
457 { "read-thread", OP_MAIN_READ_THREAD },
458 { "recall-message", OP_RECALL_MESSAGE },
459#ifdef USE_NNTP
460 { "reconstruct-thread", OP_RECONSTRUCT_THREAD },
461#endif
462 { "reply", OP_REPLY },
463 { "resend-message", OP_RESEND },
464 { "root-message", OP_MAIN_ROOT_MESSAGE },
465 { "save-message", OP_SAVE },
466 { "set-flag", OP_MAIN_SET_FLAG },
467 { "show-limit", OP_MAIN_SHOW_LIMIT },
468 { "show-version", OP_VERSION },
469#ifdef USE_SIDEBAR
470 { "sidebar-first", OP_SIDEBAR_FIRST },
471 { "sidebar-last", OP_SIDEBAR_LAST },
472 { "sidebar-next", OP_SIDEBAR_NEXT },
473 { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW },
474 { "sidebar-open", OP_SIDEBAR_OPEN },
475 { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN },
476 { "sidebar-page-up", OP_SIDEBAR_PAGE_UP },
477 { "sidebar-prev", OP_SIDEBAR_PREV },
478 { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW },
479 { "sidebar-toggle-virtual", OP_SIDEBAR_TOGGLE_VIRTUAL },
480 { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE },
481#endif
482 { "sort-mailbox", OP_SORT },
483 { "sort-reverse", OP_SORT_REVERSE },
484 { "sync-mailbox", OP_MAIN_SYNC_FOLDER },
485 { "tag-pattern", OP_MAIN_TAG_PATTERN },
486 { "tag-subthread", OP_TAG_SUBTHREAD },
487 { "tag-thread", OP_TAG_THREAD },
488 { "toggle-new", OP_TOGGLE_NEW },
489 { "toggle-read", OP_TOGGLE_READ },
490 { "toggle-write", OP_TOGGLE_WRITE },
491 { "undelete-message", OP_UNDELETE },
492 { "undelete-pattern", OP_MAIN_UNDELETE_PATTERN },
493 { "undelete-subthread", OP_UNDELETE_SUBTHREAD },
494 { "undelete-thread", OP_UNDELETE_THREAD },
495 { "untag-pattern", OP_MAIN_UNTAG_PATTERN },
496#ifdef USE_NOTMUCH
497 { "vfolder-from-query", OP_MAIN_VFOLDER_FROM_QUERY },
498 { "vfolder-from-query-readonly", OP_MAIN_VFOLDER_FROM_QUERY_READONLY },
499 { "vfolder-window-backward", OP_MAIN_WINDOWED_VFOLDER_BACKWARD },
500 { "vfolder-window-forward", OP_MAIN_WINDOWED_VFOLDER_FORWARD },
501 { "vfolder-window-reset", OP_MAIN_WINDOWED_VFOLDER_RESET },
502#endif
503 { "view-attachments", OP_VIEW_ATTACHMENTS },
504 { "view-raw-message", OP_VIEW_RAW_MESSAGE },
505 // Deprecated
506 { "buffy-list", OP_MAILBOX_LIST },
507 { NULL, 0 },
508};
509
510#ifdef MIXMASTER
514const struct MenuFuncOp OpMix[] = { /* map: mixmaster */
515 { "accept", OP_MIX_USE },
516 { "append", OP_MIX_APPEND },
517 { "chain-next", OP_MIX_CHAIN_NEXT },
518 { "chain-prev", OP_MIX_CHAIN_PREV },
519 { "delete", OP_MIX_DELETE },
520 { "exit", OP_EXIT },
521 { "insert", OP_MIX_INSERT },
522 { NULL, 0 },
523};
524#endif /* MIXMASTER */
525
529const struct MenuFuncOp OpPager[] = { /* map: pager */
530 { "bottom", OP_PAGER_BOTTOM },
531 { "bounce-message", OP_BOUNCE_MESSAGE },
532 { "break-thread", OP_MAIN_BREAK_THREAD },
533 { "change-folder", OP_MAIN_CHANGE_FOLDER },
534 { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY },
535#ifdef USE_NNTP
536 { "change-newsgroup", OP_MAIN_CHANGE_GROUP },
537 { "change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY },
538#endif
539#ifdef USE_NOTMUCH
540 { "change-vfolder", OP_MAIN_CHANGE_VFOLDER },
541#endif
542 { "check-stats", OP_CHECK_STATS },
543 { "check-traditional-pgp", OP_CHECK_TRADITIONAL },
544 { "clear-flag", OP_MAIN_CLEAR_FLAG },
545 { "compose-to-sender", OP_COMPOSE_TO_SENDER },
546 { "copy-message", OP_COPY_MESSAGE },
547 { "create-alias", OP_CREATE_ALIAS },
548 { "decode-copy", OP_DECODE_COPY },
549 { "decode-save", OP_DECODE_SAVE },
550 { "decrypt-copy", OP_DECRYPT_COPY },
551 { "decrypt-save", OP_DECRYPT_SAVE },
552 { "delete-message", OP_DELETE },
553 { "delete-subthread", OP_DELETE_SUBTHREAD },
554 { "delete-thread", OP_DELETE_THREAD },
555 { "display-address", OP_DISPLAY_ADDRESS },
556 { "display-toggle-weed", OP_DISPLAY_HEADERS },
557 { "edit", OP_EDIT_RAW_MESSAGE },
558 { "edit-label", OP_EDIT_LABEL },
559 { "edit-or-view-raw-message", OP_EDIT_OR_VIEW_RAW_MESSAGE },
560 { "edit-raw-message", OP_EDIT_RAW_MESSAGE },
561 { "edit-type", OP_ATTACHMENT_EDIT_TYPE },
562 { "enter-command", OP_ENTER_COMMAND },
563#ifdef USE_NOTMUCH
564 { "entire-thread", OP_MAIN_ENTIRE_THREAD },
565#endif
566 { "exit", OP_EXIT },
567 { "extract-keys", OP_EXTRACT_KEYS },
568 { "flag-message", OP_FLAG_MESSAGE },
569#ifdef USE_NNTP
570 { "followup-message", OP_FOLLOWUP },
571#endif
572 { "forget-passphrase", OP_FORGET_PASSPHRASE },
573 { "forward-message", OP_FORWARD_MESSAGE },
574#ifdef USE_NNTP
575 { "forward-to-group", OP_FORWARD_TO_GROUP },
576#endif
577 { "group-chat-reply", OP_GROUP_CHAT_REPLY },
578 { "group-reply", OP_GROUP_REPLY },
579 { "half-down", OP_HALF_DOWN },
580 { "half-up", OP_HALF_UP },
581 { "help", OP_HELP },
582#ifdef USE_IMAP
583 { "imap-fetch-mail", OP_MAIN_IMAP_FETCH },
584 { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL },
585#endif
586 { "jump", OP_JUMP },
587 { "jump", OP_JUMP_1 },
588 { "jump", OP_JUMP_2 },
589 { "jump", OP_JUMP_3 },
590 { "jump", OP_JUMP_4 },
591 { "jump", OP_JUMP_5 },
592 { "jump", OP_JUMP_6 },
593 { "jump", OP_JUMP_7 },
594 { "jump", OP_JUMP_8 },
595 { "jump", OP_JUMP_9 },
596 { "link-threads", OP_MAIN_LINK_THREADS },
597 { "list-reply", OP_LIST_REPLY },
598 { "list-subscribe", OP_LIST_SUBSCRIBE },
599 { "list-unsubscribe", OP_LIST_UNSUBSCRIBE },
600 { "mail", OP_MAIL },
601 { "mail-key", OP_MAIL_KEY },
602 { "mailbox-list", OP_MAILBOX_LIST },
603 { "mark-as-new", OP_TOGGLE_NEW },
604 { "modify-labels", OP_MAIN_MODIFY_TAGS },
605 { "modify-labels-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE },
606 { "modify-tags", OP_MAIN_MODIFY_TAGS },
607 { "modify-tags-then-hide", OP_MAIN_MODIFY_TAGS_THEN_HIDE },
608 { "next-entry", OP_NEXT_ENTRY },
609 { "next-line", OP_NEXT_LINE },
610 { "next-new", OP_MAIN_NEXT_NEW },
611 { "next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD },
612 { "next-page", OP_NEXT_PAGE },
613 { "next-subthread", OP_MAIN_NEXT_SUBTHREAD },
614 { "next-thread", OP_MAIN_NEXT_THREAD },
615 { "next-undeleted", OP_MAIN_NEXT_UNDELETED },
616 { "next-unread", OP_MAIN_NEXT_UNREAD },
617 { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX },
618 { "parent-message", OP_MAIN_PARENT_MESSAGE },
619 { "pipe-entry", OP_PIPE },
620 { "pipe-message", OP_PIPE },
621#ifdef USE_NNTP
622 { "post-message", OP_POST },
623#endif
624 { "previous-entry", OP_PREV_ENTRY },
625 { "previous-line", OP_PREV_LINE },
626 { "previous-new", OP_MAIN_PREV_NEW },
627 { "previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD },
628 { "previous-page", OP_PREV_PAGE },
629 { "previous-subthread", OP_MAIN_PREV_SUBTHREAD },
630 { "previous-thread", OP_MAIN_PREV_THREAD },
631 { "previous-undeleted", OP_MAIN_PREV_UNDELETED },
632 { "previous-unread", OP_MAIN_PREV_UNREAD },
633 { "print-entry", OP_ATTACHMENT_PRINT },
634 { "print-message", OP_PRINT },
635 { "purge-message", OP_PURGE_MESSAGE },
636 { "purge-thread", OP_PURGE_THREAD },
637 { "quasi-delete", OP_MAIN_QUASI_DELETE },
638 { "quit", OP_QUIT },
639 { "read-subthread", OP_MAIN_READ_SUBTHREAD },
640 { "read-thread", OP_MAIN_READ_THREAD },
641 { "recall-message", OP_RECALL_MESSAGE },
642#ifdef USE_NNTP
643 { "reconstruct-thread", OP_RECONSTRUCT_THREAD },
644#endif
645 { "redraw-screen", OP_REDRAW },
646 { "reply", OP_REPLY },
647 { "resend-message", OP_RESEND },
648 { "root-message", OP_MAIN_ROOT_MESSAGE },
649 { "save-entry", OP_ATTACHMENT_SAVE },
650 { "save-message", OP_SAVE },
651 { "search", OP_SEARCH },
652 { "search-next", OP_SEARCH_NEXT },
653 { "search-opposite", OP_SEARCH_OPPOSITE },
654 { "search-reverse", OP_SEARCH_REVERSE },
655 { "search-toggle", OP_SEARCH_TOGGLE },
656 { "set-flag", OP_MAIN_SET_FLAG },
657 { "shell-escape", OP_SHELL_ESCAPE },
658 { "show-log-messages", OP_SHOW_LOG_MESSAGES },
659 { "show-version", OP_VERSION },
660#ifdef USE_SIDEBAR
661 { "sidebar-first", OP_SIDEBAR_FIRST },
662 { "sidebar-last", OP_SIDEBAR_LAST },
663 { "sidebar-next", OP_SIDEBAR_NEXT },
664 { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW },
665 { "sidebar-open", OP_SIDEBAR_OPEN },
666 { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN },
667 { "sidebar-page-up", OP_SIDEBAR_PAGE_UP },
668 { "sidebar-prev", OP_SIDEBAR_PREV },
669 { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW },
670 { "sidebar-toggle-virtual", OP_SIDEBAR_TOGGLE_VIRTUAL },
671 { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE },
672#endif
673 { "skip-headers", OP_PAGER_SKIP_HEADERS },
674 { "skip-quoted", OP_PAGER_SKIP_QUOTED },
675 { "sort-mailbox", OP_SORT },
676 { "sort-reverse", OP_SORT_REVERSE },
677 { "sync-mailbox", OP_MAIN_SYNC_FOLDER },
678 { "tag-message", OP_TAG },
679 { "toggle-quoted", OP_PAGER_HIDE_QUOTED },
680 { "toggle-write", OP_TOGGLE_WRITE },
681 { "top", OP_PAGER_TOP },
682 { "undelete-message", OP_UNDELETE },
683 { "undelete-subthread", OP_UNDELETE_SUBTHREAD },
684 { "undelete-thread", OP_UNDELETE_THREAD },
685#ifdef USE_NOTMUCH
686 { "vfolder-from-query", OP_MAIN_VFOLDER_FROM_QUERY },
687 { "vfolder-from-query-readonly", OP_MAIN_VFOLDER_FROM_QUERY_READONLY },
688#endif
689 { "view-attachments", OP_VIEW_ATTACHMENTS },
690 { "view-raw-message", OP_VIEW_RAW_MESSAGE },
691 { "what-key", OP_WHAT_KEY },
692 // Deprecated
693 { "buffy-list", OP_MAILBOX_LIST },
694 { "error-history", OP_SHOW_LOG_MESSAGES },
695 { NULL, 0 },
696};
697
701const struct MenuFuncOp OpPgp[] = { /* map: pgp */
702 { "exit", OP_EXIT },
703 { "verify-key", OP_VERIFY_KEY },
704 { "view-name", OP_VIEW_ID },
705 { NULL, 0 },
706};
707
711const struct MenuFuncOp OpPostpone[] = { /* map: postpone */
712 { "exit", OP_EXIT },
713 { "delete-entry", OP_DELETE },
714 { "undelete-entry", OP_UNDELETE },
715 { NULL, 0 },
716};
717
721const struct MenuFuncOp OpQuery[] = { /* map: query */
722 { "create-alias", OP_CREATE_ALIAS },
723 { "exit", OP_EXIT },
724 { "limit", OP_MAIN_LIMIT },
725 { "mail", OP_MAIL },
726 { "query", OP_QUERY },
727 { "query-append", OP_QUERY_APPEND },
728 { "sort", OP_SORT },
729 { "sort-reverse", OP_SORT_REVERSE },
730 { NULL, 0 },
731};
732
736const struct MenuFuncOp OpSmime[] = { /* map: smime */
737 { "exit", OP_EXIT },
738#ifdef CRYPT_BACKEND_GPGME
739 { "verify-key", OP_VERIFY_KEY },
740 { "view-name", OP_VIEW_ID },
741#endif
742 { NULL, 0 },
743};
744
748const struct MenuOpSeq AliasDefaultBindings[] = { /* map: alias */
749 { OP_DELETE, "d" },
750 { OP_EXIT, "q" },
751 { OP_MAIL, "m" },
752 { OP_MAIN_LIMIT, "l" },
753 { OP_SORT, "o" },
754 { OP_SORT_REVERSE, "O" },
755 { OP_TAG, "<space>" },
756 { OP_UNDELETE, "u" },
757 { 0, NULL },
758};
759
763const struct MenuOpSeq AttachDefaultBindings[] = { /* map: attachment */
764 { OP_ATTACHMENT_COLLAPSE, "v" },
765 { OP_ATTACHMENT_DELETE, "d" },
766 { OP_ATTACHMENT_EDIT_TYPE, "\005" }, // <Ctrl-E>
767 { OP_EXIT, "q" },
768 { OP_PIPE, "|" },
769 { OP_ATTACHMENT_PRINT, "p" },
770 { OP_ATTACHMENT_SAVE, "s" },
771 { OP_ATTACHMENT_UNDELETE, "u" },
772 { OP_ATTACHMENT_VIEW, "<keypadenter>" },
773 { OP_ATTACHMENT_VIEW, "\n" }, // <Enter>
774 { OP_ATTACHMENT_VIEW, "\r" }, // <Return>
775 { OP_ATTACHMENT_VIEW_MAILCAP, "m" },
776 { OP_ATTACHMENT_VIEW_TEXT, "T" },
777 { OP_BOUNCE_MESSAGE, "b" },
778 { OP_CHECK_TRADITIONAL, "\033P" }, // <Alt-P>
779 { OP_DISPLAY_HEADERS, "h" },
780 { OP_EXTRACT_KEYS, "\013" }, // <Ctrl-K>
781 { OP_FORGET_PASSPHRASE, "\006" }, // <Ctrl-F>
782 { OP_FORWARD_MESSAGE, "f" },
783 { OP_GROUP_REPLY, "g" },
784 { OP_LIST_REPLY, "L" },
785 { OP_REPLY, "r" },
786 { OP_RESEND, "\033e" }, // <Alt-e>
787 { 0, NULL },
788};
789
790#ifdef USE_AUTOCRYPT
794const struct MenuOpSeq AutocryptAcctDefaultBindings[] = { /* map: autocrypt account */
795 { OP_AUTOCRYPT_CREATE_ACCT, "c" },
796 { OP_AUTOCRYPT_DELETE_ACCT, "D" },
797 { OP_AUTOCRYPT_TOGGLE_ACTIVE, "a" },
798 { OP_AUTOCRYPT_TOGGLE_PREFER, "p" },
799 { OP_EXIT, "q" },
800 { 0, NULL }
801};
802#endif
803
807const struct MenuOpSeq BrowserDefaultBindings[] = { /* map: browser */
808 { OP_BROWSER_GOTO_FOLDER, "=" },
809 { OP_BROWSER_NEW_FILE, "N" },
810#if defined(USE_IMAP) || defined(USE_NNTP)
811 { OP_BROWSER_SUBSCRIBE, "s" },
812#endif
813 { OP_BROWSER_TELL, "@" },
814#ifdef USE_IMAP
815 { OP_BROWSER_TOGGLE_LSUB, "T" },
816#endif
817#if defined(USE_IMAP) || defined(USE_NNTP)
818 { OP_BROWSER_UNSUBSCRIBE, "u" },
819#endif
820 { OP_BROWSER_VIEW_FILE, " " }, // <Space>
821 { OP_CHANGE_DIRECTORY, "c" },
822#ifdef USE_IMAP
823 { OP_CREATE_MAILBOX, "C" },
824 { OP_DELETE_MAILBOX, "d" },
825#endif
826 { OP_ENTER_MASK, "m" },
827 { OP_EXIT, "q" },
828 { OP_GOTO_PARENT, "p" },
829#ifdef USE_NNTP
830#endif
831 { OP_MAILBOX_LIST, "." },
832#ifdef USE_IMAP
833 { OP_RENAME_MAILBOX, "r" },
834#endif
835 { OP_SORT, "o" },
836 { OP_SORT_REVERSE, "O" },
837 { OP_TOGGLE_MAILBOXES, "\t" }, // <Tab>
838 { 0, NULL },
839};
840
844const struct MenuOpSeq ComposeDefaultBindings[] = { /* map: compose */
845 { OP_ATTACHMENT_ATTACH_FILE, "a" },
846 { OP_ATTACHMENT_ATTACH_KEY, "\033k" }, // <Alt-k>
847 { OP_ATTACHMENT_ATTACH_MESSAGE, "A" },
848 { OP_ATTACHMENT_DETACH, "D" },
849 { OP_ATTACHMENT_EDIT_CONTENT_ID, "\033i" }, // <Alt-i>
850 { OP_ATTACHMENT_EDIT_DESCRIPTION, "d" },
851 { OP_ATTACHMENT_EDIT_ENCODING, "\005" }, // <Ctrl-E>
852 { OP_ATTACHMENT_EDIT_LANGUAGE, "\014" }, // <Ctrl-L>
853 { OP_ATTACHMENT_EDIT_MIME, "m" },
854 { OP_ATTACHMENT_EDIT_TYPE, "\024" }, // <Ctrl-T>
855 { OP_ATTACHMENT_FILTER, "F" },
856 { OP_ATTACHMENT_GET_ATTACHMENT, "G" },
857 { OP_ATTACHMENT_GROUP_ALTS, "&" },
858 { OP_ATTACHMENT_GROUP_LINGUAL, "^" },
859 { OP_ATTACHMENT_GROUP_RELATED, "%" },
860 { OP_ATTACHMENT_MOVE_DOWN, "+" },
861 { OP_ATTACHMENT_MOVE_UP, "-" },
862 { OP_ATTACHMENT_NEW_MIME, "n" },
863 { OP_EXIT, "q" },
864 { OP_PIPE, "|" },
865 { OP_ATTACHMENT_PRINT, "l" },
866 { OP_ATTACHMENT_RENAME_ATTACHMENT, "\017" }, // <Ctrl-O>
867 { OP_ATTACHMENT_SAVE, "C" },
868 { OP_ATTACHMENT_TOGGLE_DISPOSITION, "\004" }, // <Ctrl-D>
869 { OP_ATTACHMENT_TOGGLE_UNLINK, "u" },
870 { OP_ATTACHMENT_UNGROUP, "#" },
871 { OP_ATTACHMENT_UPDATE_ENCODING, "U" },
872 { OP_ATTACHMENT_VIEW, "<keypadenter>" },
873 { OP_ATTACHMENT_VIEW, "\n" }, // <Enter>
874 { OP_ATTACHMENT_VIEW, "\r" }, // <Return>
875#ifdef USE_AUTOCRYPT
876 { OP_COMPOSE_AUTOCRYPT_MENU, "o" },
877#endif
878 { OP_COMPOSE_EDIT_FILE, "\033e" }, // <Alt-e>
879 { OP_COMPOSE_EDIT_MESSAGE, "e" },
880 { OP_COMPOSE_ISPELL, "i" },
881#ifdef MIXMASTER
882 { OP_COMPOSE_MIX, "M" },
883#endif
884 { OP_COMPOSE_PGP_MENU, "p" },
885 { OP_COMPOSE_POSTPONE_MESSAGE, "P" },
886 { OP_COMPOSE_RENAME_FILE, "R" },
887 { OP_COMPOSE_SEND_MESSAGE, "y" },
888 { OP_COMPOSE_SMIME_MENU, "S" },
889 { OP_COMPOSE_WRITE_MESSAGE, "w" },
890 { OP_DISPLAY_HEADERS, "h" },
891 { OP_ENVELOPE_EDIT_BCC, "b" },
892 { OP_ENVELOPE_EDIT_CC, "c" },
893 { OP_ENVELOPE_EDIT_FCC, "f" },
894 { OP_ENVELOPE_EDIT_FROM, "\033f" }, // <Alt-f>
895 { OP_ENVELOPE_EDIT_HEADERS, "E" },
896 { OP_ENVELOPE_EDIT_REPLY_TO, "r" },
897 { OP_ENVELOPE_EDIT_SUBJECT, "s" },
898 { OP_ENVELOPE_EDIT_TO, "t" },
899 { OP_FORGET_PASSPHRASE, "\006" }, // <Ctrl-F>
900 { OP_TAG, "T" },
901 { 0, NULL },
902};
903
907const struct MenuOpSeq EditorDefaultBindings[] = { /* map: editor */
908 { OP_EDITOR_BACKSPACE, "<backspace>" },
909 { OP_EDITOR_BACKSPACE, "\010" }, // <Ctrl-H>
910 { OP_EDITOR_BACKSPACE, "\177" }, // <Backspace>
911 { OP_EDITOR_BACKWARD_CHAR, "<left>" },
912 { OP_EDITOR_BACKWARD_CHAR, "\002" }, // <Ctrl-B>
913 { OP_EDITOR_BACKWARD_WORD, "\033b" }, // <Alt-b>
914 { OP_EDITOR_BOL, "<home>" },
915 { OP_EDITOR_BOL, "\001" }, // <Ctrl-A>
916 { OP_EDITOR_CAPITALIZE_WORD, "\033c" }, // <Alt-c>
917 { OP_EDITOR_COMPLETE, "\t" }, // <Tab>
918 { OP_EDITOR_COMPLETE_QUERY, "\024" }, // <Ctrl-T>
919 { OP_EDITOR_DELETE_CHAR, "<delete>" },
920 { OP_EDITOR_DELETE_CHAR, "\004" }, // <Ctrl-D>
921 { OP_EDITOR_DOWNCASE_WORD, "\033l" }, // <Alt-l>
922 { OP_EDITOR_EOL, "<end>" },
923 { OP_EDITOR_EOL, "\005" }, // <Ctrl-E>
924 { OP_EDITOR_FORWARD_CHAR, "<right>" },
925 { OP_EDITOR_FORWARD_CHAR, "\006" }, // <Ctrl-F>
926 { OP_EDITOR_FORWARD_WORD, "\033f" }, // <Alt-f>
927 { OP_EDITOR_HISTORY_DOWN, "<down>" },
928 { OP_EDITOR_HISTORY_DOWN, "\016" }, // <Ctrl-N>
929 { OP_EDITOR_HISTORY_SEARCH, "\022" }, // <Ctrl-R>
930 { OP_EDITOR_HISTORY_UP, "<up>" },
931 { OP_EDITOR_HISTORY_UP, "\020" }, // <Ctrl-P>
932 { OP_EDITOR_KILL_EOL, "\013" }, // <Ctrl-K>
933 { OP_EDITOR_KILL_EOW, "\033d" }, // <Alt-d>
934 { OP_EDITOR_KILL_LINE, "\025" }, // <Ctrl-U>
935 { OP_EDITOR_KILL_WORD, "\027" }, // <Ctrl-W>
936 { OP_EDITOR_MAILBOX_CYCLE, " " }, // <Space>
937 { OP_EDITOR_QUOTE_CHAR, "\026" }, // <Ctrl-V>
938 { OP_EDITOR_UPCASE_WORD, "\033u" }, // <Alt-u>
939 { 0, NULL },
940};
941
945const struct MenuOpSeq GenericDefaultBindings[] = { /* map: generic */
946 { OP_BOTTOM_PAGE, "L" },
947 { OP_ENTER_COMMAND, ":" },
948 { OP_FIRST_ENTRY, "<home>" },
949 { OP_FIRST_ENTRY, "=" },
950 { OP_GENERIC_SELECT_ENTRY, "<keypadenter>" },
951 { OP_GENERIC_SELECT_ENTRY, "\n" }, // <Enter>
952 { OP_GENERIC_SELECT_ENTRY, "\r" }, // <Return>
953 { OP_HALF_DOWN, "]" },
954 { OP_HALF_UP, "[" },
955 { OP_HELP, "?" },
956 { OP_JUMP_1, "1" },
957 { OP_JUMP_2, "2" },
958 { OP_JUMP_3, "3" },
959 { OP_JUMP_4, "4" },
960 { OP_JUMP_5, "5" },
961 { OP_JUMP_6, "6" },
962 { OP_JUMP_7, "7" },
963 { OP_JUMP_8, "8" },
964 { OP_JUMP_9, "9" },
965 { OP_LAST_ENTRY, "*" },
966 { OP_LAST_ENTRY, "<end>" },
967 { OP_MIDDLE_PAGE, "M" },
968 { OP_NEXT_ENTRY, "<down>" },
969 { OP_NEXT_ENTRY, "j" },
970 { OP_NEXT_LINE, ">" },
971 { OP_NEXT_PAGE, "<pagedown>" },
972 { OP_NEXT_PAGE, "<right>" },
973 { OP_NEXT_PAGE, "z" },
974 { OP_PREV_ENTRY, "<up>" },
975 { OP_PREV_ENTRY, "k" },
976 { OP_PREV_LINE, "<" },
977 { OP_PREV_PAGE, "<left>" },
978 { OP_PREV_PAGE, "<pageup>" },
979 { OP_PREV_PAGE, "Z" },
980 { OP_REDRAW, "\014" }, // <Ctrl-L>
981 { OP_SEARCH, "/" },
982 { OP_SEARCH_NEXT, "n" },
983 { OP_SEARCH_REVERSE, "\033/" }, // <Alt-/>
984 { OP_SHELL_ESCAPE, "!" },
985 { OP_TAG, "t" },
986 { OP_TAG_PREFIX, ";" },
987 { OP_TOP_PAGE, "H" },
988 { 0, NULL },
989};
990
994const struct MenuOpSeq IndexDefaultBindings[] = { /* map: index */
995 { OP_ATTACHMENT_EDIT_TYPE, "\005" }, // <Ctrl-E>
996#ifdef USE_AUTOCRYPT
997 { OP_AUTOCRYPT_ACCT_MENU, "A" },
998#endif
999 { OP_BOUNCE_MESSAGE, "b" },
1000 { OP_CHECK_TRADITIONAL, "\033P" }, // <Alt-P>
1001 { OP_COPY_MESSAGE, "C" },
1002 { OP_CREATE_ALIAS, "a" },
1003 { OP_DECODE_COPY, "\033C" }, // <Alt-C>
1004 { OP_DECODE_SAVE, "\033s" }, // <Alt-s>
1005 { OP_DELETE, "d" },
1006 { OP_DELETE_SUBTHREAD, "\033d" }, // <Alt-d>
1007 { OP_DELETE_THREAD, "\004" }, // <Ctrl-D>
1008 { OP_DISPLAY_ADDRESS, "@" },
1009 { OP_DISPLAY_HEADERS, "h" },
1010 { OP_DISPLAY_MESSAGE, " " }, // <Space>
1011 { OP_DISPLAY_MESSAGE, "<keypadenter>" },
1012 { OP_DISPLAY_MESSAGE, "\n" }, // <Enter>
1013 { OP_DISPLAY_MESSAGE, "\r" }, // <Return>
1014 { OP_EDIT_LABEL, "Y" },
1015 { OP_EDIT_OR_VIEW_RAW_MESSAGE, "e" },
1016 { OP_EXIT, "x" },
1017 { OP_EXTRACT_KEYS, "\013" }, // <Ctrl-K>
1018 { OP_FLAG_MESSAGE, "F" },
1019 { OP_FORGET_PASSPHRASE, "\006" }, // <Ctrl-F>
1020 { OP_FORWARD_MESSAGE, "f" },
1021 { OP_GROUP_REPLY, "g" },
1022 { OP_LIST_REPLY, "L" },
1023 { OP_MAIL, "m" },
1024 { OP_MAILBOX_LIST, "." },
1025 { OP_MAIL_KEY, "\033k" }, // <Alt-k>
1026 { OP_MAIN_BREAK_THREAD, "#" },
1027 { OP_MAIN_CHANGE_FOLDER, "c" },
1028 { OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" }, // <Alt-c>
1029#ifdef USE_NNTP
1030 { OP_MAIN_CHANGE_GROUP, "i" },
1031 { OP_MAIN_CHANGE_GROUP_READONLY, "\033i" }, // <Alt-i>
1032#endif
1033 { OP_MAIN_CLEAR_FLAG, "W" },
1034 { OP_MAIN_COLLAPSE_ALL, "\033V" }, // <Alt-V>
1035 { OP_MAIN_COLLAPSE_THREAD, "\033v" }, // <Alt-v>
1036 { OP_MAIN_DELETE_PATTERN, "D" },
1037#ifdef USE_POP
1038 { OP_MAIN_FETCH_MAIL, "G" },
1039#endif
1040 { OP_MAIN_LIMIT, "l" },
1041 { OP_MAIN_LINK_THREADS, "&" },
1042 { OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t" }, // <Tab>
1043 { OP_MAIN_NEXT_SUBTHREAD, "\033n" }, // <Alt-n>
1044 { OP_MAIN_NEXT_THREAD, "\016" }, // <Ctrl-N>
1045 { OP_MAIN_NEXT_UNDELETED, "<down>" },
1046 { OP_MAIN_NEXT_UNDELETED, "j" },
1047 { OP_MAIN_PARENT_MESSAGE, "P" },
1048 { OP_MAIN_PREV_NEW_THEN_UNREAD, "\033\t" }, // <Alt->
1049 { OP_MAIN_PREV_SUBTHREAD, "\033p" }, // <Alt-p>
1050 { OP_MAIN_PREV_THREAD, "\020" }, // <Ctrl-P>
1051 { OP_MAIN_PREV_UNDELETED, "<up>" },
1052 { OP_MAIN_PREV_UNDELETED, "k" },
1053 { OP_MAIN_READ_SUBTHREAD, "\033r" }, // <Alt-r>
1054 { OP_MAIN_READ_THREAD, "\022" }, // <Ctrl-R>
1055 { OP_MAIN_SET_FLAG, "w" },
1056 { OP_MAIN_SHOW_LIMIT, "\033l" }, // <Alt-l>
1057 { OP_MAIN_SYNC_FOLDER, "$" },
1058 { OP_MAIN_TAG_PATTERN, "T" },
1059 { OP_MAIN_UNDELETE_PATTERN, "U" },
1060 { OP_MAIN_UNTAG_PATTERN, "\024" }, // <Ctrl-T>
1061 { OP_MARK_MSG, "~" },
1062 { OP_NEXT_ENTRY, "J" },
1063 { OP_PIPE, "|" },
1064 { OP_PREV_ENTRY, "K" },
1065 { OP_PRINT, "p" },
1066 { OP_QUERY, "Q" },
1067 { OP_QUIT, "q" },
1068 { OP_RECALL_MESSAGE, "R" },
1069 { OP_REPLY, "r" },
1070 { OP_RESEND, "\033e" }, // <Alt-e>
1071 { OP_SAVE, "s" },
1072 { OP_SHOW_LOG_MESSAGES, "M" },
1073 { OP_SORT, "o" },
1074 { OP_SORT_REVERSE, "O" },
1075 { OP_TAG_THREAD, "\033t" }, // <Alt-t>
1076 { OP_TOGGLE_NEW, "N" },
1077 { OP_TOGGLE_WRITE, "%" },
1078 { OP_UNDELETE, "u" },
1079 { OP_UNDELETE_SUBTHREAD, "\033u" }, // <Alt-u>
1080 { OP_UNDELETE_THREAD, "\025" }, // <Ctrl-U>
1081 { OP_VERSION, "V" },
1082 { OP_VIEW_ATTACHMENTS, "v" },
1083 { 0, NULL },
1084};
1085
1086#ifdef MIXMASTER
1090const struct MenuOpSeq MixDefaultBindings[] = { /* map: mixmaster */
1091 { OP_EXIT, "q" },
1092 { OP_GENERIC_SELECT_ENTRY, "<space>" },
1093 { OP_MIX_APPEND, "a" },
1094 { OP_MIX_CHAIN_NEXT, "<right>" },
1095 { OP_MIX_CHAIN_NEXT, "l" },
1096 { OP_MIX_CHAIN_PREV, "<left>" },
1097 { OP_MIX_CHAIN_PREV, "h" },
1098 { OP_MIX_DELETE, "d" },
1099 { OP_MIX_INSERT, "i" },
1100 { OP_MIX_USE, "<keypadenter>" },
1101 { OP_MIX_USE, "\n" }, // <Enter>
1102 { OP_MIX_USE, "\r" }, // <Return>
1103 { 0, NULL },
1104};
1105#endif /* MIXMASTER */
1106
1110const struct MenuOpSeq PagerDefaultBindings[] = { /* map: pager */
1111 { OP_ATTACHMENT_EDIT_TYPE, "\005" }, // <Ctrl-E>
1112 { OP_BOUNCE_MESSAGE, "b" },
1113 { OP_CHECK_TRADITIONAL, "\033P" }, // <Alt-P>
1114 { OP_COPY_MESSAGE, "C" },
1115 { OP_CREATE_ALIAS, "a" },
1116 { OP_DECODE_COPY, "\033C" }, // <Alt-C>
1117 { OP_DECODE_SAVE, "\033s" }, // <Alt-s>
1118 { OP_DELETE, "d" },
1119 { OP_DELETE_SUBTHREAD, "\033d" }, // <Alt-d>
1120 { OP_DELETE_THREAD, "\004" }, // <Ctrl-D>
1121 { OP_DISPLAY_ADDRESS, "@" },
1122 { OP_DISPLAY_HEADERS, "h" },
1123 { OP_EDIT_LABEL, "Y" },
1124 { OP_EDIT_OR_VIEW_RAW_MESSAGE, "e" },
1125 { OP_ENTER_COMMAND, ":" },
1126 { OP_EXIT, "i" },
1127 { OP_EXIT, "q" },
1128 { OP_EXIT, "x" },
1129 { OP_EXTRACT_KEYS, "\013" }, // <Ctrl-K>
1130 { OP_FLAG_MESSAGE, "F" },
1131 { OP_FORGET_PASSPHRASE, "\006" }, // <Ctrl-F>
1132 { OP_FORWARD_MESSAGE, "f" },
1133 { OP_GROUP_REPLY, "g" },
1134 { OP_HELP, "?" },
1135 { OP_JUMP_1, "1" },
1136 { OP_JUMP_2, "2" },
1137 { OP_JUMP_3, "3" },
1138 { OP_JUMP_4, "4" },
1139 { OP_JUMP_5, "5" },
1140 { OP_JUMP_6, "6" },
1141 { OP_JUMP_7, "7" },
1142 { OP_JUMP_8, "8" },
1143 { OP_JUMP_9, "9" },
1144 { OP_LIST_REPLY, "L" },
1145 { OP_MAIL, "m" },
1146 { OP_MAILBOX_LIST, "." },
1147 { OP_MAIL_KEY, "\033k" }, // <Alt-k>
1148 { OP_MAIN_BREAK_THREAD, "#" },
1149 { OP_MAIN_CHANGE_FOLDER, "c" },
1150 { OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" }, // <Alt-c>
1151 { OP_MAIN_CLEAR_FLAG, "W" },
1152 { OP_MAIN_LINK_THREADS, "&" },
1153 { OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t" }, // <Tab>
1154 { OP_MAIN_NEXT_SUBTHREAD, "\033n" }, // <Alt-n>
1155 { OP_MAIN_NEXT_THREAD, "\016" }, // <Ctrl-N>
1156 { OP_MAIN_NEXT_UNDELETED, "<down>" },
1157 { OP_MAIN_NEXT_UNDELETED, "<right>" },
1158 { OP_MAIN_NEXT_UNDELETED, "j" },
1159 { OP_MAIN_PARENT_MESSAGE, "P" },
1160 { OP_MAIN_PREV_SUBTHREAD, "\033p" }, // <Alt-p>
1161 { OP_MAIN_PREV_THREAD, "\020" }, // <Ctrl-P>
1162 { OP_MAIN_PREV_UNDELETED, "<left>" },
1163 { OP_MAIN_PREV_UNDELETED, "<up>" },
1164 { OP_MAIN_PREV_UNDELETED, "k" },
1165 { OP_MAIN_READ_SUBTHREAD, "\033r" }, // <Alt-r>
1166 { OP_MAIN_READ_THREAD, "\022" }, // <Ctrl-R>
1167 { OP_MAIN_SET_FLAG, "w" },
1168 { OP_MAIN_SYNC_FOLDER, "$" },
1169 { OP_NEXT_ENTRY, "J" },
1170 { OP_NEXT_LINE, "<keypadenter>" },
1171 { OP_NEXT_LINE, "\n" }, // <Enter>
1172 { OP_NEXT_LINE, "\r" }, // <Return>
1173 { OP_NEXT_PAGE, " " }, // <Space>
1174 { OP_NEXT_PAGE, "<pagedown>" },
1175 { OP_PAGER_BOTTOM, "<end>" },
1176 { OP_PAGER_HIDE_QUOTED, "T" },
1177 { OP_PAGER_SKIP_HEADERS, "H" },
1178 { OP_PAGER_SKIP_QUOTED, "S" },
1179 { OP_PAGER_TOP, "<home>" },
1180 { OP_PAGER_TOP, "^" },
1181 { OP_PIPE, "|" },
1182 { OP_PREV_ENTRY, "K" },
1183 { OP_PREV_LINE, "<backspace>" },
1184 { OP_PREV_PAGE, "-" },
1185 { OP_PREV_PAGE, "<pageup>" },
1186 { OP_PRINT, "p" },
1187 { OP_QUIT, "Q" },
1188 { OP_RECALL_MESSAGE, "R" },
1189 { OP_REDRAW, "\014" }, // <Ctrl-L>
1190 { OP_REPLY, "r" },
1191 { OP_RESEND, "\033e" }, // <Alt-e>
1192 { OP_SAVE, "s" },
1193 { OP_SEARCH, "/" },
1194 { OP_SEARCH_NEXT, "n" },
1195 { OP_SEARCH_REVERSE, "\033/" }, // <Alt-/>
1196 { OP_SEARCH_TOGGLE, "\\" }, // <Backslash>
1197 { OP_SHELL_ESCAPE, "!" },
1198 { OP_SORT, "o" },
1199 { OP_SORT_REVERSE, "O" },
1200 { OP_TAG, "t" },
1201 { OP_TOGGLE_NEW, "N" },
1202 { OP_TOGGLE_WRITE, "%" },
1203 { OP_UNDELETE, "u" },
1204 { OP_UNDELETE_SUBTHREAD, "\033u" }, // <Alt-u>
1205 { OP_UNDELETE_THREAD, "\025" }, // <Ctrl-U>
1206 { OP_VERSION, "V" },
1207 { OP_VIEW_ATTACHMENTS, "v" },
1208 { 0, NULL },
1209};
1210
1214const struct MenuOpSeq PgpDefaultBindings[] = { /* map: pgp */
1215 { OP_EXIT, "q" },
1216 { OP_VERIFY_KEY, "c" },
1217 { OP_VIEW_ID, "%" },
1218 { 0, NULL },
1219};
1220
1224const struct MenuOpSeq PostDefaultBindings[] = { /* map: postpone */
1225 { OP_DELETE, "d" },
1226 { OP_EXIT, "q" },
1227 { OP_UNDELETE, "u" },
1228 { 0, NULL },
1229};
1230
1234const struct MenuOpSeq QueryDefaultBindings[] = { /* map: query */
1235 { OP_CREATE_ALIAS, "a" },
1236 { OP_EXIT, "q" },
1237 { OP_MAIL, "m" },
1238 { OP_MAIN_LIMIT, "l" },
1239 { OP_QUERY, "Q" },
1240 { OP_QUERY_APPEND, "A" },
1241 { OP_SORT, "o" },
1242 { OP_SORT_REVERSE, "O" },
1243 { 0, NULL },
1244};
1245
1249const struct MenuOpSeq SmimeDefaultBindings[] = { /* map: smime */
1250 { OP_EXIT, "q" },
1251#ifdef CRYPT_BACKEND_GPGME
1252 { OP_VERIFY_KEY, "c" },
1253 { OP_VIEW_ID, "%" },
1254#endif
1255 { 0, NULL },
1256};
1257
1258// clang-format on
const struct MenuFuncOp OpQuery[]
Functions for the external Query Menu.
Definition: functions.c:721
const struct MenuFuncOp OpMix[]
Functions for the Mixmaster Menu.
Definition: functions.c:514
const struct MenuFuncOp OpAttach[]
Functions for the Attachment Menu.
Definition: functions.c:69
const struct MenuOpSeq AutocryptAcctDefaultBindings[]
Key bindings for the Autocrypt Account.
Definition: functions.c:794
const struct MenuOpSeq PostDefaultBindings[]
Key bindings for the Postpone Menu.
Definition: functions.c:1224
const struct MenuFuncOp OpIndex[]
Functions for the Index Menu.
Definition: functions.c:349
const struct MenuOpSeq EditorDefaultBindings[]
Key bindings for the Editor Menu.
Definition: functions.c:907
const struct MenuFuncOp OpGeneric[]
Functions for the Generic Menu.
Definition: functions.c:288
const struct MenuFuncOp OpCompose[]
Functions for the Compose Menu.
Definition: functions.c:177
const struct MenuOpSeq QueryDefaultBindings[]
Key bindings for the external Query Menu.
Definition: functions.c:1234
const struct MenuOpSeq BrowserDefaultBindings[]
Key bindings for the file Browser Menu.
Definition: functions.c:807
const struct MenuFuncOp OpSmime[]
Functions for the Smime Menu.
Definition: functions.c:736
const struct MenuOpSeq AliasDefaultBindings[]
Key bindings for the Alias Menu.
Definition: functions.c:748
const struct MenuFuncOp OpBrowser[]
Functions for the file Browser Menu.
Definition: functions.c:123
const struct MenuFuncOp OpAutocrypt[]
Functions for the Autocrypt Account.
Definition: functions.c:110
const struct MenuOpSeq PagerDefaultBindings[]
Key bindings for the Pager Menu.
Definition: functions.c:1110
const struct MenuOpSeq GenericDefaultBindings[]
Key bindings for the Generic Menu.
Definition: functions.c:945
const struct MenuFuncOp OpPager[]
Functions for the Pager Menu.
Definition: functions.c:529
const struct MenuOpSeq AttachDefaultBindings[]
Key bindings for the Attachment Menu.
Definition: functions.c:763
const struct MenuFuncOp OpEditor[]
Functions for the Editor Menu.
Definition: functions.c:254
const struct MenuFuncOp OpPgp[]
Functions for the Pgp Menu.
Definition: functions.c:701
const struct MenuOpSeq IndexDefaultBindings[]
Key bindings for the Index Menu.
Definition: functions.c:994
const struct MenuOpSeq MixDefaultBindings[]
Key bindings for the Mixmaster Menu.
Definition: functions.c:1090
const struct MenuFuncOp OpPostpone[]
Functions for the Postpone Menu.
Definition: functions.c:711
const struct MenuOpSeq PgpDefaultBindings[]
Key bindings for the Pgp Menu.
Definition: functions.c:1214
const struct MenuOpSeq ComposeDefaultBindings[]
Key bindings for the Compose Menu.
Definition: functions.c:844
const struct MenuFuncOp OpAlias[]
Functions for the Alias Menu.
Definition: functions.c:55
const struct MenuOpSeq SmimeDefaultBindings[]
Key bindings for the Smime Menu.
Definition: functions.c:1249
Manage keymappings.
All user-callable functions.
Mapping between a function and an operation.
Definition: keymap.h:92
Mapping between an operation and a key sequence.
Definition: keymap.h:101