mutt stable branch with some hacks
at master 484 lines 20 kB view raw
1/* 2 * Copyright (C) 1996-2000,2002 Michael R. Elkins <me@mutt.org> 3 * 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. 8 * 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. 13 * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 */ 18 19/* 20 * This file contains the structures needed to parse ``bind'' commands, as 21 * well as the default bindings for each menu. 22 * 23 * Notes: 24 * 25 * - If you want to bind \n or \r, use MUTT_ENTER_S so that it will work 26 * correctly under both ncurses and S-Lang 27 * 28 * - If you need to bind a control char, use the octal value because the \cX 29 * construct does not work at this level. 30 * 31 * - The magic "map:" comments define how the map will be called in the 32 * manual. Lines starting with "**" will be included in the manual. 33 * 34 */ 35 36#ifdef _MAKEDOC 37# include "config.h" 38# include "doc/makedoc-defs.h" 39#endif 40 41const struct binding_t OpGeneric[] = { /* map: generic */ 42 /* 43 ** <para> 44 ** The <emphasis>generic</emphasis> menu is not a real menu, but specifies common functions 45 ** (such as movement) available in all menus except for <emphasis>pager</emphasis> and 46 ** <emphasis>editor</emphasis>. Changing settings for this menu will affect the default 47 ** bindings for all menus (except as noted). 48 ** </para> 49 */ 50 { "top-page", OP_TOP_PAGE, "H" }, 51 { "next-entry", OP_NEXT_ENTRY, "j" }, 52 { "previous-entry", OP_PREV_ENTRY, "k" }, 53 { "bottom-page", OP_BOTTOM_PAGE, "L" }, 54 { "refresh", OP_REDRAW, "\014" }, 55 { "middle-page", OP_MIDDLE_PAGE, "M" }, 56 { "search-next", OP_SEARCH_NEXT, "n" }, 57 { "exit", OP_EXIT, "q" }, 58 { "tag-entry", OP_TAG, "t" }, 59 { "next-page", OP_NEXT_PAGE, "z" }, 60 { "previous-page", OP_PREV_PAGE, "Z" }, 61 { "last-entry", OP_LAST_ENTRY, "*" }, 62 { "first-entry", OP_FIRST_ENTRY, "=" }, 63 { "enter-command", OP_ENTER_COMMAND, ":" }, 64 { "next-line", OP_NEXT_LINE, ">" }, 65 { "previous-line", OP_PREV_LINE, "<" }, 66 { "half-up", OP_HALF_UP, "[" }, 67 { "half-down", OP_HALF_DOWN, "]" }, 68 { "help", OP_HELP, "?" }, 69 { "tag-prefix", OP_TAG_PREFIX, ";" }, 70 { "tag-prefix-cond", OP_TAG_PREFIX_COND, NULL }, 71 { "end-cond", OP_END_COND, NULL }, 72 { "shell-escape", OP_SHELL_ESCAPE, "!" }, 73 { "select-entry", OP_GENERIC_SELECT_ENTRY,MUTT_ENTER_S }, 74 { "search", OP_SEARCH, "/" }, 75 { "search-reverse", OP_SEARCH_REVERSE, "\033/" }, 76 { "search-opposite", OP_SEARCH_OPPOSITE, NULL }, 77 { "jump", OP_JUMP, NULL }, 78 { "current-top", OP_CURRENT_TOP, NULL }, 79 { "current-middle", OP_CURRENT_MIDDLE, NULL }, 80 { "current-bottom", OP_CURRENT_BOTTOM, NULL }, 81 { "what-key", OP_WHAT_KEY, NULL }, 82 { NULL, 0, NULL } 83}; 84 85const struct binding_t OpMain[] = { /* map: index */ 86 { "create-alias", OP_CREATE_ALIAS, "a" }, 87 { "bounce-message", OP_BOUNCE_MESSAGE, "b" }, 88 { "break-thread", OP_MAIN_BREAK_THREAD, "#" }, 89 { "change-folder", OP_MAIN_CHANGE_FOLDER, "c" }, 90 { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" }, 91 { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX, NULL }, 92 { "collapse-thread", OP_MAIN_COLLAPSE_THREAD, "\033v" }, 93 { "collapse-all", OP_MAIN_COLLAPSE_ALL, "\033V" }, 94 { "copy-message", OP_COPY_MESSAGE, "C" }, 95 { "decode-copy", OP_DECODE_COPY, "\033C" }, 96 { "decode-save", OP_DECODE_SAVE, "\033s" }, 97 { "delete-message", OP_DELETE, "d" }, 98 { "delete-pattern", OP_MAIN_DELETE_PATTERN, "D" }, 99 { "delete-thread", OP_DELETE_THREAD, "\004" }, 100 { "delete-subthread", OP_DELETE_SUBTHREAD, "\033d" }, 101 { "edit", OP_EDIT_MESSAGE, "e" }, 102 { "edit-type", OP_EDIT_TYPE, "\005" }, 103 { "forward-message", OP_FORWARD_MESSAGE, "f" }, 104 { "flag-message", OP_FLAG_MESSAGE, "F" }, 105 { "group-reply", OP_GROUP_REPLY, "g" }, 106#ifdef USE_POP 107 { "fetch-mail", OP_MAIN_FETCH_MAIL, "G" }, 108#endif 109#ifdef USE_IMAP 110 { "imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL }, 111 { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL, NULL }, 112#endif 113 { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" }, 114 { "next-undeleted", OP_MAIN_NEXT_UNDELETED, "j" }, 115 { "previous-undeleted", OP_MAIN_PREV_UNDELETED, "k" }, 116 { "limit", OP_MAIN_LIMIT, "l" }, 117 { "link-threads", OP_MAIN_LINK_THREADS, "&" }, 118 { "list-reply", OP_LIST_REPLY, "L" }, 119 { "mail", OP_MAIL, "m" }, 120 { "toggle-new", OP_TOGGLE_NEW, "N" }, 121 { "toggle-write", OP_TOGGLE_WRITE, "%" }, 122 { "next-thread", OP_MAIN_NEXT_THREAD, "\016" }, 123 { "next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n" }, 124 { "purge-message", OP_PURGE_MESSAGE, NULL }, 125 { "query", OP_QUERY, "Q" }, 126 { "quit", OP_QUIT, "q" }, 127 { "reply", OP_REPLY, "r" }, 128 { "show-limit", OP_MAIN_SHOW_LIMIT, "\033l" }, 129 { "sort-mailbox", OP_SORT, "o" }, 130 { "sort-reverse", OP_SORT_REVERSE, "O" }, 131 { "print-message", OP_PRINT, "p" }, 132 { "previous-thread", OP_MAIN_PREV_THREAD, "\020" }, 133 { "previous-subthread", OP_MAIN_PREV_SUBTHREAD, "\033p" }, 134 { "recall-message", OP_RECALL_MESSAGE, "R" }, 135 { "read-thread", OP_MAIN_READ_THREAD, "\022" }, 136 { "read-subthread", OP_MAIN_READ_SUBTHREAD, "\033r" }, 137 { "resend-message", OP_RESEND, "\033e" }, 138 { "save-message", OP_SAVE, "s" }, 139 { "tag-pattern", OP_MAIN_TAG_PATTERN, "T" }, 140 { "tag-subthread", OP_TAG_SUBTHREAD, NULL }, 141 { "tag-thread", OP_TAG_THREAD, "\033t" }, 142 { "untag-pattern", OP_MAIN_UNTAG_PATTERN, "\024" }, 143 { "undelete-message", OP_UNDELETE, "u" }, 144 { "undelete-pattern", OP_MAIN_UNDELETE_PATTERN, "U"}, 145 { "undelete-subthread", OP_UNDELETE_SUBTHREAD, "\033u" }, 146 { "undelete-thread", OP_UNDELETE_THREAD, "\025" }, 147 { "view-attachments", OP_VIEW_ATTACHMENTS, "v" }, 148 { "show-version", OP_VERSION, "V" }, 149 { "set-flag", OP_MAIN_SET_FLAG, "w" }, 150 { "clear-flag", OP_MAIN_CLEAR_FLAG, "W" }, 151 { "display-message", OP_DISPLAY_MESSAGE, MUTT_ENTER_S }, 152 { "mark-message", OP_MARK_MSG, "~" }, 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, "P" }, 164 { "root-message", OP_MAIN_ROOT_MESSAGE, NULL }, 165 166 167 { "extract-keys", OP_EXTRACT_KEYS, "\013" }, 168 { "forget-passphrase", OP_FORGET_PASSPHRASE, "\006" }, 169 { "check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P" }, 170 { "mail-key", OP_MAIL_KEY, "\033k" }, 171 { "decrypt-copy", OP_DECRYPT_COPY, NULL }, 172 { "decrypt-save", OP_DECRYPT_SAVE, NULL }, 173 174#ifdef USE_SIDEBAR 175 { "sidebar-next", OP_SIDEBAR_NEXT, NULL }, 176 { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL }, 177 { "sidebar-open", OP_SIDEBAR_OPEN, NULL }, 178 { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN, NULL }, 179 { "sidebar-page-up", OP_SIDEBAR_PAGE_UP, NULL }, 180 { "sidebar-prev", OP_SIDEBAR_PREV, NULL }, 181 { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL }, 182 { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE, NULL }, 183#endif 184 185 { NULL, 0, NULL } 186}; 187 188const struct binding_t OpPager[] = { /* map: pager */ 189 { "break-thread", OP_MAIN_BREAK_THREAD, "#" }, 190 { "create-alias", OP_CREATE_ALIAS, "a" }, 191 { "bounce-message", OP_BOUNCE_MESSAGE, "b" }, 192 { "change-folder", OP_MAIN_CHANGE_FOLDER, "c" }, 193 { "change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c" }, 194 { "next-unread-mailbox", OP_MAIN_NEXT_UNREAD_MAILBOX, NULL }, 195 { "copy-message", OP_COPY_MESSAGE, "C" }, 196 { "decode-copy", OP_DECODE_COPY, "\033C" }, 197 { "delete-message", OP_DELETE, "d" }, 198 { "delete-thread", OP_DELETE_THREAD, "\004" }, 199 { "delete-subthread", OP_DELETE_SUBTHREAD, "\033d" }, 200 { "set-flag", OP_MAIN_SET_FLAG, "w" }, 201 { "clear-flag", OP_MAIN_CLEAR_FLAG, "W" }, 202 { "edit", OP_EDIT_MESSAGE, "e" }, 203 { "edit-type", OP_EDIT_TYPE, "\005" }, 204 { "forward-message", OP_FORWARD_MESSAGE, "f" }, 205 { "flag-message", OP_FLAG_MESSAGE, "F" }, 206 { "group-reply", OP_GROUP_REPLY, "g" }, 207#ifdef USE_IMAP 208 { "imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL }, 209 { "imap-logout-all", OP_MAIN_IMAP_LOGOUT_ALL, NULL }, 210#endif 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 { "sort-mailbox", OP_SORT, "o" }, 225 { "sort-reverse", OP_SORT_REVERSE, "O" }, 226 { "print-message", OP_PRINT, "p" }, 227 { "previous-thread", OP_MAIN_PREV_THREAD, "\020" }, 228 { "previous-subthread",OP_MAIN_PREV_SUBTHREAD, "\033p" }, 229 { "purge-message", OP_PURGE_MESSAGE, NULL }, 230 { "quit", OP_QUIT, "Q" }, 231 { "exit", OP_EXIT, "q" }, 232 { "reply", OP_REPLY, "r" }, 233 { "recall-message", OP_RECALL_MESSAGE, "R" }, 234 { "read-thread", OP_MAIN_READ_THREAD, "\022" }, 235 { "read-subthread", OP_MAIN_READ_SUBTHREAD, "\033r" }, 236 { "resend-message", OP_RESEND, "\033e" }, 237 { "save-message", OP_SAVE, "s" }, 238 { "skip-quoted", OP_PAGER_SKIP_QUOTED, "S" }, 239 { "decode-save", OP_DECODE_SAVE, "\033s" }, 240 { "tag-message", OP_TAG, "t" }, 241 { "toggle-quoted", OP_PAGER_HIDE_QUOTED, "T" }, 242 { "undelete-message", OP_UNDELETE, "u" }, 243 { "undelete-subthread",OP_UNDELETE_SUBTHREAD, "\033u" }, 244 { "undelete-thread", OP_UNDELETE_THREAD, "\025" }, 245 { "view-attachments", OP_VIEW_ATTACHMENTS, "v" }, 246 { "show-version", OP_VERSION, "V" }, 247 { "search-toggle", OP_SEARCH_TOGGLE, "\\" }, 248 { "display-address", OP_DISPLAY_ADDRESS, "@" }, 249 { "next-new", OP_MAIN_NEXT_NEW, NULL }, 250 { "next-new-then-unread", 251 OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t" }, 252 { "pipe-message", OP_PIPE, "|" }, 253 { "help", OP_HELP, "?" }, 254 { "next-page", OP_NEXT_PAGE, " " }, 255 { "previous-page", OP_PREV_PAGE, "-" }, 256 { "top", OP_PAGER_TOP, "^" }, 257 { "sync-mailbox", OP_MAIN_SYNC_FOLDER, "$" }, 258 { "shell-escape", OP_SHELL_ESCAPE, "!" }, 259 { "enter-command", OP_ENTER_COMMAND, ":" }, 260 { "buffy-list", OP_BUFFY_LIST, "." }, 261 { "search", OP_SEARCH, "/" }, 262 { "search-reverse", OP_SEARCH_REVERSE, "\033/" }, 263 { "search-opposite", OP_SEARCH_OPPOSITE, NULL }, 264 { "next-line", OP_NEXT_LINE, MUTT_ENTER_S }, 265 { "jump", OP_JUMP, NULL }, 266 { "next-unread", OP_MAIN_NEXT_UNREAD, NULL }, 267 { "previous-new", OP_MAIN_PREV_NEW, NULL }, 268 { "previous-new-then-unread", 269 OP_MAIN_PREV_NEW_THEN_UNREAD, NULL }, 270 { "previous-unread", OP_MAIN_PREV_UNREAD, NULL }, 271 { "half-up", OP_HALF_UP, NULL }, 272 { "half-down", OP_HALF_DOWN, NULL }, 273 { "previous-line", OP_PREV_LINE, NULL }, 274 { "bottom", OP_PAGER_BOTTOM, NULL }, 275 { "parent-message", OP_MAIN_PARENT_MESSAGE, "P" }, 276 { "root-message", OP_MAIN_ROOT_MESSAGE, NULL }, 277 278 279 280 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 }, 287 288 { "what-key", OP_WHAT_KEY, NULL }, 289 290#ifdef USE_SIDEBAR 291 { "sidebar-next", OP_SIDEBAR_NEXT, NULL }, 292 { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL }, 293 { "sidebar-open", OP_SIDEBAR_OPEN, NULL }, 294 { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN, NULL }, 295 { "sidebar-page-up", OP_SIDEBAR_PAGE_UP, NULL }, 296 { "sidebar-prev", OP_SIDEBAR_PREV, NULL }, 297 { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL }, 298 { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE, NULL }, 299#endif 300 301 { NULL, 0, NULL } 302}; 303 304const struct binding_t OpAttach[] = { /* map: attachment */ 305 { "bounce-message", OP_BOUNCE_MESSAGE, "b" }, 306 { "display-toggle-weed", OP_DISPLAY_HEADERS, "h" }, 307 { "edit-type", OP_EDIT_TYPE, "\005" }, 308 { "print-entry", OP_PRINT, "p" }, 309 { "save-entry", OP_SAVE, "s" }, 310 { "pipe-entry", OP_PIPE, "|" }, 311 { "view-mailcap", OP_ATTACH_VIEW_MAILCAP, "m" }, 312 { "reply", OP_REPLY, "r" }, 313 { "resend-message", OP_RESEND, "\033e" }, 314 { "group-reply", OP_GROUP_REPLY, "g" }, 315 { "list-reply", OP_LIST_REPLY, "L" }, 316 { "forward-message", OP_FORWARD_MESSAGE, "f" }, 317 { "view-text", OP_ATTACH_VIEW_TEXT, "T" }, 318 { "view-attach", OP_VIEW_ATTACH, MUTT_ENTER_S }, 319 { "delete-entry", OP_DELETE, "d" }, 320 { "undelete-entry", OP_UNDELETE, "u" }, 321 { "collapse-parts", OP_ATTACH_COLLAPSE, "v" }, 322 323 { "check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P" }, 324 { "extract-keys", OP_EXTRACT_KEYS, "\013" }, 325 { "forget-passphrase", OP_FORGET_PASSPHRASE, "\006" }, 326 327 { NULL, 0, NULL } 328}; 329 330const struct binding_t OpCompose[] = { /* map: compose */ 331 { "attach-file", OP_COMPOSE_ATTACH_FILE, "a" }, 332 { "attach-message", OP_COMPOSE_ATTACH_MESSAGE, "A" }, 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" }, 352 { "postpone-message", OP_COMPOSE_POSTPONE_MESSAGE, "P" }, 353 { "edit-reply-to", OP_COMPOSE_EDIT_REPLY_TO, "r" }, 354 { "rename-attachment",OP_COMPOSE_RENAME_ATTACHMENT, "\017" }, 355 { "rename-file", OP_COMPOSE_RENAME_FILE, "R" }, 356 { "edit-subject", OP_COMPOSE_EDIT_SUBJECT, "s" }, 357 { "edit-to", OP_COMPOSE_EDIT_TO, "t" }, 358 { "edit-type", OP_EDIT_TYPE, "\024" }, 359 { "write-fcc", OP_COMPOSE_WRITE_MESSAGE, "w" }, 360 { "toggle-unlink", OP_COMPOSE_TOGGLE_UNLINK, "u" }, 361 { "toggle-recode", OP_COMPOSE_TOGGLE_RECODE, NULL }, 362 { "update-encoding", OP_COMPOSE_UPDATE_ENCODING, "U" }, 363 { "view-attach", OP_VIEW_ATTACH, MUTT_ENTER_S }, 364 { "send-message", OP_COMPOSE_SEND_MESSAGE, "y" }, 365 { "pipe-entry", OP_PIPE, "|" }, 366 367 { "attach-key", OP_COMPOSE_ATTACH_KEY, "\033k" }, 368 { "pgp-menu", OP_COMPOSE_PGP_MENU, "p" }, 369 370 { "forget-passphrase",OP_FORGET_PASSPHRASE, "\006" }, 371 372 { "smime-menu", OP_COMPOSE_SMIME_MENU, "S" }, 373 374#ifdef MIXMASTER 375 { "mix", OP_COMPOSE_MIX, "M" }, 376#endif 377 378 { NULL, 0, NULL } 379}; 380 381const struct binding_t OpPost[] = { /* map: postpone */ 382 { "delete-entry", OP_DELETE, "d" }, 383 { "undelete-entry", OP_UNDELETE, "u" }, 384 { NULL, 0, NULL } 385}; 386 387const struct binding_t OpAlias[] = { /* map: alias */ 388 { "delete-entry", OP_DELETE, "d" }, 389 { "undelete-entry", OP_UNDELETE, "u" }, 390 { NULL, 0, NULL } 391}; 392 393 394/* The file browser */ 395const struct binding_t OpBrowser[] = { /* map: browser */ 396 { "change-dir", OP_CHANGE_DIRECTORY, "c" }, 397 { "display-filename", OP_BROWSER_TELL, "@" }, 398 { "enter-mask", OP_ENTER_MASK, "m" }, 399 { "sort", OP_SORT, "o" }, 400 { "sort-reverse", OP_SORT_REVERSE, "O" }, 401 { "select-new", OP_BROWSER_NEW_FILE, "N" }, 402 { "check-new", OP_CHECK_NEW, NULL }, 403 { "toggle-mailboxes", OP_TOGGLE_MAILBOXES, "\t" }, 404 { "view-file", OP_BROWSER_VIEW_FILE, " " }, 405 { "buffy-list", OP_BUFFY_LIST, "." }, 406#ifdef USE_IMAP 407 { "create-mailbox", OP_CREATE_MAILBOX, "C" }, 408 { "delete-mailbox", OP_DELETE_MAILBOX, "d" }, 409 { "rename-mailbox", OP_RENAME_MAILBOX, "r" }, 410 { "subscribe", OP_BROWSER_SUBSCRIBE, "s" }, 411 { "unsubscribe", OP_BROWSER_UNSUBSCRIBE, "u" }, 412 { "toggle-subscribed", OP_BROWSER_TOGGLE_LSUB, "T" }, 413#endif 414 { NULL, 0, NULL } 415}; 416 417/* External Query Menu */ 418const struct binding_t OpQuery[] = { /* map: query */ 419 { "create-alias", OP_CREATE_ALIAS, "a" }, 420 { "mail", OP_MAIL, "m" }, 421 { "query", OP_QUERY, "Q" }, 422 { "query-append", OP_QUERY_APPEND, "A" }, 423 { NULL, 0, NULL } 424}; 425 426const struct binding_t OpEditor[] = { /* map: editor */ 427 { "bol", OP_EDITOR_BOL, "\001" }, 428 { "backward-char", OP_EDITOR_BACKWARD_CHAR, "\002" }, 429 { "backward-word", OP_EDITOR_BACKWARD_WORD, "\033b"}, 430 { "capitalize-word", OP_EDITOR_CAPITALIZE_WORD, "\033c"}, 431 { "downcase-word", OP_EDITOR_DOWNCASE_WORD, "\033l"}, 432 { "upcase-word", OP_EDITOR_UPCASE_WORD, "\033u"}, 433 { "delete-char", OP_EDITOR_DELETE_CHAR, "\004" }, 434 { "eol", OP_EDITOR_EOL, "\005" }, 435 { "forward-char", OP_EDITOR_FORWARD_CHAR, "\006" }, 436 { "forward-word", OP_EDITOR_FORWARD_WORD, "\033f"}, 437 { "backspace", OP_EDITOR_BACKSPACE, "\010" }, 438 { "kill-eol", OP_EDITOR_KILL_EOL, "\013" }, 439 { "kill-eow", OP_EDITOR_KILL_EOW, "\033d"}, 440 { "kill-line", OP_EDITOR_KILL_LINE, "\025" }, 441 { "quote-char", OP_EDITOR_QUOTE_CHAR, "\026" }, 442 { "kill-word", OP_EDITOR_KILL_WORD, "\027" }, 443 { "complete", OP_EDITOR_COMPLETE, "\t" }, 444 { "complete-query", OP_EDITOR_COMPLETE_QUERY, "\024" }, 445 { "buffy-cycle", OP_EDITOR_BUFFY_CYCLE, " " }, 446 { "history-up", OP_EDITOR_HISTORY_UP, NULL }, 447 { "history-down", OP_EDITOR_HISTORY_DOWN, NULL }, 448 { "transpose-chars", OP_EDITOR_TRANSPOSE_CHARS, NULL }, 449 { NULL, 0, NULL } 450}; 451 452 453 454const struct binding_t OpPgp[] = { /* map: pgp */ 455 { "verify-key", OP_VERIFY_KEY, "c" }, 456 { "view-name", OP_VIEW_ID, "%" }, 457 { NULL, 0, NULL } 458}; 459 460 461 462/* When using the GPGME based backend we have some useful functions 463 for the SMIME menu. */ 464const struct binding_t OpSmime[] = { /* map: smime */ 465#ifdef CRYPT_BACKEND_GPGME 466 { "verify-key", OP_VERIFY_KEY, "c" }, 467 { "view-name", OP_VIEW_ID, "%" }, 468#endif 469 { NULL, 0, NULL } 470}; 471 472 473 474#ifdef MIXMASTER 475const struct binding_t OpMix[] = { /* map: mixmaster */ 476 { "accept", OP_MIX_USE, MUTT_ENTER_S }, 477 { "append", OP_MIX_APPEND, "a" }, 478 { "insert", OP_MIX_INSERT, "i" }, 479 { "delete", OP_MIX_DELETE, "d" }, 480 { "chain-prev", OP_MIX_CHAIN_PREV, "<left>" }, 481 { "chain-next", OP_MIX_CHAIN_NEXT, "<right>" }, 482 { NULL, 0, NULL } 483}; 484#endif /* MIXMASTER */