From: Pierre Habouzit Date: Wed, 1 Nov 2006 01:49:49 +0000 (+0100) Subject: the C gods blessed us with a preprocessor, use it. X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=commitdiff_plain;h=53186676acf2c3b5509a614433eb00a2087cd4ec the C gods blessed us with a preprocessor, use it. Signed-off-by: Pierre Habouzit --- diff --git a/Makefile.am b/Makefile.am index c223c0c..3abf33b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -80,7 +80,7 @@ EXTRA_DIST = config.rpath COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO \ configure acconfig.h \ account.h alias.h attach.h recvattach.h handler.h thread.h \ buffy.h charset.h compress.h copy.h \ - dotlock.h functions.h gen_defs \ + dotlock.h functions.def gen_defs \ enter.h recvattach.h handler.h thread.h \ globals.h history.h init.h keymap.h mutt_crypt.h \ mime.h mutt.h mutt_curses.h mutt_menu.h \ diff --git a/functions.def b/functions.def new file mode 100644 index 0000000..a462eff --- /dev/null +++ b/functions.def @@ -0,0 +1,503 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + * Copyright © 2006 Pierre Habouzit + */ + +/* + * Copyright notice from original mutt: + * Copyright (C) 1996-2000 Michael R. Elkins + * + * This file is part of mutt-ng, see http://www.muttng.org/. + * It's licensed under the GNU General Public License, + * please see the file GPL in the top level source directory. + */ + +/* + * This file contains the structures needed to parse ``bind'' commands, as + * well as the default bindings for each menu. + * + * Notes: + * + * - If you want to bind \n or \r, use M_ENTER_S so that it will work + * correctly under both ncurses and S-Lang + * + * - If you need to bind a control char, use the octal value because the \cX + * construct does not work at this level. + * + */ + +#if defined(MUTT_FUNCTIONS_PROTO) +# define LIST(name) extern struct binding_t name[] +# define ITEM(a, b, c) +# define ENDLIST ; +#elif defined (MUTT_FUNCTIONS_VALUES) +# define LIST(name) struct binding_t name[] = { +# define ITEM(a, b, c) {a, b, c}, +# define ENDLIST {NULL, -1, NULL}}; +#else +# error neither MUTT_FUNCTIONS_PROTO nor MUTT_FUNCTIONS_VALUES is defined +#endif + +LIST(OpGeneric) + ITEM("top-page", OP_TOP_PAGE, "H") + ITEM("next-entry", OP_NEXT_ENTRY, "j") + ITEM("previous-entry", OP_PREV_ENTRY, "k") + ITEM("bottom-page", OP_BOTTOM_PAGE, "L") + ITEM("refresh", OP_REDRAW, "\014") + ITEM("middle-page", OP_MIDDLE_PAGE, "M") + ITEM("search-next", OP_SEARCH_NEXT, "n") + ITEM("exit", OP_EXIT, "q") + ITEM("tag-entry", OP_TAG, "t") + ITEM("next-page", OP_NEXT_PAGE, "z") + ITEM("previous-page", OP_PREV_PAGE, "Z") + ITEM("last-entry", OP_LAST_ENTRY, "*") + ITEM("first-entry", OP_FIRST_ENTRY, "=") + ITEM("enter-command", OP_ENTER_COMMAND, ":") + ITEM("next-line", OP_NEXT_LINE, ">") + ITEM("previous-line", OP_PREV_LINE, "<") + ITEM("half-up", OP_HALF_UP, "[") + ITEM("half-down", OP_HALF_DOWN, "]") + ITEM("help", OP_HELP, "?") + ITEM("tag-prefix", OP_TAG_PREFIX, ";") + ITEM("tag-prefix-cond", OP_TAG_PREFIX_COND, NULL) + ITEM("end-cond", OP_END_COND, NULL) + ITEM("shell-escape", OP_SHELL_ESCAPE, "!") + ITEM("select-entry", OP_GENERIC_SELECT_ENTRY, M_ENTER_S) + ITEM("search", OP_SEARCH, "/") + ITEM("search-reverse", OP_SEARCH_REVERSE, "\033/") + ITEM("search-opposite", OP_SEARCH_OPPOSITE, NULL) + ITEM("jump", OP_JUMP, NULL) + ITEM("current-top", OP_CURRENT_TOP, NULL) + ITEM("current-middle", OP_CURRENT_MIDDLE, NULL) + ITEM("current-bottom", OP_CURRENT_BOTTOM, NULL) + ITEM("what-key", OP_WHAT_KEY, NULL) + ITEM("rebuild-cache", OP_REBUILD_CACHE, NULL) +ENDLIST + +LIST(OpMain) + ITEM("create-alias", OP_CREATE_ALIAS, "a") + ITEM("bounce-message", OP_BOUNCE_MESSAGE, "b") + ITEM("break-thread", OP_MAIN_BREAK_THREAD, "#") + ITEM("change-folder", OP_MAIN_CHANGE_FOLDER, "c") + ITEM("change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY,"\033c") +#ifdef USE_NNTP + ITEM("change-newsgroup", OP_MAIN_CHANGE_GROUP, "i") + ITEM("change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY, "\033i") +#endif + ITEM("collapse-thread", OP_MAIN_COLLAPSE_THREAD, "\033v") + ITEM("collapse-all", OP_MAIN_COLLAPSE_ALL, "\033V") + ITEM("copy-message", OP_COPY_MESSAGE, "C") + ITEM("decode-copy", OP_DECODE_COPY, "\033C") + ITEM("decode-save", OP_DECODE_SAVE, "\033s") + ITEM("delete-message", OP_DELETE, "d") + ITEM("delete-pattern", OP_MAIN_DELETE_PATTERN, "D") + ITEM("delete-thread", OP_DELETE_THREAD, "\004") + ITEM("delete-subthread", OP_DELETE_SUBTHREAD, "\033d") + ITEM("edit", OP_EDIT_MESSAGE, "e") + ITEM("edit-type", OP_EDIT_TYPE, "\005") + ITEM("forward-message", OP_FORWARD_MESSAGE, "f") +#ifdef USE_NNTP + ITEM("forward-to-group", OP_FORWARD_TO_GROUP, "\033F") + ITEM("followup-message", OP_FOLLOWUP, "F") + ITEM("get-children", OP_GET_CHILDREN, NULL) + ITEM("get-message", OP_GET_MESSAGE, "\007") + ITEM("get-parent", OP_GET_PARENT, "\033G") + ITEM("reconstruct-thread", OP_RECONSTRUCT_THREAD, NULL) +#endif + ITEM("flag-message", OP_FLAG_MESSAGE, "\033f") + ITEM("group-reply", OP_GROUP_REPLY, "g") +#ifdef USE_POP + ITEM("fetch-mail", OP_MAIN_FETCH_MAIL, "G") +#endif +#ifdef USE_IMAP + ITEM("imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL) +#endif + ITEM("display-toggle-weed", OP_DISPLAY_HEADERS, "h") + ITEM("next-undeleted", OP_MAIN_NEXT_UNDELETED, "j") + ITEM("previous-undeleted", OP_MAIN_PREV_UNDELETED, "k") + ITEM("limit", OP_MAIN_LIMIT, "l") + ITEM("link-threads", OP_MAIN_LINK_THREADS, "&") + ITEM("list-reply", OP_LIST_REPLY, "L") + ITEM("mail", OP_MAIL, "m") + ITEM("toggle-new", OP_TOGGLE_NEW, "N") + ITEM("toggle-write", OP_TOGGLE_WRITE, "%") + ITEM("next-thread", OP_MAIN_NEXT_THREAD, "\016") + ITEM("next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n") + ITEM("purge-message", OP_PURGE_MESSAGE, NULL) + ITEM("query", OP_QUERY, "Q") + ITEM("quit", OP_QUIT, "q") + ITEM("reply", OP_REPLY, "r") + ITEM("show-limit", OP_MAIN_SHOW_LIMIT, "\033l") + ITEM("sort-mailbox", OP_SORT, "o") + ITEM("sort-reverse", OP_SORT_REVERSE, "O") + ITEM("print-message", OP_PRINT, "p") +#ifdef USE_NNTP + ITEM("post-message", OP_POST, "P") +#endif + ITEM("previous-thread", OP_MAIN_PREV_THREAD, "\020") + ITEM("previous-subthread", OP_MAIN_PREV_SUBTHREAD, "\033p") + ITEM("recall-message", OP_RECALL_MESSAGE, "R") + ITEM("read-thread", OP_MAIN_READ_THREAD, "\022") + ITEM("read-subthread", OP_MAIN_READ_SUBTHREAD, "\033r") + ITEM("resend-message", OP_RESEND, "\033e") + ITEM("save-message", OP_SAVE, "s") + ITEM("tag-pattern", OP_MAIN_TAG_PATTERN, "T") + ITEM("tag-subthread", OP_TAG_SUBTHREAD, NULL) + ITEM("tag-thread", OP_TAG_THREAD, "\033t") + ITEM("untag-pattern", OP_MAIN_UNTAG_PATTERN, "\024") + ITEM("undelete-message", OP_UNDELETE, "u") + ITEM("undelete-pattern", OP_MAIN_UNDELETE_PATTERN, "U") + ITEM("undelete-subthread", OP_UNDELETE_SUBTHREAD, "\033u") + ITEM("undelete-thread", OP_UNDELETE_THREAD, "\025") + ITEM("view-attachments", OP_VIEW_ATTACHMENTS, "v") + ITEM("show-version", OP_VERSION, "V") + ITEM("set-flag", OP_MAIN_SET_FLAG, "w") + ITEM("clear-flag", OP_MAIN_CLEAR_FLAG, "W") + ITEM("toggle-read", OP_TOGGLE_READ, "X") +#ifdef USE_NNTP + ITEM("catchup", OP_CATCHUP, "y") +#endif + ITEM("display-message", OP_DISPLAY_MESSAGE, M_ENTER_S) + ITEM("buffy-list", OP_BUFFY_LIST, ".") + ITEM("sync-mailbox", OP_MAIN_SYNC_FOLDER, "$") + ITEM("display-address", OP_DISPLAY_ADDRESS, "@") + ITEM("pipe-message", OP_PIPE, "|") + ITEM("next-new", OP_MAIN_NEXT_NEW, NULL) + ITEM("next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t") + ITEM("previous-new", OP_MAIN_PREV_NEW, NULL) + ITEM("previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD, "\033\t") + ITEM("next-unread", OP_MAIN_NEXT_UNREAD, NULL) + ITEM("previous-unread", OP_MAIN_PREV_UNREAD, NULL) + ITEM("parent-message", OP_MAIN_PARENT_MESSAGE, NULL) + + + ITEM("extract-keys", OP_EXTRACT_KEYS, "\013") + ITEM("forget-passphrase", OP_FORGET_PASSPHRASE, "\006") + ITEM("check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P") + ITEM("mail-key", OP_MAIL_KEY, "\033k") + ITEM("decrypt-copy", OP_DECRYPT_COPY, NULL) + ITEM("decrypt-save", OP_DECRYPT_SAVE, NULL) + + + ITEM("sidebar-scroll-up", OP_SIDEBAR_SCROLL_UP, NULL) + ITEM("sidebar-scroll-down", OP_SIDEBAR_SCROLL_DOWN, NULL) + ITEM("sidebar-next", OP_SIDEBAR_NEXT, NULL) + ITEM("sidebar-prev", OP_SIDEBAR_PREV, NULL) + ITEM("sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL) + ITEM("sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL) + ITEM("sidebar-open", OP_SIDEBAR_OPEN, NULL) +ENDLIST + +LIST(OpPager) + ITEM("break-thread", OP_MAIN_BREAK_THREAD, "#") + ITEM("create-alias", OP_CREATE_ALIAS, "a") + ITEM("bounce-message", OP_BOUNCE_MESSAGE, "b") + ITEM("change-folder", OP_MAIN_CHANGE_FOLDER, "c") + ITEM("change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c") +#ifdef USE_NNTP + ITEM("change-newsgroup", OP_MAIN_CHANGE_GROUP, "i") + ITEM("change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY, "\033i") +#endif + ITEM("copy-message", OP_COPY_MESSAGE, "C") + ITEM("decode-copy", OP_DECODE_COPY, "\033C") + ITEM("delete-message", OP_DELETE, "d") + ITEM("delete-thread", OP_DELETE_THREAD, "\004") + ITEM("delete-subthread", OP_DELETE_SUBTHREAD, "\033d") + ITEM("edit", OP_EDIT_MESSAGE, "e") + ITEM("edit-type", OP_EDIT_TYPE, "\005") +#ifdef USE_NNTP + ITEM("followup-message", OP_FOLLOWUP, "F") + ITEM("forward-to-group", OP_FORWARD_TO_GROUP, "\033F") +#endif + ITEM("forward-message", OP_FORWARD_MESSAGE, "f") + ITEM("flag-message", OP_FLAG_MESSAGE, "\033f") + ITEM("group-reply", OP_GROUP_REPLY, "g") +#ifdef USE_IMAP + ITEM("imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL) +#endif + ITEM("display-toggle-weed", OP_DISPLAY_HEADERS, "h") + ITEM("next-undeleted", OP_MAIN_NEXT_UNDELETED, "j") + ITEM("next-entry", OP_NEXT_ENTRY, "J") + ITEM("previous-undeleted", OP_MAIN_PREV_UNDELETED, "k") + ITEM("previous-entry", OP_PREV_ENTRY, "K") + ITEM("link-threads", OP_MAIN_LINK_THREADS, "&") + ITEM("list-reply", OP_LIST_REPLY, "L") + ITEM("redraw-screen", OP_REDRAW, "\014") + ITEM("mail", OP_MAIL, "m") + ITEM("mark-as-new", OP_TOGGLE_NEW, "N") + ITEM("search-next", OP_SEARCH_NEXT, "n") + ITEM("next-thread", OP_MAIN_NEXT_THREAD, "\016") + ITEM("next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n") + ITEM("print-message", OP_PRINT, "p") +#ifdef USE_NNTP + ITEM("post-message", OP_POST, "P") +#endif + ITEM("previous-thread", OP_MAIN_PREV_THREAD, "\020") + ITEM("previous-subthread", OP_MAIN_PREV_SUBTHREAD, "\033p") + ITEM("purge-message", OP_PURGE_MESSAGE, NULL) + ITEM("quit", OP_QUIT, "Q") + ITEM("exit", OP_EXIT, "q") + ITEM("reply", OP_REPLY, "r") + ITEM("recall-message", OP_RECALL_MESSAGE, "R") + ITEM("read-thread", OP_MAIN_READ_THREAD, "\022") + ITEM("read-subthread", OP_MAIN_READ_SUBTHREAD, "\033r") + ITEM("resend-message", OP_RESEND, "\033e") + ITEM("save-message", OP_SAVE, "s") + ITEM("skip-quoted", OP_PAGER_SKIP_QUOTED, "S") + ITEM("decode-save", OP_DECODE_SAVE, "\033s") + ITEM("tag-message", OP_TAG, "t") + ITEM("toggle-quoted", OP_PAGER_HIDE_QUOTED, "T") + ITEM("undelete-message", OP_UNDELETE, "u") + ITEM("undelete-subthread", OP_UNDELETE_SUBTHREAD, "\033u") + ITEM("undelete-thread", OP_UNDELETE_THREAD, "\025") + ITEM("view-attachments", OP_VIEW_ATTACHMENTS, "v") + ITEM("show-version", OP_VERSION, "V") + ITEM("search-toggle", OP_SEARCH_TOGGLE, "\\") + ITEM("display-address", OP_DISPLAY_ADDRESS, "@") + ITEM("next-new", OP_MAIN_NEXT_NEW, NULL) + ITEM("next-new-then-unread", OP_MAIN_NEXT_NEW_THEN_UNREAD, "\t") + ITEM("pipe-message", OP_PIPE, "|") + ITEM("help", OP_HELP, "?") + ITEM("next-page", OP_NEXT_PAGE, " ") + ITEM("previous-page", OP_PREV_PAGE, "-") + ITEM("top", OP_PAGER_TOP, "^") + ITEM("sync-mailbox", OP_MAIN_SYNC_FOLDER, "$") + ITEM("shell-escape", OP_SHELL_ESCAPE, "!") + ITEM("enter-command", OP_ENTER_COMMAND, ":") + ITEM("buffy-list", OP_BUFFY_LIST, ".") + ITEM("search", OP_SEARCH, "/") + ITEM("search-reverse", OP_SEARCH_REVERSE, "\033/") + ITEM("search-opposite", OP_SEARCH_OPPOSITE, NULL) + ITEM("next-line", OP_NEXT_LINE, M_ENTER_S) + ITEM("jump", OP_JUMP, NULL) + ITEM("next-unread", OP_MAIN_NEXT_UNREAD, NULL) + ITEM("previous-new", OP_MAIN_PREV_NEW, NULL) + ITEM("previous-new-then-unread", OP_MAIN_PREV_NEW_THEN_UNREAD, NULL) + ITEM("previous-unread", OP_MAIN_PREV_UNREAD, NULL) + ITEM("half-up", OP_HALF_UP, NULL) + ITEM("half-down", OP_HALF_DOWN, NULL) + ITEM("previous-line", OP_PREV_LINE, NULL) + ITEM("bottom", OP_PAGER_BOTTOM, NULL) + ITEM("parent-message", OP_MAIN_PARENT_MESSAGE, NULL) + + ITEM("check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P") + ITEM("mail-key", OP_MAIL_KEY, "\033k") + ITEM("extract-keys", OP_EXTRACT_KEYS, "\013") + ITEM("forget-passphrase", OP_FORGET_PASSPHRASE, "\006") + ITEM("decrypt-copy", OP_DECRYPT_COPY, NULL) + ITEM("decrypt-save", OP_DECRYPT_SAVE, NULL) + + ITEM("sidebar-scroll-up", OP_SIDEBAR_SCROLL_UP, NULL) + ITEM("sidebar-scroll-down", OP_SIDEBAR_SCROLL_DOWN, NULL) + ITEM("sidebar-next", OP_SIDEBAR_NEXT, NULL) + ITEM("sidebar-prev", OP_SIDEBAR_PREV, NULL) + ITEM("sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL) + ITEM("sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL) + ITEM("sidebar-open", OP_SIDEBAR_OPEN, NULL) +ENDLIST + +LIST(OpAttach) + ITEM("bounce-message", OP_BOUNCE_MESSAGE, "b") + ITEM("display-toggle-weed", OP_DISPLAY_HEADERS, "h") + ITEM("edit-type", OP_EDIT_TYPE, "\005") +#ifdef USE_NNTP + ITEM("followup-message", OP_FOLLOWUP, "F") + ITEM("forward-to-group", OP_FORWARD_TO_GROUP, "\033F") +#endif + ITEM("print-entry", OP_PRINT, "p") + ITEM("save-entry", OP_SAVE, "s") + ITEM("pipe-entry", OP_PIPE, "|") + ITEM("view-mailcap", OP_ATTACH_VIEW_MAILCAP, "m") + ITEM("reply", OP_REPLY, "r") + ITEM("resend-message", OP_RESEND, "\033e") + ITEM("group-reply", OP_GROUP_REPLY, "g") + ITEM("list-reply", OP_LIST_REPLY, "L") + ITEM("forward-message", OP_FORWARD_MESSAGE, "f") + ITEM("view-text", OP_ATTACH_VIEW_TEXT, "T") + ITEM("view-attach", OP_VIEW_ATTACH, M_ENTER_S) + ITEM("delete-entry", OP_DELETE, "d") + ITEM("undelete-entry", OP_UNDELETE, "u") + ITEM("collapse-parts", OP_ATTACH_COLLAPSE, "v") + + ITEM("check-traditional-pgp", OP_CHECK_TRADITIONAL, "\033P") + ITEM("extract-keys", OP_EXTRACT_KEYS, "\013") + ITEM("forget-passphrase", OP_FORGET_PASSPHRASE, "\006") +ENDLIST + +LIST(OpCompose) + ITEM("attach-file", OP_COMPOSE_ATTACH_FILE, "a") + ITEM("attach-message", OP_COMPOSE_ATTACH_MESSAGE, "A") + ITEM("attach-news-message", OP_COMPOSE_ATTACH_NEWS_MESSAGE, "\033a") + ITEM("edit-bcc", OP_COMPOSE_EDIT_BCC, "b") + ITEM("edit-cc", OP_COMPOSE_EDIT_CC, "c") + ITEM("copy-file", OP_SAVE, "C") + ITEM("detach-file", OP_DELETE, "D") + ITEM("toggle-disposition", OP_COMPOSE_TOGGLE_DISPOSITION, "\004") + ITEM("edit-description", OP_COMPOSE_EDIT_DESCRIPTION, "d") + ITEM("edit-message", OP_COMPOSE_EDIT_MESSAGE, "e") + ITEM("edit-headers", OP_COMPOSE_EDIT_HEADERS, "E") + ITEM("edit-file", OP_COMPOSE_EDIT_FILE, "\030e") + ITEM("edit-encoding", OP_COMPOSE_EDIT_ENCODING, "\005") + ITEM("edit-from", OP_COMPOSE_EDIT_FROM, "\033f") + ITEM("edit-fcc", OP_COMPOSE_EDIT_FCC, "f") + ITEM("filter-entry", OP_FILTER, "F") + ITEM("get-attachment", OP_COMPOSE_GET_ATTACHMENT, "G") + ITEM("display-toggle-weed", OP_DISPLAY_HEADERS, "h") + ITEM("ispell", OP_COMPOSE_ISPELL, "i") + ITEM("print-entry", OP_PRINT, "l") + ITEM("edit-mime", OP_COMPOSE_EDIT_MIME, "m") + ITEM("new-mime", OP_COMPOSE_NEW_MIME, "n") +#ifdef USE_NNTP + ITEM("edit-newsgroups", OP_COMPOSE_EDIT_NEWSGROUPS, "N") + ITEM("edit-followup-to", OP_COMPOSE_EDIT_FOLLOWUP_TO, "o") + ITEM("edit-x-comment-to", OP_COMPOSE_EDIT_X_COMMENT_TO, "x") +#endif + ITEM("postpone-message", OP_COMPOSE_POSTPONE_MESSAGE, "P") + ITEM("edit-reply-to", OP_COMPOSE_EDIT_REPLY_TO, "r") + ITEM("rename-file", OP_COMPOSE_RENAME_FILE, "R") + ITEM("edit-subject", OP_COMPOSE_EDIT_SUBJECT, "s") + ITEM("edit-to", OP_COMPOSE_EDIT_TO, "t") + ITEM("edit-type", OP_EDIT_TYPE, "\024") + ITEM("write-fcc", OP_COMPOSE_WRITE_MESSAGE, "w") + ITEM("toggle-unlink", OP_COMPOSE_TOGGLE_UNLINK, "u") + ITEM("toggle-recode", OP_COMPOSE_TOGGLE_RECODE, NULL) + ITEM("update-encoding", OP_COMPOSE_UPDATE_ENCODING, "U") + ITEM("view-attach", OP_VIEW_ATTACH, M_ENTER_S) + ITEM("send-message", OP_COMPOSE_SEND_MESSAGE, "y") + ITEM("pipe-entry", OP_PIPE, "|") + + ITEM("attach-key", OP_COMPOSE_ATTACH_KEY, "\033k") + ITEM("pgp-menu", OP_COMPOSE_PGP_MENU, "p") + + ITEM("forget-passphrase", OP_FORGET_PASSPHRASE, "\006") + + ITEM("smime-menu", OP_COMPOSE_SMIME_MENU, "S") + +#ifdef MIXMASTER + ITEM("mix", OP_COMPOSE_MIX, "M") +#endif +ENDLIST + +LIST(OpPost) + ITEM("delete-entry", OP_DELETE, "d") + ITEM("undelete-entry", OP_UNDELETE, "u") +ENDLIST + +LIST(OpAlias) + ITEM("delete-entry", OP_DELETE, "d") + ITEM("undelete-entry", OP_UNDELETE, "u") +ENDLIST + +/* The file browser */ +LIST(OpBrowser) + ITEM("change-dir", OP_CHANGE_DIRECTORY, "c") + ITEM("display-filename", OP_BROWSER_TELL, "@") + ITEM("enter-mask", OP_ENTER_MASK, "m") + ITEM("sort", OP_SORT, "o") + ITEM("sort-reverse", OP_SORT_REVERSE, "O") + ITEM("select-new", OP_BROWSER_NEW_FILE, "N") + ITEM("check-new", OP_CHECK_NEW, NULL) + ITEM("toggle-mailboxes", OP_TOGGLE_MAILBOXES, "\t") +#ifdef USE_NNTP + ITEM("reload-active", OP_LOAD_ACTIVE, "g") + ITEM("subscribe-pattern", OP_SUBSCRIBE_PATTERN, "S") + ITEM("unsubscribe-pattern", OP_UNSUBSCRIBE_PATTERN, "U") + ITEM("catchup", OP_CATCHUP, "y") + ITEM("uncatchup", OP_UNCATCHUP, "Y") +#endif + ITEM("view-file", OP_BROWSER_VIEW_FILE, " ") + ITEM("buffy-list", OP_BUFFY_LIST, ".") +#ifdef USE_IMAP + ITEM("create-mailbox", OP_CREATE_MAILBOX, "C") + ITEM("delete-mailbox", OP_DELETE_MAILBOX, "d") + ITEM("rename-mailbox", OP_RENAME_MAILBOX, "r") +#endif +#if defined USE_IMAP || defined USE_NNTP + ITEM("subscribe", OP_BROWSER_SUBSCRIBE, "s") + ITEM("unsubscribe", OP_BROWSER_UNSUBSCRIBE, "u") +#endif +#ifdef USE_IMAP + ITEM("toggle-subscribed", OP_BROWSER_TOGGLE_LSUB, "T") +#endif +ENDLIST + +/* External Query Menu */ +LIST(OpQuery) + ITEM("create-alias", OP_CREATE_ALIAS, "a") + ITEM("mail", OP_MAIL, "m") + ITEM("query", OP_QUERY, "Q") + ITEM("query-append", OP_QUERY_APPEND, "A") +ENDLIST + +LIST(OpEditor) + ITEM("bol", OP_EDITOR_BOL, "\001") + ITEM("backward-char", OP_EDITOR_BACKWARD_CHAR, "\002") + ITEM("backward-word", OP_EDITOR_BACKWARD_WORD, "\033b") + ITEM("capitalize-word", OP_EDITOR_CAPITALIZE_WORD, "\033c") + ITEM("downcase-word", OP_EDITOR_DOWNCASE_WORD, "\033l") + ITEM("upcase-word", OP_EDITOR_UPCASE_WORD, "\033u") + ITEM("delete-char", OP_EDITOR_DELETE_CHAR, "\004") + ITEM("eol", OP_EDITOR_EOL, "\005") + ITEM("forward-char", OP_EDITOR_FORWARD_CHAR, "\006") + ITEM("forward-word", OP_EDITOR_FORWARD_WORD, "\033f") + ITEM("backspace", OP_EDITOR_BACKSPACE, "\010") + ITEM("kill-eol", OP_EDITOR_KILL_EOL, "\013") + ITEM("kill-eow", OP_EDITOR_KILL_EOW, "\033d") + ITEM("kill-line", OP_EDITOR_KILL_LINE, "\025") + ITEM("quote-char", OP_EDITOR_QUOTE_CHAR, "\026") + ITEM("kill-word", OP_EDITOR_KILL_WORD, "\027") + ITEM("complete", OP_EDITOR_COMPLETE, "\t") + ITEM("complete-query", OP_EDITOR_COMPLETE_QUERY, "\024") + ITEM("buffy-cycle", OP_EDITOR_BUFFY_CYCLE, " ") + ITEM("history-up", OP_EDITOR_HISTORY_UP, NULL) + ITEM("history-down", OP_EDITOR_HISTORY_DOWN, NULL) + ITEM("transpose-chars", OP_EDITOR_TRANSPOSE_CHARS, NULL) +ENDLIST + +LIST(OpPgp) + ITEM("verify-key", OP_VERIFY_KEY, "c") + ITEM("view-name", OP_VIEW_ID, "%") +ENDLIST + +/* When using the GPGME based backendwe have some useful functions + for the SMIME menu. */ +LIST(OpSmime) +#ifdef CRYPT_BACKEND_GPGME + ITEM("verify-key", OP_VERIFY_KEY, "c") + ITEM("view-name", OP_VIEW_ID, "%") +#endif +ENDLIST + +#ifdef MIXMASTER +LIST(OpMix) + ITEM("accept", OP_MIX_USE, M_ENTER_S) + ITEM("append", OP_MIX_APPEND, "a") + ITEM("insert", OP_MIX_INSERT, "i") + ITEM("delete", OP_MIX_DELETE, "d") + ITEM("chain-prev", OP_MIX_CHAIN_PREV, "") + ITEM("chain-next", OP_MIX_CHAIN_NEXT, "") +ENDLIST +#endif /* MIXMASTER */ + +#undef ENDLIST +#undef ITEM +#undef LIST + +#undef MUTT_FUNCTIONS_PROTO +#undef MUTT_FUNCTIONS_VALUES + +/* vim:set ft=c: */ diff --git a/functions.h b/functions.h deleted file mode 100644 index ae914d7..0000000 --- a/functions.h +++ /dev/null @@ -1,491 +0,0 @@ -/* - * Copyright notice from original mutt: - * Copyright (C) 1996-2000 Michael R. Elkins - * - * This file is part of mutt-ng, see http://www.muttng.org/. - * It's licensed under the GNU General Public License, - * please see the file GPL in the top level source directory. - */ - -/* - * This file contains the structures needed to parse ``bind'' commands, as - * well as the default bindings for each menu. - * - * Notes: - * - * - If you want to bind \n or \r, use M_ENTER_S so that it will work - * correctly under both ncurses and S-Lang - * - * - If you need to bind a control char, use the octal value because the \cX - * construct does not work at this level. - * - */ - -struct binding_t OpGeneric[] = { - {"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, M_ENTER_S}, - {"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}, - {"what-key", OP_WHAT_KEY, NULL}, - {"rebuild-cache", OP_REBUILD_CACHE, NULL}, - {NULL, 0, NULL} -}; - -struct binding_t OpMain[] = { - {"create-alias", OP_CREATE_ALIAS, "a"}, - {"bounce-message", OP_BOUNCE_MESSAGE, "b"}, - {"break-thread", OP_MAIN_BREAK_THREAD, "#"}, - {"change-folder", OP_MAIN_CHANGE_FOLDER, "c"}, - {"change-folder-readonly", OP_MAIN_CHANGE_FOLDER_READONLY, "\033c"}, -#ifdef USE_NNTP - {"change-newsgroup", OP_MAIN_CHANGE_GROUP, "i"}, - {"change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY, "\033i"}, -#endif - {"collapse-thread", OP_MAIN_COLLAPSE_THREAD, "\033v"}, - {"collapse-all", OP_MAIN_COLLAPSE_ALL, "\033V"}, - {"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-type", OP_EDIT_TYPE, "\005"}, - {"forward-message", OP_FORWARD_MESSAGE, "f"}, -#ifdef USE_NNTP - {"forward-to-group", OP_FORWARD_TO_GROUP, "\033F"}, - {"followup-message", OP_FOLLOWUP, "F"}, - {"get-children", OP_GET_CHILDREN, NULL}, - {"get-message", OP_GET_MESSAGE, "\007"}, - {"get-parent", OP_GET_PARENT, "\033G"}, - {"reconstruct-thread", OP_RECONSTRUCT_THREAD, NULL}, -#endif - {"flag-message", OP_FLAG_MESSAGE, "\033f"}, - {"group-reply", OP_GROUP_REPLY, "g"}, -#ifdef USE_POP - {"fetch-mail", OP_MAIN_FETCH_MAIL, "G"}, -#endif -#ifdef USE_IMAP - {"imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL}, -#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-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"}, -#ifdef USE_NNTP - {"post-message", OP_POST, "P"}, -#endif - {"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"}, - {"toggle-read", OP_TOGGLE_READ, "X"}, -#ifdef USE_NNTP - {"catchup", OP_CATCHUP, "y"}, -#endif - {"display-message", OP_DISPLAY_MESSAGE, M_ENTER_S}, - {"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, 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}, - - - {"sidebar-scroll-up", OP_SIDEBAR_SCROLL_UP, NULL}, - {"sidebar-scroll-down", OP_SIDEBAR_SCROLL_DOWN, NULL}, - {"sidebar-next", OP_SIDEBAR_NEXT, NULL}, - {"sidebar-prev", OP_SIDEBAR_PREV, NULL}, - {"sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL}, - {"sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL}, - {"sidebar-open", OP_SIDEBAR_OPEN, NULL}, - {NULL, 0, NULL} -}; - -struct binding_t OpPager[] = { - {"break-thread", OP_MAIN_BREAK_THREAD, "#"}, - {"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"}, -#ifdef USE_NNTP - {"change-newsgroup", OP_MAIN_CHANGE_GROUP, "i"}, - {"change-newsgroup-readonly", OP_MAIN_CHANGE_GROUP_READONLY, "\033i"}, -#endif - {"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"}, - {"edit", OP_EDIT_MESSAGE, "e"}, - {"edit-type", OP_EDIT_TYPE, "\005"}, -#ifdef USE_NNTP - {"followup-message", OP_FOLLOWUP, "F"}, - {"forward-to-group", OP_FORWARD_TO_GROUP, "\033F"}, -#endif - {"forward-message", OP_FORWARD_MESSAGE, "f"}, - {"flag-message", OP_FLAG_MESSAGE, "\033f"}, - {"group-reply", OP_GROUP_REPLY, "g"}, -#ifdef USE_IMAP - {"imap-fetch-mail", OP_MAIN_IMAP_FETCH, NULL}, -#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-reply", OP_LIST_REPLY, "L"}, - {"redraw-screen", OP_REDRAW, "\014"}, - {"mail", OP_MAIL, "m"}, - {"mark-as-new", OP_TOGGLE_NEW, "N"}, - {"search-next", OP_SEARCH_NEXT, "n"}, - {"next-thread", OP_MAIN_NEXT_THREAD, "\016"}, - {"next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n"}, - {"print-message", OP_PRINT, "p"}, -#ifdef USE_NNTP - {"post-message", OP_POST, "P"}, -#endif - {"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-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, M_ENTER_S}, - {"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, 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}, - - - {"sidebar-scroll-up", OP_SIDEBAR_SCROLL_UP, NULL}, - {"sidebar-scroll-down", OP_SIDEBAR_SCROLL_DOWN, NULL}, - {"sidebar-next", OP_SIDEBAR_NEXT, NULL}, - {"sidebar-prev", OP_SIDEBAR_PREV, NULL}, - {"sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL}, - {"sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL}, - {"sidebar-open", OP_SIDEBAR_OPEN, NULL}, - {NULL, 0, NULL} -}; - -struct binding_t OpAttach[] = { - {"bounce-message", OP_BOUNCE_MESSAGE, "b"}, - {"display-toggle-weed", OP_DISPLAY_HEADERS, "h"}, - {"edit-type", OP_EDIT_TYPE, "\005"}, -#ifdef USE_NNTP - {"followup-message", OP_FOLLOWUP, "F"}, - {"forward-to-group", OP_FORWARD_TO_GROUP, "\033F"}, -#endif - {"print-entry", OP_PRINT, "p"}, - {"save-entry", OP_SAVE, "s"}, - {"pipe-entry", OP_PIPE, "|"}, - {"view-mailcap", OP_ATTACH_VIEW_MAILCAP, "m"}, - {"reply", OP_REPLY, "r"}, - {"resend-message", OP_RESEND, "\033e"}, - {"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, M_ENTER_S}, - {"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} -}; - -struct binding_t OpCompose[] = { - {"attach-file", OP_COMPOSE_ATTACH_FILE, "a"}, - {"attach-message", OP_COMPOSE_ATTACH_MESSAGE, "A"}, - {"attach-news-message", OP_COMPOSE_ATTACH_NEWS_MESSAGE, "\033a"}, - {"edit-bcc", OP_COMPOSE_EDIT_BCC, "b"}, - {"edit-cc", OP_COMPOSE_EDIT_CC, "c"}, - {"copy-file", OP_SAVE, "C"}, - {"detach-file", OP_DELETE, "D"}, - {"toggle-disposition", OP_COMPOSE_TOGGLE_DISPOSITION, "\004"}, - {"edit-description", OP_COMPOSE_EDIT_DESCRIPTION, "d"}, - {"edit-message", OP_COMPOSE_EDIT_MESSAGE, "e"}, - {"edit-headers", OP_COMPOSE_EDIT_HEADERS, "E"}, - {"edit-file", OP_COMPOSE_EDIT_FILE, "\030e"}, - {"edit-encoding", OP_COMPOSE_EDIT_ENCODING, "\005"}, - {"edit-from", OP_COMPOSE_EDIT_FROM, "\033f"}, - {"edit-fcc", OP_COMPOSE_EDIT_FCC, "f"}, - {"filter-entry", OP_FILTER, "F"}, - {"get-attachment", OP_COMPOSE_GET_ATTACHMENT, "G"}, - {"display-toggle-weed", OP_DISPLAY_HEADERS, "h"}, - {"ispell", OP_COMPOSE_ISPELL, "i"}, - {"print-entry", OP_PRINT, "l"}, - {"edit-mime", OP_COMPOSE_EDIT_MIME, "m"}, - {"new-mime", OP_COMPOSE_NEW_MIME, "n"}, -#ifdef USE_NNTP - {"edit-newsgroups", OP_COMPOSE_EDIT_NEWSGROUPS, "N"}, - {"edit-followup-to", OP_COMPOSE_EDIT_FOLLOWUP_TO, "o"}, - {"edit-x-comment-to", OP_COMPOSE_EDIT_X_COMMENT_TO, "x"}, -#endif - {"postpone-message", OP_COMPOSE_POSTPONE_MESSAGE, "P"}, - {"edit-reply-to", OP_COMPOSE_EDIT_REPLY_TO, "r"}, - {"rename-file", OP_COMPOSE_RENAME_FILE, "R"}, - {"edit-subject", OP_COMPOSE_EDIT_SUBJECT, "s"}, - {"edit-to", OP_COMPOSE_EDIT_TO, "t"}, - {"edit-type", OP_EDIT_TYPE, "\024"}, - {"write-fcc", OP_COMPOSE_WRITE_MESSAGE, "w"}, - {"toggle-unlink", OP_COMPOSE_TOGGLE_UNLINK, "u"}, - {"toggle-recode", OP_COMPOSE_TOGGLE_RECODE, NULL}, - {"update-encoding", OP_COMPOSE_UPDATE_ENCODING, "U"}, - {"view-attach", OP_VIEW_ATTACH, M_ENTER_S}, - {"send-message", OP_COMPOSE_SEND_MESSAGE, "y"}, - {"pipe-entry", OP_PIPE, "|"}, - - {"attach-key", OP_COMPOSE_ATTACH_KEY, "\033k"}, - {"pgp-menu", OP_COMPOSE_PGP_MENU, "p"}, - - {"forget-passphrase", OP_FORGET_PASSPHRASE, "\006"}, - - {"smime-menu", OP_COMPOSE_SMIME_MENU, "S"}, - -#ifdef MIXMASTER - {"mix", OP_COMPOSE_MIX, "M"}, -#endif - - {NULL, 0, NULL} -}; - -struct binding_t OpPost[] = { - {"delete-entry", OP_DELETE, "d"}, - {"undelete-entry", OP_UNDELETE, "u"}, - {NULL, 0, NULL} -}; - -struct binding_t OpAlias[] = { - {"delete-entry", OP_DELETE, "d"}, - {"undelete-entry", OP_UNDELETE, "u"}, - {NULL, 0, NULL} -}; - - -/* The file browser */ -struct binding_t OpBrowser[] = { - {"change-dir", OP_CHANGE_DIRECTORY, "c"}, - {"display-filename", OP_BROWSER_TELL, "@"}, - {"enter-mask", OP_ENTER_MASK, "m"}, - {"sort", OP_SORT, "o"}, - {"sort-reverse", OP_SORT_REVERSE, "O"}, - {"select-new", OP_BROWSER_NEW_FILE, "N"}, - {"check-new", OP_CHECK_NEW, NULL}, - {"toggle-mailboxes", OP_TOGGLE_MAILBOXES, "\t"}, -#ifdef USE_NNTP - {"reload-active", OP_LOAD_ACTIVE, "g"}, - {"subscribe-pattern", OP_SUBSCRIBE_PATTERN, "S"}, - {"unsubscribe-pattern", OP_UNSUBSCRIBE_PATTERN, "U"}, - {"catchup", OP_CATCHUP, "y"}, - {"uncatchup", OP_UNCATCHUP, "Y"}, -#endif - {"view-file", OP_BROWSER_VIEW_FILE, " "}, - {"buffy-list", OP_BUFFY_LIST, "."}, -#ifdef USE_IMAP - {"create-mailbox", OP_CREATE_MAILBOX, "C"}, - {"delete-mailbox", OP_DELETE_MAILBOX, "d"}, - {"rename-mailbox", OP_RENAME_MAILBOX, "r"}, -#endif -#if defined USE_IMAP || defined USE_NNTP - {"subscribe", OP_BROWSER_SUBSCRIBE, "s"}, - {"unsubscribe", OP_BROWSER_UNSUBSCRIBE, "u"}, -#endif -#ifdef USE_IMAP - {"toggle-subscribed", OP_BROWSER_TOGGLE_LSUB, "T"}, -#endif - {NULL, 0, NULL} -}; - -/* External Query Menu */ -struct binding_t OpQuery[] = { - {"create-alias", OP_CREATE_ALIAS, "a"}, - {"mail", OP_MAIL, "m"}, - {"query", OP_QUERY, "Q"}, - {"query-append", OP_QUERY_APPEND, "A"}, - {NULL, 0, NULL} -}; - -struct binding_t OpEditor[] = { - {"bol", OP_EDITOR_BOL, "\001"}, - {"backward-char", OP_EDITOR_BACKWARD_CHAR, "\002"}, - {"backward-word", OP_EDITOR_BACKWARD_WORD, "\033b"}, - {"capitalize-word", OP_EDITOR_CAPITALIZE_WORD, "\033c"}, - {"downcase-word", OP_EDITOR_DOWNCASE_WORD, "\033l"}, - {"upcase-word", OP_EDITOR_UPCASE_WORD, "\033u"}, - {"delete-char", OP_EDITOR_DELETE_CHAR, "\004"}, - {"eol", OP_EDITOR_EOL, "\005"}, - {"forward-char", OP_EDITOR_FORWARD_CHAR, "\006"}, - {"forward-word", OP_EDITOR_FORWARD_WORD, "\033f"}, - {"backspace", OP_EDITOR_BACKSPACE, "\010"}, - {"kill-eol", OP_EDITOR_KILL_EOL, "\013"}, - {"kill-eow", OP_EDITOR_KILL_EOW, "\033d"}, - {"kill-line", OP_EDITOR_KILL_LINE, "\025"}, - {"quote-char", OP_EDITOR_QUOTE_CHAR, "\026"}, - {"kill-word", OP_EDITOR_KILL_WORD, "\027"}, - {"complete", OP_EDITOR_COMPLETE, "\t"}, - {"complete-query", OP_EDITOR_COMPLETE_QUERY, "\024"}, - {"buffy-cycle", OP_EDITOR_BUFFY_CYCLE, " "}, - {"history-up", OP_EDITOR_HISTORY_UP, NULL}, - {"history-down", OP_EDITOR_HISTORY_DOWN, NULL}, - {"transpose-chars", OP_EDITOR_TRANSPOSE_CHARS, NULL}, - {NULL, 0, NULL} -}; - - - -struct binding_t OpPgp[] = { - {"verify-key", OP_VERIFY_KEY, "c"}, - {"view-name", OP_VIEW_ID, "%"}, - {NULL, 0, NULL} -}; - - - -/* When using the GPGME based backend we have some useful functions - for the SMIME menu. */ -struct binding_t OpSmime[] = { -#ifdef CRYPT_BACKEND_GPGME - {"verify-key", OP_VERIFY_KEY, "c"}, - {"view-name", OP_VIEW_ID, "%"}, -#endif - {NULL, 0, NULL} -}; - - - -#ifdef MIXMASTER -struct binding_t OpMix[] = { - {"accept", OP_MIX_USE, M_ENTER_S}, - {"append", OP_MIX_APPEND, "a"}, - {"insert", OP_MIX_INSERT, "i"}, - {"delete", OP_MIX_DELETE, "d"}, - {"chain-prev", OP_MIX_CHAIN_PREV, ""}, - {"chain-next", OP_MIX_CHAIN_NEXT, ""}, - {NULL, 0, NULL} -}; -#endif /* MIXMASTER */ diff --git a/keymap.c b/keymap.c index 44ccfd3..208fce0 100644 --- a/keymap.c +++ b/keymap.c @@ -29,7 +29,8 @@ #include #include -#include "functions.h" +#define MUTT_FUNCTIONS_VALUES +#include "functions.def" struct mapping_t Menus[] = { {"alias", MENU_ALIAS}, diff --git a/keymap.h b/keymap.h index 0f215c2..4ec7dd3 100644 --- a/keymap.h +++ b/keymap.h @@ -89,24 +89,8 @@ struct binding_t { struct binding_t *km_get_table (int menu); -extern struct binding_t OpGeneric[]; -extern struct binding_t OpPost[]; -extern struct binding_t OpMain[]; -extern struct binding_t OpAttach[]; -extern struct binding_t OpPager[]; -extern struct binding_t OpCompose[]; -extern struct binding_t OpBrowser[]; -extern struct binding_t OpEditor[]; -extern struct binding_t OpQuery[]; -extern struct binding_t OpAlias[]; - -extern struct binding_t OpPgp[]; - -extern struct binding_t OpSmime[]; - -#ifdef MIXMASTER -extern struct binding_t OpMix[]; -#endif +#define MUTT_FUNCTIONS_PROTO +#include "functions.def" #include "keymap_defs.h"