index: release v1.18 with only altgr index linked
[sheet.git] / keyboard / mutt.eng.inc.pl
1 use utf8;
2
3 my %commonkey = (
4         'H' => "screen top",
5         'j' => "entry <down>",
6         'k' => "entry <up>",
7         'L' => "screen bottom",
8         '^l'=> "redraw",
9         'M' => "screen middle",
10         '^m'=> "select",
11         'n' => "search <down>",
12         'q' => "exit",
13         't' => "tag",
14         'z' => "page <down>",
15         'Z' => "page <up>",
16
17         '*' => "last entry",
18         '=' => "first entry",
19         ':' => "enter command",
20         ';' => "apply to tagged",
21         '>' => "line <down>",
22         '<' => "line <up>",
23         ']' => "half page <down>",
24         '[' => "half page <up>",
25         '?' => "help",
26         '!' => "invoke shell",
27         '/' => "search <down>",
28         '+/'=> "search <up>",
29 );
30
31 my %commondef = (
32         "\e"=> 'g9 mode',
33
34         'H' => 'g2', # top-page
35         'j' => 'g2', # next-entry, next-undeleted
36         'k' => 'g2', # previous-entry, previous-undeleted
37         'L' => 'g2', # bottom-page
38         '^l'=> 'g1', # refresh
39         'M' => 'g2', # middle-page
40         '^m'=> 'g6 mode^m', # select-entry, display-message
41         'n' => 'g3', # search-next
42         'q' => 'g8 mode', # exit
43         't' => 'g4', # tag-entry
44         'z' => 'g2', # next-page
45         'Z' => 'g2', # previous-page
46
47         '*' => 'g2', # last-entry
48         '=' => 'g2', # first-entry
49         ':' => 'g6', # enter-command
50         ';' => 'g6 arg', # tag-prefix
51         '>' => 'g2', # next-line
52         '<' => 'g2', # previous-line
53         ']' => 'g2', # half-down
54         '[' => 'g2', # half-up
55         '?' => 'g1', # help
56         '!' => 'g1 arg', # shell
57         '/' => 'g3 arg mode/~', # search
58         '+/'=> 'g3 arg mode/~', # search
59 );
60
61 {
62 title => 'Mutt',
63 version => '1.3',
64 description => [
65         "Cheat sheet for the Mutt v2.2 e-mail client,",
66         "showing the default binding for each key.",
67 ],
68 keywords => [qw' mutt MUA email client '],
69
70 key => {
71         %commonkey,
72
73         '@' => "display sender",
74         '.' => "list new mail",
75         '|' => "pipe to shell",
76         '$' => "save mailbox",
77         '#' => "split up thread",
78         '&' => "thread tagged",
79         '%' => "toggle reado<>nl<>y",
80         '-' => "collapse thread",
81         '_' => "collapse all",
82         "'" => "marked mes<>sag<>e",
83         '~' => "save mark",
84
85         'a' => "create alias",
86         'b' => "bounce",
87         '^b'=> "url<>view",
88         '+b'=> "search bodies",
89         'c' => "open folder",
90         'C' => "copy messag<>e",
91         '+c'=> "open reado<>nly",
92         '+C'=> "make plain copy",
93         'd' => "delete",
94         'D' => "delete patt<>er<>n",
95         '^d'=> "delete thread",
96         '+d'=> "delete subthread",
97         'e' => "edit",
98         '^e'=> "edit con<>tent type",
99         '+e'=> "edit+send copy",
100         'f' => "forward",
101         'F' => "toggle important",
102         '^f'=> "forget pass<>phras<>e",
103         'g' => "reply to all\nGroup reply",
104         'G' => "fetch POP\nGather new mail",
105         'h' => "toggle headers",
106         'i' => "fetch IMAP",
107         '^i'=> "unread msg <down>",
108         '+^i'=> "unread msg <up>",
109         'j' => "messag<>e <down>",
110         'k' => "messag<>e <up>",
111         'J' => "any <down>",
112         'K' => "any <up>",
113         '^k'=> "extract pub keys",
114         '+k'=> "send public key",
115         'l' => "limit pattern",
116         'L' => "reply to list",
117         '+l'=> "mlist actions",
118         #'+l'=> "show current limit",
119         'm' => "compo<>s<>e mail",
120         'N' => "toggle new",
121         '^n'=> "thread <down>",
122         '+n'=> "subthr<>ead <down>",
123         'o' => "sort",
124         'O' => "sort reverse",
125         'p' => "print",
126         'P' => "to parent",
127         '^p'=> "thread <up>",
128         '+p'=> "subthr<>ead <up>",
129         '+P'=> "check for pgp",
130         'q' => "quit",
131         'Q' => "query addr<>ess<>es",
132         'r' => "reply to sender",
133         'R' => "recall postpon<>e<>d",
134         '^r'=> "mark thread read",
135         '+r'=> "mark sub<>thread r<>ead",
136         's' => "move",
137         '+s'=> "save and delete",
138         'T' => "tag patt<>er<>n",
139         '^t'=> "untag pattern",
140         '+t'=> "tag thread",
141         'u' => "undo delete",
142         'U' => "res<>tore pat<>t<>er<>n",
143         '^u'=> "restore thread",
144         '+u'=> "restore subthread",
145         'v' => "attach<>ments",
146         'V' => "version",
147         '+v'=> "(un)collapse thread",
148         '+V'=> "(un)collapse threads",
149         'w' => "set flag",
150         'W' => "clear flag",
151         'x' => "abort",
152         'y' => "list incoming mailboxes",
153         'Y' => "edit label",
154
155         (map { 'm'.$_ => $commonkey{$_} } keys %commonkey),
156
157         'm|' => "pipe attach<>m<>ent",
158         'ma' => "attach file",
159         'mA' => "attach messag<>e",
160         'm^b'=> "url<>view",
161         'mb' => "edit bcc",
162         'mc' => "edit cc",
163         'mC' => "copy file",
164         'md' => "desc<>ribe attach<>m<>ent",
165         'mD' => "delete attach<>m<>ent",
166         'm^d'=> "dispo<>sition tog<>gle",
167         'me' => "edit body",
168         'mE' => "edit all",
169         'm^e'=> "edit encoding",
170         'mf' => "edit fcc",
171         'm^f'=> "forget pass<>phrase",
172         'm+f'=> "edit from",
173         'mF' => "filter attach<>m<>ent",
174         'mG' => "get attach<>m<>ent",
175         'mh' => "display message",
176         'mi' => "run ispell",
177         'm+k'=> "attach PGP key",
178         'ml' => "print attach<>m<>ent",
179         'mm' => "edit attach<>m<>ent\nMime-appropriate open",
180         'mM' => "edit mix",
181         'm^m'=> "view attach<>m<>ent",
182         'mn' => "new attach<>m<>ent",
183         'mo' => "autocrypt toggle", #TODO
184         'm^o'=> "rename attach<>m<>ent",
185         'mp' => "PGP menu",
186         'mP' => "post<>pone",
187         'mr' => "edit reply<>-to",
188         'mR' => "rename attach<>m<>ent",
189         'ms' => "edit subject",
190         'mS' => "s/mime options",
191         'mt' => "edit to",
192         'mT' => "enter tags", #TODO
193         'm^t'=> "ctype attach<>m<>ent",
194         'mu' => "unlink toggle",
195         'mv' => "preview alt fil<>t<>er", # m+v mV
196         'mV' => "preview mailcap filter",
197         'mw' => "copy to folder",
198         'mU' => "encode attach<>m<>ent",
199         'my' => "send",
200         # ^xe
201
202         'wD' => "deleted",
203         'wN' => "new",
204         'wO' => "old",
205         'wr' => "replied",
206         'w*' => "tagged",
207         'w!' => "flagged",
208
209         '/~A' => "all",
210         '/~b' => "msg body",
211         '/~B' => "whole msg",
212         '/~c' => "cc address",
213         '/~C' => "to or cc address",
214         '/~d' => "date sent ran<>g<>e",
215         '/~D' => "deleted",
216         '/~e' => "sender",
217         '/~E' => "expired",
218         '/~f' => "from",
219         '/~F' => "flagged",
220         '/~g' => "signed",
221         '/~G' => "encryp<>ted",
222         '/~h' => "header",
223         '/~H' => "spam attr<>ib<>ute",
224         '/~i' => "msg id",
225         '/~k' => "pgp key",
226         '/~L' => "receiv<>d by",
227         '/~l' => "mailing list",
228         '/~m' => "num<>ber ran<>g<>e",
229         '/~M' => "mime type",
230         '/~n' => "score range",
231         '/~N' => "new",
232         '/~O' => "old",
233         '/~p' => "to you",
234         '/~P' => "by you",
235         '/~Q' => "replies",
236         '/~r' => "receive date ran<>ge",
237         '/~R' => "read",
238         '/~s' => "subject",
239         '/~S' => "super<>seded",
240         '/~t' => "to address",
241         '/~T' => "tagged",
242         '/~u' => "subscr<>ibed list",
243         '/~U' => "unread",
244         '/~v' => "collapsed thread",
245         '/~V' => "verified",
246         '/~x' => "refer<>ence",
247         '/~X' => "attach<>ments",
248         '/~y' => "x-label",
249         '/~z' => "size range",
250         '/~=' => "dupli<>cate",
251         '/~$' => "unrefer<>enced",
252         '/~(' => "in thread",
253         '/~<' => "parent match",
254         '/~>' => "child match",
255
256         # globally label escape as meta key
257           "\e"=> "+",
258          "m\e"=> "+",
259          "w\e"=> "+",
260         "/~\e"=> "+",
261 },
262
263 mode => {
264         '' => 'index',
265         'm' => 'compose (m)',
266         w => 'message flags (w)',
267         '/~' => 'search patterns (/~)',
268 },
269
270 flag => {
271         g1 => [aside   => "Temporarily display something without changing state."],
272         g2 => [select  => "Scroll list and/or select a different line."],
273         g3 => [search  => "Go to a specific message entry."],
274         g4 => [edit    => "Modify message flags or contents."],
275         g6 => [command => "Any other action which does not alter an existing message."],
276         g7 => [send    => "Prepare and/or send a (new) message."],
277         g8 => [leave   => "Exit the opened folder."],
278         g9 => [display => "Permanently alter/toggle current view."],
279
280         arg => ["key<arg>" => "Commands with a dot need an argument afterwards."],
281 },
282
283 def => {
284         '' => {
285                 %commondef,
286
287                 '@' => 'g1', # display-address
288                 '.' => 'g8', # buffy-list #TODO
289                 '|' => 'g6', # pipe-message
290                 '$' => 'g4', # sync-mailbox
291                 '#' => 'g4', # break-thread
292                 '&' => 'g4', # link-threads
293                 '%' => 'g4', # toggle-write
294                 '-' => 'g9',
295                 '_' => 'g9',
296                 '~' => 'g4 arg', # mark-message #TODO
297                 "'" => 'g3 arg',
298                 ' ' => '=^m',
299
300                 'a' => 'g6', # create-alias
301                 'b' => 'g7', # bounce-message
302                 '^b'=> 'g1',
303                 '+b'=> undef, # M <search>~b
304                 'c' => 'g8', # change-folder
305                 'C' => 'g6', # copy-message
306                 '+c'=> 'g8', # change-folder-readonly
307                 '+C'=> undef, # decode-copy
308                 'd' => 'g4', # delete-message
309                 'D' => 'g4 arg mode/~', # delete-pattern
310                 '^d'=> 'g4', # delete-thread
311                 '+d'=> 'g4', # delete-subthread
312                 'e' => 'g4 linkvi', # edit
313                 '^e'=> 'g4', # edit-type
314                 '+e'=> undef, # resend-message
315                 'f' => 'g7 modem', # forward-message
316                 'F' => 'g4', # flag-message
317                 '^f'=> 'g6', # forget-passphrase
318                 'g' => 'g7 modem', # group-reply
319                 'G' => 'g6', # fetch-mail
320                 'h' => 'g9', # display-toggle-weed
321                 'i' => 'g6', # imap-fetch-mail
322                 '^i'=> 'g3', # next-new-then-unread
323                 '+^i'=> undef, # previous-new-then-unread
324                 'j' => 'g2', # next-undeleted
325                 'k' => 'g2', # previous-undeleted
326                 'J' => 'g3', # next-entry
327                 'K' => 'g3', # previous-entry
328                 '^k'=> 'g1', # extract-keys
329                 '+k'=> 'g7 modem', # mail-key
330                 'l' => 'g9 arg mode/~', # limit
331                 'L' => 'g7 modem', # list-reply
332                 '+l'=> 'g1', # list-actions/show-limit
333                 'm' => 'g7 modem', # mail
334                 'N' => 'g4', # toggle-new
335                 '^n'=> 'g3', # next-thread
336                 '+n'=> 'g3', # next-subthread
337                 'o' => 'g9 modeo', # sort-mailbox
338                 'O' => 'g9 modeo', # sort-reverse
339                 'p' => 'g1', # print-message
340                 'P' => 'g3', # parent-message
341                 '^p'=> 'g3', # previous-thread
342                 '+p'=> 'g3', # previous-subthread
343                 '+P'=> undef, # check-traditional-pgp
344                 'q' => 'g8', # quit
345                 'Q' => 'g1 arg', # query
346                 'r' => 'g7 modem', # reply
347                 'R' => 'g7 modem', # recall-message
348                 '^r'=> 'g4', # read-thread
349                 '+r'=> 'g4', # read-subthread
350                 's' => 'g4', # save-message
351                 '+s'=> 'g4', # decode-save
352                 'T' => 'g4 arg mode/~', # tag-pattern
353                 '^t'=> 'g4 arg mode/~', # untag-pattern
354                 '+t'=> 'g4', # tag-thread
355                 'u' => 'g4', # undelete-message
356                 'U' => 'g4 arg mode/~', # undelete-pattern
357                 '^u'=> 'g4', # undelete-thread
358                 '+u'=> 'g4', # undelete-subthread
359                 'v' => 'g1', # view-attachments
360                 'V' => 'g1', # show-version
361                 '+v'=> 'g9', # collapse-thread
362                 '+V'=> 'g9', # collapse-all
363                 'w' => 'g4 arg modew', # set-flag
364                 'W' => 'g4 arg modew', # clear-flag
365                 'x' => 'g8', # exit
366                 'y' => 'g8', # M <change-folder>?<toggle-mailboxes>
367                 'Y' => 'g4 arg', # edit-label
368         }, # index
369
370         'm' => {
371                 %commondef,
372
373                 '|' => 'g4',
374                 'a' => 'g4',
375                 'A' => 'g4',
376                 'b' => 'g4',
377                 '^b'=> 'g1',
378                 'c' => 'g4',
379                 'C' => 'g6',
380                 'd' => 'g4',
381                 'D' => 'g4',
382                 '^d'=> 'g4',
383                 'e' => 'g4 linkvi',
384                 'E' => 'g4 linkvi',
385                 '^e'=> 'g4',
386                 'f' => 'g4',
387                 '^f'=> 'g6',
388                 '+f'=> 'g4',
389                 'F' => 'g4',
390                 'G' => 'g1',
391                 'h' => 'g1',
392                 'i' => 'g6',
393                 '+k'=> 'g4',
394                 'l' => 'g1',
395                 'm' => 'g4',
396                 'M' => 'g4',
397                 '^m'=> 'g1',
398                 'n' => 'g6',
399                 'o' => 'g4 ext',
400                 '^o'=> 'g4',
401                 'p' => 'g1', #TODO
402                 'P' => 'g8 mode',
403                 'r' => 'g4',
404                 'R' => 'g4',
405                 's' => 'g4',
406                 'S' => 'g4 menumS',
407                 't' => 'g4',
408                 'T' => 'g4',
409                 '^t'=> 'g4',
410                 'w' => 'g6',
411                 'u' => 'g6',
412                 'v' => 'g1',
413                 '+v'=> 'g1',
414                 'V' => 'g1',
415                 'U' => 'g4',
416                 'y' => 'g7',
417         }, # compose
418
419         w => {
420                 "\e"=> 'g9 mode',
421                 'D' => 'g4',
422                 'd' => '=wD',
423                 'N' => 'g4',
424                 'n' => '=wN',
425                 'O' => 'g4',
426                 'o' => '=wO',
427                 'r' => 'g4',
428                 'R' => '=wr',
429                 '*' => 'g4',
430                 '!' => 'g4',
431         }, # flag
432
433         '/~' => {
434                 "\e"=> 'g9 mode',
435                 A => 'g3',
436                 b => 'g3 arg',
437                 B => 'g3 arg',
438                 c => 'g3 arg',
439                 C => 'g3 arg',
440                 d => 'g3 arg',
441                 D => 'g3',
442                 e => 'g3 arg',
443                 E => 'g3',
444                 f => 'g3 arg',
445                 F => 'g3',
446                 g => 'g3',
447                 G => 'g3',
448                 h => 'g3 arg',
449                 H => 'g3 arg',
450                 i => 'g3 arg',
451                 k => 'g3',
452                 L => 'g3 arg',
453                 l => 'g3',
454                 m => 'g3 arg',
455                 M => 'g3 arg',
456                 n => 'g3 arg',
457                 N => 'g3',
458                 O => 'g3',
459                 p => 'g3',
460                 P => 'g3',
461                 Q => 'g3',
462                 r => 'g3 arg',
463                 R => 'g3',
464                 s => 'g3',
465                 S => 'g3',
466                 t => 'g3 arg',
467                 T => 'g3',
468                 u => 'g3',
469                 U => 'g3',
470                 v => 'g3',
471                 V => 'g3',
472                 x => 'g3 arg',
473                 X => 'g3 arg',
474                 y => 'g3 arg',
475                 z => 'g3 arg',
476                 '=' => 'g3',
477                 '$' => 'g3',
478                 '(' => 'g3 arg',
479                 '<' => 'g3 arg',
480                 '>' => 'g3 arg',
481         }, # search option
482 },
483 }