2 * Copyright (C) 1996-2000 Michael R. Elkins <me@mutt.org>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
20 * This file contains the structures needed to parse ``bind'' commands, as
21 * well as the default bindings for each menu.
25 * - If you want to bind \n or \r, use M_ENTER_S so that it will work
26 * correctly under both ncurses and S-Lang
28 * - If you need to bind a control char, use the octal value because the \cX
29 * construct does not work at this level.
33 struct binding_t OpGeneric[] = {
34 {"top-page", OP_TOP_PAGE, "H"},
35 {"next-entry", OP_NEXT_ENTRY, "j"},
36 {"previous-entry", OP_PREV_ENTRY, "k"},
37 {"bottom-page", OP_BOTTOM_PAGE, "L"},
38 {"refresh", OP_REDRAW, "\014"},
39 {"middle-page", OP_MIDDLE_PAGE, "M"},
40 {"search-next", OP_SEARCH_NEXT, "n"},
41 {"exit", OP_EXIT, "q"},
42 {"tag-entry", OP_TAG, "t"},
43 {"next-page", OP_NEXT_PAGE, "z"},
44 {"previous-page", OP_PREV_PAGE, "Z"},
45 {"last-entry", OP_LAST_ENTRY, "*"},
46 {"first-entry", OP_FIRST_ENTRY, "="},
47 {"enter-command", OP_ENTER_COMMAND, ":"},
48 {"next-line", OP_NEXT_LINE, ">"},
49 {"previous-line", OP_PREV_LINE, "<"},
50 {"half-up", OP_HALF_UP, "["},
51 {"half-down", OP_HALF_DOWN, "]"},
52 {"help", OP_HELP, "?"},
53 {"tag-prefix", OP_TAG_PREFIX, ";"},
54 {"tag-prefix-cond", OP_TAG_PREFIX_COND, NULL},
55 {"end-cond", OP_END_COND, NULL},
56 {"shell-escape", OP_SHELL_ESCAPE, "!"},
57 {"select-entry", OP_GENERIC_SELECT_ENTRY, M_ENTER_S},
58 {"search", OP_SEARCH, "/"},
59 {"search-reverse", OP_SEARCH_REVERSE, "\033/"},
60 {"search-opposite", OP_SEARCH_OPPOSITE, NULL},
61 {"jump", OP_JUMP, NULL},
62 {"current-top", OP_CURRENT_TOP, NULL},
63 {"current-middle", OP_CURRENT_MIDDLE, NULL},
64 {"current-bottom", OP_CURRENT_BOTTOM, NULL},
65 {"what-key", OP_WHAT_KEY, NULL},
69 struct binding_t OpMain[] = {
70 {"create-alias", OP_CREATE_ALIAS, "a"},
71 {"bounce-message", OP_BOUNCE_MESSAGE, "b"},
72 {"break-thread", OP_MAIN_BREAK_THREAD, "#"},
73 {"change-folder", OP_MAIN_CHANGE_FOLDER, "c"},
74 {"change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c"},
76 {"change-newsgroup", OP_MAIN_CHANGE_GROUP, "i"},
77 {"change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY, "\033i"},
79 {"collapse-thread", OP_MAIN_COLLAPSE_THREAD, "\033v"},
80 {"collapse-all", OP_MAIN_COLLAPSE_ALL, "\033V"},
81 {"copy-message", OP_COPY_MESSAGE, "C"},
82 {"decode-copy", OP_DECODE_COPY, "\033C"},
83 {"decode-save", OP_DECODE_SAVE, "\033s"},
84 {"delete-message", OP_DELETE, "d"},
85 {"delete-pattern", OP_MAIN_DELETE_PATTERN, "D"},
86 {"delete-thread", OP_DELETE_THREAD, "\004"},
87 {"delete-subthread", OP_DELETE_SUBTHREAD, "\033d"},
88 {"edit", OP_EDIT_MESSAGE, "e"},
89 {"edit-type", OP_EDIT_TYPE, "\005"},
90 {"forward-message", OP_FORWARD_MESSAGE, "f"},
92 {"forward-to-group", OP_FORWARD_TO_GROUP, "\033F"},
93 {"followup-message", OP_FOLLOWUP, "F"},
94 {"get-children", OP_GET_CHILDREN, NULL},
95 {"get-message", OP_GET_MESSAGE, "\007"},
96 {"get-parent", OP_GET_PARENT, "\033G"},
97 {"reconstruct-thread", OP_RECONSTRUCT_THREAD, NULL},
99 {"flag-message", OP_FLAG_MESSAGE, "\033f"},
100 {"group-reply", OP_GROUP_REPLY, "g"},
102 {"fetch-mail", OP_MAIN_FETCH_MAIL, "G"},
105 {"imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL},
107 {"display-toggle-weed", OP_DISPLAY_HEADERS, "h"},
108 {"next-undeleted", OP_MAIN_NEXT_UNDELETED, "j"},
109 {"previous-undeleted", OP_MAIN_PREV_UNDELETED, "k"},
110 {"limit", OP_MAIN_LIMIT, "l"},
111 {"link-threads", OP_MAIN_LINK_THREADS, "&"},
112 {"list-reply", OP_LIST_REPLY, "L"},
113 {"mail", OP_MAIL, "m"},
114 {"toggle-new", OP_TOGGLE_NEW, "N"},
115 {"toggle-write", OP_TOGGLE_WRITE, "%"},
116 {"next-thread", OP_MAIN_NEXT_THREAD, "\016"},
117 {"next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n"},
118 {"purge-message", OP_PURGE_MESSAGE, NULL},
119 {"query", OP_QUERY, "Q"},
120 {"quit", OP_QUIT, "q"},
121 {"reply", OP_REPLY, "r"},
122 {"show-limit", OP_MAIN_SHOW_LIMIT, "\033l"},
123 {"sort-mailbox", OP_SORT, "o"},
124 {"sort-reverse", OP_SORT_REVERSE, "O"},
125 {"print-message", OP_PRINT, "p"},
127 {"post-message", OP_POST, "P"},
129 {"previous-thread", OP_MAIN_PREV_THREAD, "\020"},
130 {"previous-subthread", OP_MAIN_PREV_SUBTHREAD, "\033p"},
131 {"recall-message", OP_RECALL_MESSAGE, "R"},
132 {"read-thread", OP_MAIN_READ_THREAD, "\022"},
133 {"read-subthread", OP_MAIN_READ_SUBTHREAD, "\033r"},
134 {"resend-message", OP_RESEND, "\033e"},
135 {"save-message", OP_SAVE, "s"},
136 {"tag-pattern", OP_MAIN_TAG_PATTERN, "T"},
137 {"tag-subthread", OP_TAG_SUBTHREAD, NULL},
138 {"tag-thread", OP_TAG_THREAD, "\033t"},
139 {"untag-pattern", OP_MAIN_UNTAG_PATTERN, "\024"},
140 {"undelete-message", OP_UNDELETE, "u"},
141 {"undelete-pattern", OP_MAIN_UNDELETE_PATTERN, "U"},
142 {"undelete-subthread", OP_UNDELETE_SUBTHREAD, "\033u"},
143 {"undelete-thread", OP_UNDELETE_THREAD, "\025"},
144 {"view-attachments", OP_VIEW_ATTACHMENTS, "v"},
145 {"show-version", OP_VERSION, "V"},
146 {"set-flag", OP_MAIN_SET_FLAG, "w"},
147 {"clear-flag", OP_MAIN_CLEAR_FLAG, "W"},
148 {"toggle-read", OP_TOGGLE_READ, "X"},
150 {"catchup", OP_CATCHUP, "y"},
152 {"display-message", OP_DISPLAY_MESSAGE, M_ENTER_S},
153 {"buffy-list", OP_BUFFY_LIST, "."},
154 {"sync-mailbox", OP_MAIN_SYNC_FOLDER, "$"},
155 {"display-address", OP_DISPLAY_ADDRESS, "@"},
156 {"pipe-message", OP_PIPE, "|"},
157 {"next-new", OP_MAIN_NEXT_NEW, NULL},
158 {"next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t"},
159 {"previous-new", OP_MAIN_PREV_NEW, NULL},
160 {"previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD, "\033\t"},
161 {"next-unread", OP_MAIN_NEXT_UNREAD, NULL},
162 {"previous-unread", OP_MAIN_PREV_UNREAD, NULL},
163 {"parent-message", OP_MAIN_PARENT_MESSAGE, NULL},
166 {"extract-keys", OP_EXTRACT_KEYS, "\013"},
167 {"forget-passphrase", OP_FORGET_PASSPHRASE, "\006"},
168 {"check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P"},
169 {"mail-key", OP_MAIL_KEY, "\033k"},
170 {"decrypt-copy", OP_DECRYPT_COPY, NULL},
171 {"decrypt-save", OP_DECRYPT_SAVE, NULL},
174 {"sidebar-scroll-up", OP_SIDEBAR_SCROLL_UP, NULL},
175 {"sidebar-scroll-down", OP_SIDEBAR_SCROLL_DOWN, NULL},
176 {"sidebar-next", OP_SIDEBAR_NEXT, NULL},
177 {"sidebar-prev", OP_SIDEBAR_PREV, NULL},
178 {"sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL},
179 {"sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL},
180 {"sidebar-open", OP_SIDEBAR_OPEN, NULL},
184 struct binding_t OpPager[] = {
185 {"break-thread", OP_MAIN_BREAK_THREAD, "#"},
186 {"create-alias", OP_CREATE_ALIAS, "a"},
187 {"bounce-message", OP_BOUNCE_MESSAGE, "b"},
188 {"change-folder", OP_MAIN_CHANGE_FOLDER, "c"},
189 {"change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c"},
191 {"change-newsgroup", OP_MAIN_CHANGE_GROUP, "i"},
192 {"change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY, "\033i"},
194 {"copy-message", OP_COPY_MESSAGE, "C"},
195 {"decode-copy", OP_DECODE_COPY, "\033C"},
196 {"delete-message", OP_DELETE, "d"},
197 {"delete-thread", OP_DELETE_THREAD, "\004"},
198 {"delete-subthread", OP_DELETE_SUBTHREAD, "\033d"},
199 {"edit", OP_EDIT_MESSAGE, "e"},
200 {"edit-type", OP_EDIT_TYPE, "\005"},
202 {"followup-message", OP_FOLLOWUP, "F"},
203 {"forward-to-group", OP_FORWARD_TO_GROUP, "\033F"},
205 {"forward-message", OP_FORWARD_MESSAGE, "f"},
206 {"flag-message", OP_FLAG_MESSAGE, "\033f"},
207 {"group-reply", OP_GROUP_REPLY, "g"},
209 {"imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL},
211 {"display-toggle-weed", OP_DISPLAY_HEADERS, "h"},
212 {"next-undeleted", OP_MAIN_NEXT_UNDELETED, "j"},
213 {"next-entry", OP_NEXT_ENTRY, "J"},
214 {"previous-undeleted", OP_MAIN_PREV_UNDELETED, "k"},
215 {"previous-entry", OP_PREV_ENTRY, "K"},
216 {"link-threads", OP_MAIN_LINK_THREADS, "&"},
217 {"list-reply", OP_LIST_REPLY, "L"},
218 {"redraw-screen", OP_REDRAW, "\014"},
219 {"mail", OP_MAIL, "m"},
220 {"mark-as-new", OP_TOGGLE_NEW, "N"},
221 {"search-next", OP_SEARCH_NEXT, "n"},
222 {"next-thread", OP_MAIN_NEXT_THREAD, "\016"},
223 {"next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n"},
224 {"print-message", OP_PRINT, "p"},
226 {"post-message", OP_POST, "P"},
228 {"previous-thread", OP_MAIN_PREV_THREAD, "\020"},
229 {"previous-subthread", OP_MAIN_PREV_SUBTHREAD, "\033p"},
230 {"purge-message", OP_PURGE_MESSAGE, NULL},
231 {"quit", OP_QUIT, "Q"},
232 {"exit", OP_EXIT, "q"},
233 {"reply", OP_REPLY, "r"},
234 {"recall-message", OP_RECALL_MESSAGE, "R"},
235 {"read-thread", OP_MAIN_READ_THREAD, "\022"},
236 {"read-subthread", OP_MAIN_READ_SUBTHREAD, "\033r"},
237 {"resend-message", OP_RESEND, "\033e"},
238 {"save-message", OP_SAVE, "s"},
239 {"skip-quoted", OP_PAGER_SKIP_QUOTED, "S"},
240 {"decode-save", OP_DECODE_SAVE, "\033s"},
241 {"tag-message", OP_TAG, "t"},
242 {"toggle-quoted", OP_PAGER_HIDE_QUOTED, "T"},
243 {"undelete-message", OP_UNDELETE, "u"},
244 {"undelete-subthread", OP_UNDELETE_SUBTHREAD, "\033u"},
245 {"undelete-thread", OP_UNDELETE_THREAD, "\025"},
246 {"view-attachments", OP_VIEW_ATTACHMENTS, "v"},
247 {"show-version", OP_VERSION, "V"},
248 {"search-toggle", OP_SEARCH_TOGGLE, "\\"},
249 {"display-address", OP_DISPLAY_ADDRESS, "@"},
250 {"next-new", OP_MAIN_NEXT_NEW, NULL},
251 {"next-new-then-unread",
252 OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t"},
253 {"pipe-message", OP_PIPE, "|"},
254 {"help", OP_HELP, "?"},
255 {"next-page", OP_NEXT_PAGE, " "},
256 {"previous-page", OP_PREV_PAGE, "-"},
257 {"top", OP_PAGER_TOP, "^"},
258 {"sync-mailbox", OP_MAIN_SYNC_FOLDER, "$"},
259 {"shell-escape", OP_SHELL_ESCAPE, "!"},
260 {"enter-command", OP_ENTER_COMMAND, ":"},
261 {"buffy-list", OP_BUFFY_LIST, "."},
262 {"search", OP_SEARCH, "/"},
263 {"search-reverse", OP_SEARCH_REVERSE, "\033/"},
264 {"search-opposite", OP_SEARCH_OPPOSITE, NULL},
265 {"next-line", OP_NEXT_LINE, M_ENTER_S},
266 {"jump", OP_JUMP, NULL},
267 {"next-unread", OP_MAIN_NEXT_UNREAD, NULL},
268 {"previous-new", OP_MAIN_PREV_NEW, NULL},
269 {"previous-new-then-unread",
270 OP_MAIN_PREV_NEW_THEN_UNREAD, NULL},
271 {"previous-unread", OP_MAIN_PREV_UNREAD, NULL},
272 {"half-up", OP_HALF_UP, NULL},
273 {"half-down", OP_HALF_DOWN, NULL},
274 {"previous-line", OP_PREV_LINE, NULL},
275 {"bottom", OP_PAGER_BOTTOM, NULL},
276 {"parent-message", OP_MAIN_PARENT_MESSAGE, NULL},
281 {"check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P"},
282 {"mail-key", OP_MAIL_KEY, "\033k"},
283 {"extract-keys", OP_EXTRACT_KEYS, "\013"},
284 {"forget-passphrase", OP_FORGET_PASSPHRASE, "\006"},
285 {"decrypt-copy", OP_DECRYPT_COPY, NULL},
286 {"decrypt-save", OP_DECRYPT_SAVE, NULL},
289 {"sidebar-scroll-up", OP_SIDEBAR_SCROLL_UP, NULL},
290 {"sidebar-scroll-down", OP_SIDEBAR_SCROLL_DOWN, NULL},
291 {"sidebar-next", OP_SIDEBAR_NEXT, NULL},
292 {"sidebar-prev", OP_SIDEBAR_PREV, NULL},
293 {"sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL},
294 {"sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL},
295 {"sidebar-open", OP_SIDEBAR_OPEN, NULL},
299 struct binding_t OpAttach[] = {
300 {"bounce-message", OP_BOUNCE_MESSAGE, "b"},
301 {"display-toggle-weed", OP_DISPLAY_HEADERS, "h"},
302 {"edit-type", OP_EDIT_TYPE, "\005"},
304 {"followup-message", OP_FOLLOWUP, "F"},
305 {"forward-to-group", OP_FORWARD_TO_GROUP, "\033F"},
307 {"print-entry", OP_PRINT, "p"},
308 {"save-entry", OP_SAVE, "s"},
309 {"pipe-entry", OP_PIPE, "|"},
310 {"view-mailcap", OP_ATTACH_VIEW_MAILCAP, "m"},
311 {"reply", OP_REPLY, "r"},
312 {"resend-message", OP_RESEND, "\033e"},
313 {"group-reply", OP_GROUP_REPLY, "g"},
314 {"list-reply", OP_LIST_REPLY, "L"},
315 {"forward-message", OP_FORWARD_MESSAGE, "f"},
316 {"view-text", OP_ATTACH_VIEW_TEXT, "T"},
317 {"view-attach", OP_VIEW_ATTACH, M_ENTER_S},
318 {"delete-entry", OP_DELETE, "d"},
319 {"undelete-entry", OP_UNDELETE, "u"},
320 {"collapse-parts", OP_ATTACH_COLLAPSE, "v"},
322 {"check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P"},
323 {"extract-keys", OP_EXTRACT_KEYS, "\013"},
324 {"forget-passphrase", OP_FORGET_PASSPHRASE, "\006"},
329 struct binding_t OpCompose[] = {
330 {"attach-file", OP_COMPOSE_ATTACH_FILE, "a"},
331 {"attach-message", OP_COMPOSE_ATTACH_MESSAGE, "A"},
332 {"attach-news-message", OP_COMPOSE_ATTACH_NEWS_MESSAGE, "\033a"},
333 {"edit-bcc", OP_COMPOSE_EDIT_BCC, "b"},
334 {"edit-cc", OP_COMPOSE_EDIT_CC, "c"},
335 {"copy-file", OP_SAVE, "C"},
336 {"detach-file", OP_DELETE, "D"},
337 {"toggle-disposition", OP_COMPOSE_TOGGLE_DISPOSITION, "\004"},
338 {"edit-description", OP_COMPOSE_EDIT_DESCRIPTION, "d"},
339 {"edit-message", OP_COMPOSE_EDIT_MESSAGE, "e"},
340 {"edit-headers", OP_COMPOSE_EDIT_HEADERS, "E"},
341 {"edit-file", OP_COMPOSE_EDIT_FILE, "\030e"},
342 {"edit-encoding", OP_COMPOSE_EDIT_ENCODING, "\005"},
343 {"edit-from", OP_COMPOSE_EDIT_FROM, "\033f"},
344 {"edit-fcc", OP_COMPOSE_EDIT_FCC, "f"},
345 {"filter-entry", OP_FILTER, "F"},
346 {"get-attachment", OP_COMPOSE_GET_ATTACHMENT, "G"},
347 {"display-toggle-weed", OP_DISPLAY_HEADERS, "h"},
348 {"ispell", OP_COMPOSE_ISPELL, "i"},
349 {"print-entry", OP_PRINT, "l"},
350 {"edit-mime", OP_COMPOSE_EDIT_MIME, "m"},
351 {"new-mime", OP_COMPOSE_NEW_MIME, "n"},
353 {"edit-newsgroups", OP_COMPOSE_EDIT_NEWSGROUPS, "N"},
354 {"edit-followup-to", OP_COMPOSE_EDIT_FOLLOWUP_TO, "o"},
355 {"edit-x-comment-to", OP_COMPOSE_EDIT_X_COMMENT_TO, "x"},
357 {"postpone-message", OP_COMPOSE_POSTPONE_MESSAGE, "P"},
358 {"edit-reply-to", OP_COMPOSE_EDIT_REPLY_TO, "r"},
359 {"rename-file", OP_COMPOSE_RENAME_FILE, "R"},
360 {"edit-subject", OP_COMPOSE_EDIT_SUBJECT, "s"},
361 {"edit-to", OP_COMPOSE_EDIT_TO, "t"},
362 {"edit-type", OP_EDIT_TYPE, "\024"},
363 {"write-fcc", OP_COMPOSE_WRITE_MESSAGE, "w"},
364 {"toggle-unlink", OP_COMPOSE_TOGGLE_UNLINK, "u"},
365 {"toggle-recode", OP_COMPOSE_TOGGLE_RECODE, NULL},
366 {"update-encoding", OP_COMPOSE_UPDATE_ENCODING, "U"},
367 {"view-attach", OP_VIEW_ATTACH, M_ENTER_S},
368 {"send-message", OP_COMPOSE_SEND_MESSAGE, "y"},
369 {"pipe-entry", OP_PIPE, "|"},
371 {"attach-key", OP_COMPOSE_ATTACH_KEY, "\033k"},
372 {"pgp-menu", OP_COMPOSE_PGP_MENU, "p"},
374 {"forget-passphrase", OP_FORGET_PASSPHRASE, "\006"},
376 {"smime-menu", OP_COMPOSE_SMIME_MENU, "S"},
379 {"mix", OP_COMPOSE_MIX, "M"},
385 struct binding_t OpPost[] = {
386 {"delete-entry", OP_DELETE, "d"},
387 {"undelete-entry", OP_UNDELETE, "u"},
391 struct binding_t OpAlias[] = {
392 {"delete-entry", OP_DELETE, "d"},
393 {"undelete-entry", OP_UNDELETE, "u"},
398 /* The file browser */
399 struct binding_t OpBrowser[] = {
400 {"change-dir", OP_CHANGE_DIRECTORY, "c"},
401 {"display-filename", OP_BROWSER_TELL, "@"},
402 {"enter-mask", OP_ENTER_MASK, "m"},
403 {"sort", OP_SORT, "o"},
404 {"sort-reverse", OP_SORT_REVERSE, "O"},
405 {"select-new", OP_BROWSER_NEW_FILE, "N"},
406 {"check-new", OP_CHECK_NEW, NULL},
407 {"toggle-mailboxes", OP_TOGGLE_MAILBOXES, "\t"},
409 {"reload-active", OP_LOAD_ACTIVE, "g"},
410 {"subscribe-pattern", OP_SUBSCRIBE_PATTERN, "S"},
411 {"unsubscribe-pattern", OP_UNSUBSCRIBE_PATTERN, "U"},
412 {"catchup", OP_CATCHUP, "y"},
413 {"uncatchup", OP_UNCATCHUP, "Y"},
415 {"view-file", OP_BROWSER_VIEW_FILE, " "},
416 {"buffy-list", OP_BUFFY_LIST, "."},
418 {"create-mailbox", OP_CREATE_MAILBOX, "C"},
419 {"delete-mailbox", OP_DELETE_MAILBOX, "d"},
420 {"rename-mailbox", OP_RENAME_MAILBOX, "r"},
422 #if defined USE_IMAP || defined USE_NNTP
423 {"subscribe", OP_BROWSER_SUBSCRIBE, "s"},
424 {"unsubscribe", OP_BROWSER_UNSUBSCRIBE, "u"},
427 {"toggle-subscribed", OP_BROWSER_TOGGLE_LSUB, "T"},
432 /* External Query Menu */
433 struct binding_t OpQuery[] = {
434 {"create-alias", OP_CREATE_ALIAS, "a"},
435 {"mail", OP_MAIL, "m"},
436 {"query", OP_QUERY, "Q"},
437 {"query-append", OP_QUERY_APPEND, "A"},
441 struct binding_t OpEditor[] = {
442 {"bol", OP_EDITOR_BOL, "\001"},
443 {"backward-char", OP_EDITOR_BACKWARD_CHAR, "\002"},
444 {"backward-word", OP_EDITOR_BACKWARD_WORD, "\033b"},
445 {"capitalize-word", OP_EDITOR_CAPITALIZE_WORD, "\033c"},
446 {"downcase-word", OP_EDITOR_DOWNCASE_WORD, "\033l"},
447 {"upcase-word", OP_EDITOR_UPCASE_WORD, "\033u"},
448 {"delete-char", OP_EDITOR_DELETE_CHAR, "\004"},
449 {"eol", OP_EDITOR_EOL, "\005"},
450 {"forward-char", OP_EDITOR_FORWARD_CHAR, "\006"},
451 {"forward-word", OP_EDITOR_FORWARD_WORD, "\033f"},
452 {"backspace", OP_EDITOR_BACKSPACE, "\010"},
453 {"kill-eol", OP_EDITOR_KILL_EOL, "\013"},
454 {"kill-eow", OP_EDITOR_KILL_EOW, "\033d"},
455 {"kill-line", OP_EDITOR_KILL_LINE, "\025"},
456 {"quote-char", OP_EDITOR_QUOTE_CHAR, "\026"},
457 {"kill-word", OP_EDITOR_KILL_WORD, "\027"},
458 {"complete", OP_EDITOR_COMPLETE, "\t"},
459 {"complete-query", OP_EDITOR_COMPLETE_QUERY, "\024"},
460 {"buffy-cycle", OP_EDITOR_BUFFY_CYCLE, " "},
461 {"history-up", OP_EDITOR_HISTORY_UP, NULL},
462 {"history-down", OP_EDITOR_HISTORY_DOWN, NULL},
463 {"transpose-chars", OP_EDITOR_TRANSPOSE_CHARS, NULL},
469 struct binding_t OpPgp[] = {
470 {"verify-key", OP_VERIFY_KEY, "c"},
471 {"view-name", OP_VIEW_ID, "%"},
477 /* When using the GPGME based backend we have some useful functions
478 for the SMIME menu. */
479 struct binding_t OpSmime[] = {
480 #ifdef CRYPT_BACKEND_GPGME
481 {"verify-key", OP_VERIFY_KEY, "c"},
482 {"view-name", OP_VIEW_ID, "%"},
490 struct binding_t OpMix[] = {
491 {"accept", OP_MIX_USE, M_ENTER_S},
492 {"append", OP_MIX_APPEND, "a"},
493 {"insert", OP_MIX_INSERT, "i"},
494 {"delete", OP_MIX_DELETE, "d"},
495 {"chain-prev", OP_MIX_CHAIN_PREV, "<left>"},
496 {"chain-next", OP_MIX_CHAIN_NEXT, "<right>"},
499 #endif /* MIXMASTER */