NeoMutt  2020-11-20
Teaching an old dog new tricks
DOXYGEN
opcodes.h
Go to the documentation of this file.
1 
23 #ifndef MUTT_OPCODES_H
24 #define MUTT_OPCODES_H
25 
26 #include "config.h"
27 #include "mutt/lib.h"
28 
29 // clang-format off
30 #ifdef USE_AUTOCRYPT
31 #define OPS_AUTOCRYPT(_fmt) \
32  _fmt(OP_AUTOCRYPT_ACCT_MENU, N_("manage autocrypt accounts")) \
33  _fmt(OP_AUTOCRYPT_CREATE_ACCT, N_("create a new autocrypt account")) \
34  _fmt(OP_AUTOCRYPT_DELETE_ACCT, N_("delete the current account")) \
35  _fmt(OP_AUTOCRYPT_TOGGLE_ACTIVE, N_("toggle the current account active/inactive")) \
36  _fmt(OP_AUTOCRYPT_TOGGLE_PREFER, N_("toggle the current account prefer-encrypt flag")) \
37  _fmt(OP_COMPOSE_AUTOCRYPT_MENU, N_("show autocrypt compose menu options"))
38 #else
39 #define OPS_AUTOCRYPT(_)
40 #endif
41 
42 #define OPS_CORE(_fmt) \
43  _fmt(OP_ATTACH_COLLAPSE, N_("toggle display of subparts")) \
44  _fmt(OP_ATTACH_VIEW_MAILCAP, N_("force viewing of attachment using mailcap")) \
45  _fmt(OP_ATTACH_VIEW_TEXT, N_("view attachment as text")) \
46  _fmt(OP_BOTTOM_PAGE, N_("move to the bottom of the page")) \
47  _fmt(OP_BOUNCE_MESSAGE, N_("remail a message to another user")) \
48  _fmt(OP_BROWSER_GOTO_FOLDER, N_("swap the current folder position with $folder if it exists")) \
49  _fmt(OP_BROWSER_NEW_FILE, N_("select a new file in this directory")) \
50  _fmt(OP_BROWSER_SUBSCRIBE, N_("subscribe to current mbox (IMAP/NNTP only)")) \
51  _fmt(OP_BROWSER_TELL, N_("display the currently selected file's name")) \
52  _fmt(OP_BROWSER_TOGGLE_LSUB, N_("toggle view all/subscribed mailboxes (IMAP only)")) \
53  _fmt(OP_BROWSER_UNSUBSCRIBE, N_("unsubscribe from current mbox (IMAP/NNTP only)")) \
54  _fmt(OP_BROWSER_VIEW_FILE, N_("view file")) \
55  _fmt(OP_CATCHUP, N_("mark all articles in newsgroup as read")) \
56  _fmt(OP_CHANGE_DIRECTORY, N_("change directories")) \
57  _fmt(OP_CHECK_NEW, N_("check mailboxes for new mail")) \
58  _fmt(OP_CHECK_STATS, N_("calculate message statistics for all mailboxes")) \
59  _fmt(OP_COMPOSE_ATTACH_FILE, N_("attach files to this message")) \
60  _fmt(OP_COMPOSE_ATTACH_MESSAGE, N_("attach messages to this message")) \
61  _fmt(OP_COMPOSE_ATTACH_NEWS_MESSAGE, N_("attach news articles to this message")) \
62  _fmt(OP_COMPOSE_EDIT_BCC, N_("edit the BCC list")) \
63  _fmt(OP_COMPOSE_EDIT_CC, N_("edit the CC list")) \
64  _fmt(OP_COMPOSE_EDIT_DESCRIPTION, N_("edit attachment description")) \
65  _fmt(OP_COMPOSE_EDIT_ENCODING, N_("edit attachment transfer-encoding")) \
66  _fmt(OP_COMPOSE_EDIT_FCC, N_("enter a file to save a copy of this message in")) \
67  _fmt(OP_COMPOSE_EDIT_FILE, N_("edit the file to be attached")) \
68  _fmt(OP_COMPOSE_EDIT_FOLLOWUP_TO, N_("edit the Followup-To field")) \
69  _fmt(OP_COMPOSE_EDIT_FROM, N_("edit the from field")) \
70  _fmt(OP_COMPOSE_EDIT_HEADERS, N_("edit the message with headers")) \
71  _fmt(OP_COMPOSE_EDIT_LANGUAGE, N_("edit the 'Content-Language' of the attachment")) \
72  _fmt(OP_COMPOSE_EDIT_MESSAGE, N_("edit the message")) \
73  _fmt(OP_COMPOSE_EDIT_MIME, N_("edit attachment using mailcap entry")) \
74  _fmt(OP_COMPOSE_EDIT_NEWSGROUPS, N_("edit the newsgroups list")) \
75  _fmt(OP_COMPOSE_EDIT_REPLY_TO, N_("edit the Reply-To field")) \
76  _fmt(OP_COMPOSE_EDIT_SUBJECT, N_("edit the subject of this message")) \
77  _fmt(OP_COMPOSE_EDIT_TO, N_("edit the TO list")) \
78  _fmt(OP_COMPOSE_EDIT_X_COMMENT_TO, N_("edit the X-Comment-To field")) \
79  _fmt(OP_COMPOSE_GET_ATTACHMENT, N_("get a temporary copy of an attachment")) \
80  _fmt(OP_COMPOSE_GROUP_ALTS, N_("group tagged attachments as 'multipart/alternative'")) \
81  _fmt(OP_COMPOSE_GROUP_LINGUAL, N_("group tagged attachments as 'multipart/multilingual'")) \
82  _fmt(OP_COMPOSE_ISPELL, N_("run ispell on the message")) \
83  _fmt(OP_COMPOSE_MOVE_DOWN, N_("move an attachment down in the attachment list")) \
84  _fmt(OP_COMPOSE_MOVE_UP, N_("move an attachment up in the attachment list")) \
85  _fmt(OP_COMPOSE_NEW_MIME, N_("compose new attachment using mailcap entry")) \
86  _fmt(OP_COMPOSE_POSTPONE_MESSAGE, N_("save this message to send later")) \
87  _fmt(OP_COMPOSE_RENAME_ATTACHMENT, N_("send attachment with a different name")) \
88  _fmt(OP_COMPOSE_RENAME_FILE, N_("rename/move an attached file")) \
89  _fmt(OP_COMPOSE_SEND_MESSAGE, N_("send the message")) \
90  _fmt(OP_COMPOSE_TOGGLE_DISPOSITION, N_("toggle disposition between inline/attachment")) \
91  _fmt(OP_COMPOSE_TOGGLE_RECODE, N_("toggle recoding of this attachment")) \
92  _fmt(OP_COMPOSE_TOGGLE_UNLINK, N_("toggle whether to delete file after sending it")) \
93  _fmt(OP_COMPOSE_TO_SENDER, N_("compose new message to the current message sender")) \
94  _fmt(OP_COMPOSE_UPDATE_ENCODING, N_("update an attachment's encoding info")) \
95  _fmt(OP_COMPOSE_WRITE_MESSAGE, N_("write the message to a folder")) \
96  _fmt(OP_COPY_MESSAGE, N_("copy a message to a file/mailbox")) \
97  _fmt(OP_CREATE_ALIAS, N_("create an alias from a message sender")) \
98  _fmt(OP_CREATE_MAILBOX, N_("create a new mailbox (IMAP only)")) \
99  _fmt(OP_CURRENT_BOTTOM, N_("move entry to bottom of screen")) \
100  _fmt(OP_CURRENT_MIDDLE, N_("move entry to middle of screen")) \
101  _fmt(OP_CURRENT_TOP, N_("move entry to top of screen")) \
102  _fmt(OP_DECODE_COPY, N_("make decoded (text/plain) copy")) \
103  _fmt(OP_DECODE_SAVE, N_("make decoded copy (text/plain) and delete")) \
104  _fmt(OP_DELETE, N_("delete the current entry")) \
105  _fmt(OP_DELETE_MAILBOX, N_("delete the current mailbox (IMAP only)")) \
106  _fmt(OP_DELETE_SUBTHREAD, N_("delete all messages in subthread")) \
107  _fmt(OP_DELETE_THREAD, N_("delete all messages in thread")) \
108  _fmt(OP_DESCEND_DIRECTORY, N_("descend into a directory")) \
109  _fmt(OP_DISPLAY_ADDRESS, N_("display full address of sender")) \
110  _fmt(OP_DISPLAY_HEADERS, N_("display message and toggle header weeding")) \
111  _fmt(OP_DISPLAY_MESSAGE, N_("display a message")) \
112  _fmt(OP_EDITOR_BACKSPACE, N_("delete the char in front of the cursor")) \
113  _fmt(OP_EDITOR_BACKWARD_CHAR, N_("move the cursor one character to the left")) \
114  _fmt(OP_EDITOR_BACKWARD_WORD, N_("move the cursor to the beginning of the word")) \
115  _fmt(OP_EDITOR_BOL, N_("jump to the beginning of the line")) \
116  _fmt(OP_EDITOR_CAPITALIZE_WORD, N_("capitalize the word")) \
117  _fmt(OP_EDITOR_COMPLETE, N_("complete filename or alias")) \
118  _fmt(OP_EDITOR_COMPLETE_QUERY, N_("complete address with query")) \
119  _fmt(OP_EDITOR_DELETE_CHAR, N_("delete the char under the cursor")) \
120  _fmt(OP_EDITOR_DOWNCASE_WORD, N_("convert the word to lower case")) \
121  _fmt(OP_EDITOR_EOL, N_("jump to the end of the line")) \
122  _fmt(OP_EDITOR_FORWARD_CHAR, N_("move the cursor one character to the right")) \
123  _fmt(OP_EDITOR_FORWARD_WORD, N_("move the cursor to the end of the word")) \
124  _fmt(OP_EDITOR_HISTORY_DOWN, N_("scroll down through the history list")) \
125  _fmt(OP_EDITOR_HISTORY_SEARCH, N_("search through the history list")) \
126  _fmt(OP_EDITOR_HISTORY_UP, N_("scroll up through the history list")) \
127  _fmt(OP_EDITOR_KILL_EOL, N_("delete chars from cursor to end of line")) \
128  _fmt(OP_EDITOR_KILL_EOW, N_("delete chars from the cursor to the end of the word")) \
129  _fmt(OP_EDITOR_KILL_LINE, N_("delete all chars on the line")) \
130  _fmt(OP_EDITOR_KILL_WORD, N_("delete the word in front of the cursor")) \
131  _fmt(OP_EDITOR_MAILBOX_CYCLE, N_("cycle among incoming mailboxes")) \
132  _fmt(OP_EDITOR_QUOTE_CHAR, N_("quote the next typed key")) \
133  _fmt(OP_EDITOR_TRANSPOSE_CHARS, N_("transpose character under cursor with previous")) \
134  _fmt(OP_EDITOR_UPCASE_WORD, N_("convert the word to upper case")) \
135  _fmt(OP_EDIT_LABEL, N_("add, change, or delete a message's label")) \
136  _fmt(OP_EDIT_OR_VIEW_RAW_MESSAGE, N_("edit the raw message if the mailbox is not read-only, otherwise view it")) \
137  _fmt(OP_EDIT_RAW_MESSAGE, N_("edit the raw message (edit and edit-raw-message are synonyms)")) \
138  _fmt(OP_EDIT_TYPE, N_("edit attachment content type")) \
139  _fmt(OP_END_COND, N_("end of conditional execution (noop)")) \
140  _fmt(OP_ENTER_COMMAND, N_("enter a neomuttrc command")) \
141  _fmt(OP_ENTER_MASK, N_("enter a file mask")) \
142  _fmt(OP_EXIT, N_("exit this menu")) \
143  _fmt(OP_FILTER, N_("filter attachment through a shell command")) \
144  _fmt(OP_FIRST_ENTRY, N_("move to the first entry")) \
145  _fmt(OP_FLAG_MESSAGE, N_("toggle a message's 'important' flag")) \
146  _fmt(OP_FOLLOWUP, N_("followup to newsgroup")) \
147  _fmt(OP_FORWARD_MESSAGE, N_("forward a message with comments")) \
148  _fmt(OP_FORWARD_TO_GROUP, N_("forward to newsgroup")) \
149  _fmt(OP_GENERIC_SELECT_ENTRY, N_("select the current entry")) \
150  _fmt(OP_GET_CHILDREN, N_("get all children of the current message")) \
151  _fmt(OP_GET_MESSAGE, N_("get message with Message-Id")) \
152  _fmt(OP_GET_PARENT, N_("get parent of the current message")) \
153  _fmt(OP_GOTO_PARENT, N_("go to parent directory")) \
154  _fmt(OP_GROUP_CHAT_REPLY, N_("reply to all recipients preserving To/Cc")) \
155  _fmt(OP_GROUP_REPLY, N_("reply to all recipients")) \
156  _fmt(OP_HALF_DOWN, N_("scroll down 1/2 page")) \
157  _fmt(OP_HALF_UP, N_("scroll up 1/2 page")) \
158  _fmt(OP_HELP, N_("this screen")) \
159  _fmt(OP_JUMP, N_("jump to an index number")) \
160  _fmt(OP_LAST_ENTRY, N_("move to the last entry")) \
161  _fmt(OP_LIMIT_CURRENT_THREAD, N_("limit view to current thread")) \
162  _fmt(OP_LIST_REPLY, N_("reply to specified mailing list")) \
163  _fmt(OP_LOAD_ACTIVE, N_("load list of all newsgroups from NNTP server")) \
164  _fmt(OP_MACRO, N_("execute a macro")) \
165  _fmt(OP_MAIL, N_("compose a new mail message")) \
166  _fmt(OP_MAILBOX_LIST, N_("list mailboxes with new mail")) \
167  _fmt(OP_MAIN_BREAK_THREAD, N_("break the thread in two")) \
168  _fmt(OP_MAIN_CHANGE_FOLDER, N_("open a different folder")) \
169  _fmt(OP_MAIN_CHANGE_FOLDER_READONLY, N_("open a different folder in read only mode")) \
170  _fmt(OP_MAIN_CHANGE_GROUP, N_("open a different newsgroup")) \
171  _fmt(OP_MAIN_CHANGE_GROUP_READONLY, N_("open a different newsgroup in read only mode")) \
172  _fmt(OP_MAIN_CLEAR_FLAG, N_("clear a status flag from a message")) \
173  _fmt(OP_MAIN_COLLAPSE_ALL, N_("collapse/uncollapse all threads")) \
174  _fmt(OP_MAIN_COLLAPSE_THREAD, N_("collapse/uncollapse current thread")) \
175  _fmt(OP_MAIN_DELETE_PATTERN, N_("delete messages matching a pattern")) \
176  _fmt(OP_MAIN_FETCH_MAIL, N_("retrieve mail from POP server")) \
177  _fmt(OP_MAIN_IMAP_FETCH, N_("force retrieval of mail from IMAP server")) \
178  _fmt(OP_MAIN_IMAP_LOGOUT_ALL, N_("logout from all IMAP servers")) \
179  _fmt(OP_MAIN_LIMIT, N_("show only messages matching a pattern")) \
180  _fmt(OP_MAIN_LINK_THREADS, N_("link tagged message to the current one")) \
181  _fmt(OP_MAIN_MODIFY_TAGS, N_("modify (notmuch/imap) tags")) \
182  _fmt(OP_MAIN_MODIFY_TAGS_THEN_HIDE, N_("modify (notmuch/imap) tags and then hide message")) \
183  _fmt(OP_MAIN_NEXT_NEW, N_("jump to the next new message")) \
184  _fmt(OP_MAIN_NEXT_NEW_THEN_UNREAD, N_("jump to the next new or unread message")) \
185  _fmt(OP_MAIN_NEXT_SUBTHREAD, N_("jump to the next subthread")) \
186  _fmt(OP_MAIN_NEXT_THREAD, N_("jump to the next thread")) \
187  _fmt(OP_MAIN_NEXT_UNDELETED, N_("move to the next undeleted message")) \
188  _fmt(OP_MAIN_NEXT_UNREAD, N_("jump to the next unread message")) \
189  _fmt(OP_MAIN_NEXT_UNREAD_MAILBOX, N_("open next mailbox with new mail")) \
190  _fmt(OP_MAIN_PARENT_MESSAGE, N_("jump to parent message in thread")) \
191  _fmt(OP_MAIN_PREV_NEW, N_("jump to the previous new message")) \
192  _fmt(OP_MAIN_PREV_NEW_THEN_UNREAD, N_("jump to the previous new or unread message")) \
193  _fmt(OP_MAIN_PREV_SUBTHREAD, N_("jump to previous subthread")) \
194  _fmt(OP_MAIN_PREV_THREAD, N_("jump to previous thread")) \
195  _fmt(OP_MAIN_PREV_UNDELETED, N_("move to the previous undeleted message")) \
196  _fmt(OP_MAIN_PREV_UNREAD, N_("jump to the previous unread message")) \
197  _fmt(OP_MAIN_QUASI_DELETE, N_("delete from NeoMutt, don't touch on disk")) \
198  _fmt(OP_MAIN_READ_SUBTHREAD, N_("mark the current subthread as read")) \
199  _fmt(OP_MAIN_READ_THREAD, N_("mark the current thread as read")) \
200  _fmt(OP_MAIN_ROOT_MESSAGE, N_("jump to root message in thread")) \
201  _fmt(OP_MAIN_SET_FLAG, N_("set a status flag on a message")) \
202  _fmt(OP_MAIN_SHOW_LIMIT, N_("show currently active limit pattern")) \
203  _fmt(OP_MAIN_SYNC_FOLDER, N_("save changes to mailbox")) \
204  _fmt(OP_MAIN_TAG_PATTERN, N_("tag messages matching a pattern")) \
205  _fmt(OP_MAIN_UNDELETE_PATTERN, N_("undelete messages matching a pattern")) \
206  _fmt(OP_MAIN_UNTAG_PATTERN, N_("untag messages matching a pattern")) \
207  _fmt(OP_MARK_MSG, N_("create a hotkey macro for the current message")) \
208  _fmt(OP_MIDDLE_PAGE, N_("move to the middle of the page")) \
209  _fmt(OP_NEXT_ENTRY, N_("move to the next entry")) \
210  _fmt(OP_NEXT_LINE, N_("scroll down one line")) \
211  _fmt(OP_NEXT_PAGE, N_("move to the next page")) \
212  _fmt(OP_PAGER_BOTTOM, N_("jump to the bottom of the message")) \
213  _fmt(OP_PAGER_HIDE_QUOTED, N_("toggle display of quoted text")) \
214  _fmt(OP_PAGER_SKIP_QUOTED, N_("skip beyond quoted text")) \
215  _fmt(OP_PAGER_TOP, N_("jump to the top of the message")) \
216  _fmt(OP_PIPE, N_("pipe message/attachment to a shell command")) \
217  _fmt(OP_POST, N_("post message to newsgroup")) \
218  _fmt(OP_PREV_ENTRY, N_("move to the previous entry")) \
219  _fmt(OP_PREV_LINE, N_("scroll up one line")) \
220  _fmt(OP_PREV_PAGE, N_("move to the previous page")) \
221  _fmt(OP_PRINT, N_("print the current entry")) \
222  _fmt(OP_PURGE_MESSAGE, N_("delete the current entry, bypassing the trash folder")) \
223  _fmt(OP_PURGE_THREAD, N_("delete the current thread, bypassing the trash folder")) \
224  _fmt(OP_QUERY, N_("query external program for addresses")) \
225  _fmt(OP_QUERY_APPEND, N_("append new query results to current results")) \
226  _fmt(OP_QUIT, N_("save changes to mailbox and quit")) \
227  _fmt(OP_RECALL_MESSAGE, N_("recall a postponed message")) \
228  _fmt(OP_RECONSTRUCT_THREAD, N_("reconstruct thread containing current message")) \
229  _fmt(OP_REDRAW, N_("clear and redraw the screen")) \
230  _fmt(OP_REFORMAT_WINCH, N_("{internal}")) \
231  _fmt(OP_RENAME_MAILBOX, N_("rename the current mailbox (IMAP only)")) \
232  _fmt(OP_REPLY, N_("reply to a message")) \
233  _fmt(OP_RESEND, N_("use the current message as a template for a new one")) \
234  _fmt(OP_SAVE, N_("save message/attachment to a mailbox/file")) \
235  _fmt(OP_SEARCH, N_("search for a regular expression")) \
236  _fmt(OP_SEARCH_NEXT, N_("search for next match")) \
237  _fmt(OP_SEARCH_OPPOSITE, N_("search for next match in opposite direction")) \
238  _fmt(OP_SEARCH_REVERSE, N_("search backwards for a regular expression")) \
239  _fmt(OP_SEARCH_TOGGLE, N_("toggle search pattern coloring")) \
240  _fmt(OP_SHELL_ESCAPE, N_("invoke a command in a subshell")) \
241  _fmt(OP_SHOW_LOG_MESSAGES, N_("show log (and debug) messages")) \
242  _fmt(OP_SORT, N_("sort messages")) \
243  _fmt(OP_SORT_REVERSE, N_("sort messages in reverse order")) \
244  _fmt(OP_SUBSCRIBE_PATTERN, N_("subscribe to newsgroups matching a pattern")) \
245  _fmt(OP_TAG, N_("tag the current entry")) \
246  _fmt(OP_TAG_PREFIX, N_("apply next function to tagged messages")) \
247  _fmt(OP_TAG_PREFIX_COND, N_("apply next function ONLY to tagged messages")) \
248  _fmt(OP_TAG_SUBTHREAD, N_("tag the current subthread")) \
249  _fmt(OP_TAG_THREAD, N_("tag the current thread")) \
250  _fmt(OP_TOGGLE_MAILBOXES, N_("toggle whether to browse mailboxes or all files")) \
251  _fmt(OP_TOGGLE_NEW, N_("toggle a message's 'new' flag")) \
252  _fmt(OP_TOGGLE_READ, N_("toggle view of read messages")) \
253  _fmt(OP_TOGGLE_WRITE, N_("toggle whether the mailbox will be rewritten")) \
254  _fmt(OP_TOP_PAGE, N_("move to the top of the page")) \
255  _fmt(OP_UNCATCHUP, N_("mark all articles in newsgroup as unread")) \
256  _fmt(OP_UNDELETE, N_("undelete the current entry")) \
257  _fmt(OP_UNDELETE_SUBTHREAD, N_("undelete all messages in subthread")) \
258  _fmt(OP_UNDELETE_THREAD, N_("undelete all messages in thread")) \
259  _fmt(OP_UNSUBSCRIBE_PATTERN, N_("unsubscribe from newsgroups matching a pattern")) \
260  _fmt(OP_VERSION, N_("show the NeoMutt version number and date")) \
261  _fmt(OP_VIEW_ATTACH, N_("view attachment using mailcap entry if necessary")) \
262  _fmt(OP_VIEW_ATTACHMENTS, N_("show MIME attachments")) \
263  _fmt(OP_VIEW_RAW_MESSAGE, N_("show the raw message")) \
264  _fmt(OP_WHAT_KEY, N_("display the keycode for a key press")) \
265 
266 #define OPS_CRYPT(_fmt) \
267  _fmt(OP_DECRYPT_COPY, N_("make decrypted copy")) \
268  _fmt(OP_DECRYPT_SAVE, N_("make decrypted copy and delete")) \
269  _fmt(OP_EXTRACT_KEYS, N_("extract supported public keys")) \
270  _fmt(OP_FORGET_PASSPHRASE, N_("wipe passphrases from memory")) \
271 
272 #ifdef MIXMASTER
273 #define OPS_MIX(_fmt) \
274  _fmt(OP_COMPOSE_MIX, N_("send the message through a mixmaster remailer chain")) \
275  _fmt(OP_MIX_APPEND, N_("append a remailer to the chain")) \
276  _fmt(OP_MIX_CHAIN_NEXT, N_("select the next element of the chain")) \
277  _fmt(OP_MIX_CHAIN_PREV, N_("select the previous element of the chain")) \
278  _fmt(OP_MIX_DELETE, N_("delete a remailer from the chain")) \
279  _fmt(OP_MIX_INSERT, N_("insert a remailer into the chain")) \
280  _fmt(OP_MIX_USE, N_("accept the chain constructed"))
281 #else
282 #define OPS_MIX(_)
283 #endif
284 
285 #ifdef USE_NOTMUCH
286 #define OPS_NOTMUCH(_fmt) \
287  _fmt(OP_MAIN_CHANGE_VFOLDER, N_("open a different virtual folder")) \
288  _fmt(OP_MAIN_ENTIRE_THREAD, N_("read entire thread of the current message")) \
289  _fmt(OP_MAIN_VFOLDER_FROM_QUERY, N_("generate virtual folder from query")) \
290  _fmt(OP_MAIN_VFOLDER_FROM_QUERY_READONLY, N_("generate a read-only virtual folder from query")) \
291  _fmt(OP_MAIN_WINDOWED_VFOLDER_BACKWARD, N_("shifts virtual folder time window backwards")) \
292  _fmt(OP_MAIN_WINDOWED_VFOLDER_FORWARD, N_("shifts virtual folder time window forwards"))
293 #else
294 #define OPS_NOTMUCH(_)
295 #endif
296 
297 #define OPS_PGP(_fmt) \
298  _fmt(OP_CHECK_TRADITIONAL, N_("check for classic PGP")) \
299  _fmt(OP_COMPOSE_ATTACH_KEY, N_("attach a PGP public key")) \
300  _fmt(OP_COMPOSE_PGP_MENU, N_("show PGP options")) \
301  _fmt(OP_MAIL_KEY, N_("mail a PGP public key")) \
302  _fmt(OP_VERIFY_KEY, N_("verify a PGP public key")) \
303  _fmt(OP_VIEW_ID, N_("view the key's user id")) \
304 
305 #define OPS_SIDEBAR(_fmt) \
306  _fmt(OP_SIDEBAR_FIRST, N_("move the highlight to the first mailbox")) \
307  _fmt(OP_SIDEBAR_LAST, N_("move the highlight to the last mailbox")) \
308  _fmt(OP_SIDEBAR_NEXT, N_("move the highlight to next mailbox")) \
309  _fmt(OP_SIDEBAR_NEXT_NEW, N_("move the highlight to next mailbox with new mail")) \
310  _fmt(OP_SIDEBAR_OPEN, N_("open highlighted mailbox")) \
311  _fmt(OP_SIDEBAR_PAGE_DOWN, N_("scroll the sidebar down 1 page")) \
312  _fmt(OP_SIDEBAR_PAGE_UP, N_("scroll the sidebar up 1 page")) \
313  _fmt(OP_SIDEBAR_PREV, N_("move the highlight to previous mailbox")) \
314  _fmt(OP_SIDEBAR_PREV_NEW, N_("move the highlight to previous mailbox with new mail")) \
315  _fmt(OP_SIDEBAR_TOGGLE_VIRTUAL, N_("toggle between mailboxes and virtual mailboxes")) \
316  _fmt(OP_SIDEBAR_TOGGLE_VISIBLE, N_("make the sidebar (in)visible")) \
317 
318 #define OPS_SMIME(_fmt) \
319  _fmt(OP_COMPOSE_SMIME_MENU, N_("show S/MIME options")) \
320 
321 #define OPS(_fmt) \
322  _fmt(OP_NULL, N_("null operation")) \
323  OPS_AUTOCRYPT(_fmt) \
324  OPS_CORE(_fmt) \
325  OPS_SIDEBAR(_fmt) \
326  OPS_MIX(_fmt) \
327  OPS_NOTMUCH(_fmt) \
328  OPS_PGP(_fmt) \
329  OPS_SMIME(_fmt) \
330  OPS_CRYPT(_fmt) \
331 
332 enum MuttOps {
333 #define DEFINE_OPS(opcode, help_string) opcode,
334  OPS(DEFINE_OPS)
335 #undef DEFINE_OPS
337 };
338 // clang-format on
339 
340 extern const char *OpStrings[][2];
341 
342 #endif /* MUTT_OPCODES_H */
MuttOps
Definition: opcodes.h:332
#define OPS(_fmt)
Definition: opcodes.h:321
#define DEFINE_OPS(opcode, help_string)
Definition: opcodes.h:333
Convenience wrapper for the library headers.