mutt: page, key classes, various updates
[sheet.git] / mutt.inc.pl
1 use utf8;
2
3 my @generic = qw(^l ! * / : ; < = > ? H L M Z [ ] j k n q t z);
4
5 '' => {
6         desc => 'index',
7
8         ';' => ["apply to tagged", 'mi arg'], # tag-prefix
9         '@' => ["display sender", 'ci'], # display-address
10         ':' => ["enter command", 'mi'], # enter-command
11         '=' => ["first entry", 'po'], # first-entry
12         ']' => ["half page down", 'pm'], # half-down
13         '[' => ["half page up", 'pm'], # half-up
14         '?' => ["help", 'ci'], # help
15         '!' => ["invoke shell", 'ci arg'], # shell
16         '*' => ["last message", 'po'], # last-entry
17         '>' => ["line $sign{down}", 'pm'], # next-line
18         '<' => ["line $sign{up}", 'pm'], # previous-line
19         '.' => ["list new mail", 'mv'], # buffy-list #TODO
20         '|' => ["pipe to shell", 'mi'], # pipe-message
21         '$' => ["save mailbox", 'co'], # sync-mailbox
22         '/' => ["search", 'po arg mode/~'], # search
23         '#' => ["split up thread", 'co'], # break-thread
24         '&' => ["thread tagged", 'co'], # link-threads
25         '%' => ["toggle reado$sign{_}nl$sign{_}y", 'co'], # toggle-write
26         ' ' => '^m',
27
28         'a' => ["create alias", 'mi'], # create-alias
29         'b' => ["bounce", 'mo'], # bounce-message
30         '^b'=> ["url$sign{_}view", 'ci'],
31         '+b'=> ["search bodies"], # M <search>~b
32         'c' => ["open folder", 'mv'], # change-folder
33         'C' => ["copy message", 'mi'], # copy-message
34         '+c'=> ["open readonly", 'mv'], # change-folder-readonly
35         '+C'=> ["make plain copy"], # decode-copy
36         'd' => ["delete", 'co'], # delete-message
37         'D' => ["delete patt$sign{_}er$sign{_}n", 'co arg'], # delete-pattern
38         '^d'=> ["delete thread", 'co'], # delete-thread
39         '+d'=> ["delete subthread", 'co'], # delete-subthread
40         'e' => ["edit", 'co'], # edit
41         '^e'=> ["edit con$sign{_}tent type", 'co'], # edit-type
42         '+e'=> ["edit+send copy"], # resend-message
43         'f' => ["forward", 'mo modem'], # forward-message
44         'F' => ["toggle important", 'co'], # flag-message
45         '^f'=> ["forget pass$sign{_}phras$sign{_}e", 'mi'], # forget-passphrase
46         'g' => ["reply to all", 'mo modem', 'Group reply'], # group-reply
47         'G' => ["fetch POP", 'mi', 'Gather new mail'], # fetch-mail
48         'h' => ["toggle headers", 'me'], # display-toggle-weed
49         'H' => ["screen top", 'po'], # top-page
50         '^i'=> ["unread msg $sign{down}", 'po'], # next-new-then-unread
51         '+^i'=> ["unread msg $sign{up}"], # previous-new-then-unread
52         'j' => ["entry $sign{down}", 'po'], # next-entry, next-undeleted
53         'J' => ["messag$sign{_}e $sign{down}", 'po'], # next-entry
54         'k' => ["entry $sign{up}", 'po'], # previous-entry, previous-undeleted
55         'K' => ["messag$sign{_}e $sign{up}", 'po'], # previous-entry
56         '^k'=> ["extract pub keys", 'ci'], # extract-keys
57         '+k'=> ["send public key", 'mo modem'], # mail-key
58         'l' => ["limit pattern", 'me'], # limit
59         'L' => ["reply to list", 'mo modem'], # list-reply
60         '^l'=> ["redraw", 'ci'], # refresh
61         '+l'=> ["show current limit", 'ci'], # show-limit
62         'm' => ["compo$sign{_}s$sign{_}e mail", 'mo modem'], # mail
63         'M' => ["screen middle", 'po'], # middle-page
64         '^m'=> ["select", 'mi mode^m'], # select-entry, display-message
65         'n' => ["search $sign{down}", 'po'], # search-next
66         'N' => ["toggle new", 'co'], # toggle-new
67         '^n'=> ["thread $sign{down}", 'po'], # next-thread
68         '+n'=> ["subthr$sign{_}ead $sign{down}", 'po'], # next-subthread
69         'o' => ["sort", 'me modeo'], # sort-mailbox
70         'O' => ["sort reverse", 'me modeo'], # sort-reverse
71         'p' => ["print", 'ci'], # print-message
72         'P' => ["to parent", 'po'], # parent-message
73         '^p'=> ["thread $sign{up}", 'po'], # previous-thread
74         '+p'=> ["subthr$sign{_}ead $sign{up}", 'po'], # previous-subthread
75         '+P'=> ["check for pgp"], # check-traditional-pgp
76         'q' => ["exit or quit", 'mv'], # exit, quit
77         'Q' => ["query addr$sign{_}ess$sign{_}es", 'ci arg'], # query
78         'r' => ["reply to sender", 'mo modem'], # reply
79         'R' => ["recall postpon$sign{_}e$sign{_}d", 'mo modem'], # recall-message
80         '^r'=> ["mark thread read", 'co'], # read-thread
81         '+r'=> ["mark sub$sign{_}thread r$sign{_}ead", 'co'], # read-subthread
82         's' => ["move", 'co'], # save-message
83         '+s'=> ["save and delete", 'co'], # decode-save
84         't' => ["tag", 'co'], # tag-entry
85         'T' => ["tag patt$sign{_}er$sign{_}n", 'co arg'], # tag-pattern
86         '^t'=> ["untag pattern", 'co'], # untag-pattern
87         '+t'=> ["tag thread", 'co'], # tag-thread
88         'u' => ["undo delete", 'co'], # undelete-message
89         'U' => ["res$sign{_}tore pat$sign{_}t$sign{_}er$sign{_}n", 'co arg'], # undelete-pattern
90         '^u'=> ["restore thread", 'co'], # undelete-thread
91         '+u'=> ["restore subthread", 'co'], # undelete-subthread
92         'v' => ["attach$sign{_}ments", 'ci'], # view-attachments
93         'V' => ["version", 'ci'], # show-version
94         '+v'=> ["(un)collapse thread", 'me'], # collapse-thread
95         '+V'=> ["(un)collapse threads", 'me'], # collapse-all
96         'w' => ["set flag", 'co arg'], # set-flag
97         'W' => ["clear flag", 'co arg'], # clear-flag
98         'x' => ["exit menu", 'mv'], # exit
99         'y' => ["list incoming mailboxes", 'mv'], # M <change-folder>?<toggle-mailboxes>
100         'z' => ["page $sign{down}", 'pm'], # next-page
101         'Z' => ["page $sign{up}", 'pm'], # previous-page
102 }, # index
103
104 ' ' => {
105         'L' => ["screen bottom"], # bottom-page
106 }, # general
107
108 '/~' => {
109         desc => 'search flags (/~)',
110
111         A => ["all"],
112         b => ["msg body", 'X arg'],
113         B => ["whole msg", 'arg'],
114         c => ["cc address", 'arg'],
115         C => ["to or cc address", 'arg'],
116         d => ["date sent ran$sign{_}g$sign{_}e", 'arg'],
117         D => ["deleted"],
118         e => ["sender", 'arg'],
119         E => ["expired"],
120         f => ["from", 'arg'],
121         F => ["flagged"],
122         g => ["signed"],
123         G => ["encryp$sign{_}ted"],
124         h => ["header", 'arg'],
125         H => ["spam attr$sign{_}ib$sign{_}ute", 'arg'],
126         i => ["msg id", 'arg'],
127         k => ["pgp key"],
128         L => ["receiv$sign{_}d by", 'arg'],
129         l => ["mailing list"],
130         m => ["num$sign{_}ber ran$sign{_}g$sign{_}e", 'arg'],
131         n => ["score range", 'arg'],
132         N => ["new"],
133         O => ["old"],
134         p => ["to you"],
135         P => ["by you"],
136         Q => ["replies"],
137         r => ["receive date ran$sign{_}ge", 'arg'],
138         R => ["read"],
139         s => ["subject"],
140         S => ["super$sign{_}seded"],
141         t => ["to address", 'arg'],
142         T => ["tagged"],
143         u => ["subscr$sign{_}ibed list"],
144         U => ["unread"],
145         v => ["collapsed thread"],
146         V => ["verified"],
147         x => ["refer$sign{_}ence", 'arg'],
148         X => ["attach$sign{_}ments", 'arg'],
149         y => ["x-label", 'arg'],
150         z => ["size range", 'arg'],
151         '=' => ["dupli$sign{_}cate"],
152         '$' => ["unrefer$sign{_}enced"],
153         '(' => ["in thread", 'arg'],
154 }, # search option