use utf8;
my %common = (
- 'H' => ["screen top", 'pm'], # top-page
- 'j' => ["entry $sign{down}", 'pm'], # next-entry, next-undeleted
- 'k' => ["entry $sign{up}", 'pm'], # previous-entry, previous-undeleted
- 'L' => ["screen bottom", 'pm'], # bottom-page
- '^l'=> ["redraw", 'ci'], # refresh
- 'M' => ["screen middle", 'pm'], # middle-page
- '^m'=> ["select", 'mi mode^m'], # select-entry, display-message
- 'n' => ["search $sign{down}", 'po'], # search-next
- 'q' => ["exit", 'mv mode'], # exit
- 't' => ["tag", 'co'], # tag-entry
- 'z' => ["page $sign{down}", 'pm'], # next-page
- 'Z' => ["page $sign{up}", 'pm'], # previous-page
+ "\e"=> 'g9 mode',
- '*' => ["last entry", 'pm'], # last-entry
- '=' => ["first entry", 'pm'], # first-entry
- ':' => ["enter command", 'mi'], # enter-command
- ';' => ["apply to tagged", 'mi arg'], # tag-prefix
- '>' => ["line $sign{down}", 'pm'], # next-line
- '<' => ["line $sign{up}", 'pm'], # previous-line
- ']' => ["half page $sign{down}", 'pm'], # half-down
- '[' => ["half page $sign{up}", 'pm'], # half-up
- '?' => ["help", 'ci'], # help
- '!' => ["invoke shell", 'ci arg'], # shell
- '/' => ["search $sign{down}", 'po arg mode/~'], # search
- '+/'=> ["search $sign{up}", 'po arg mode/~'], # search
+ 'H' => 'g2', # top-page
+ 'j' => 'g2', # next-entry, next-undeleted
+ 'k' => 'g2', # previous-entry, previous-undeleted
+ 'L' => 'g2', # bottom-page
+ '^l'=> 'g1', # refresh
+ 'M' => 'g2', # middle-page
+ '^m'=> 'g6 mode^m', # select-entry, display-message
+ 'n' => 'g3', # search-next
+ 'q' => 'g8 mode', # exit
+ 't' => 'g4', # tag-entry
+ 'z' => 'g2', # next-page
+ 'Z' => 'g2', # previous-page
+
+ '*' => 'g2', # last-entry
+ '=' => 'g2', # first-entry
+ ':' => 'g6', # enter-command
+ ';' => 'g6 arg', # tag-prefix
+ '>' => 'g2', # next-line
+ '<' => 'g2', # previous-line
+ ']' => 'g2', # half-down
+ '[' => 'g2', # half-up
+ '?' => 'g1', # help
+ '!' => 'g1 arg', # shell
+ '/' => 'g3 arg mode/~', # search
+ '+/'=> 'g3 arg mode/~', # search
);
-'' => {
- desc => 'index',
+{
+'' => {
%common,
- '@' => ["display sender", 'ci'], # display-address
- '.' => ["list new mail", 'mv'], # buffy-list #TODO
- '|' => ["pipe to shell", 'mi'], # pipe-message
- '$' => ["save mailbox", 'co'], # sync-mailbox
- '#' => ["split up thread", 'co'], # break-thread
- '&' => ["thread tagged", 'co'], # link-threads
- '%' => ["toggle reado$sign{_}nl$sign{_}y", 'co'], # toggle-write
- ' ' => '^m',
+ '@' => 'g1', # display-address
+ '.' => 'g8', # buffy-list #TODO
+ '|' => 'g6', # pipe-message
+ '$' => 'g4', # sync-mailbox
+ '#' => 'g4', # break-thread
+ '&' => 'g4', # link-threads
+ '%' => 'g4', # toggle-write
+ ' ' => '=^m',
- 'a' => ["create alias", 'mi'], # create-alias
- 'b' => ["bounce", 'mo'], # bounce-message
- '^b'=> ["url$sign{_}view", 'ci'],
- '+b'=> ["search bodies"], # M <search>~b
- 'c' => ["open folder", 'mv'], # change-folder
- 'C' => ["copy messag$sign{_}e", 'mi'], # copy-message
- '+c'=> ["open reado$sign{_}nly", 'mv'], # change-folder-readonly
- '+C'=> ["make plain copy"], # decode-copy
- 'd' => ["delete", 'co'], # delete-message
- 'D' => ["delete patt$sign{_}er$sign{_}n", 'co arg'], # delete-pattern
- '^d'=> ["delete thread", 'co'], # delete-thread
- '+d'=> ["delete subthread", 'co'], # delete-subthread
- 'e' => ["edit", 'co'], # edit
- '^e'=> ["edit con$sign{_}tent type", 'co'], # edit-type
- '+e'=> ["edit+send copy"], # resend-message
- 'f' => ["forward", 'mo modem'], # forward-message
- 'F' => ["toggle important", 'co'], # flag-message
- '^f'=> ["forget pass$sign{_}phras$sign{_}e", 'mi'], # forget-passphrase
- 'g' => ["reply to all", 'mo modem', 'Group reply'], # group-reply
- 'G' => ["fetch POP", 'mi', 'Gather new mail'], # fetch-mail
- 'h' => ["toggle headers", 'me'], # display-toggle-weed
- '^i'=> ["unread msg $sign{down}", 'po'], # next-new-then-unread
- '+^i'=> ["unread msg $sign{up}"], # previous-new-then-unread
- 'j' => ["messag$sign{_}e $sign{down}", 'pm'], # next-undeleted
- 'k' => ["messag$sign{_}e $sign{up}", 'pm'], # previous-undeleted
- 'J' => ["any $sign{down}", 'po'], # next-entry
- 'K' => ["any $sign{up}", 'po'], # previous-entry
- '^k'=> ["extract pub keys", 'ci'], # extract-keys
- '+k'=> ["send public key", 'mo modem'], # mail-key
- 'l' => ["limit pattern", 'me'], # limit
- 'L' => ["reply to list", 'mo modem'], # list-reply
- '+l'=> ["show current limit", 'ci'], # show-limit
- 'm' => ["compo$sign{_}s$sign{_}e mail", 'mo modem'], # mail
- 'N' => ["toggle new", 'co'], # toggle-new
- '^n'=> ["thread $sign{down}", 'po'], # next-thread
- '+n'=> ["subthr$sign{_}ead $sign{down}", 'po'], # next-subthread
- 'o' => ["sort", 'me modeo'], # sort-mailbox
- 'O' => ["sort reverse", 'me modeo'], # sort-reverse
- 'p' => ["print", 'ci'], # print-message
- 'P' => ["to parent", 'po'], # parent-message
- '^p'=> ["thread $sign{up}", 'po'], # previous-thread
- '+p'=> ["subthr$sign{_}ead $sign{up}", 'po'], # previous-subthread
- '+P'=> ["check for pgp"], # check-traditional-pgp
- 'q' => ["quit", 'mv'], # quit
- 'Q' => ["query addr$sign{_}ess$sign{_}es", 'ci arg'], # query
- 'r' => ["reply to sender", 'mo modem'], # reply
- 'R' => ["recall postpon$sign{_}e$sign{_}d", 'mo modem'], # recall-message
- '^r'=> ["mark thread read", 'co'], # read-thread
- '+r'=> ["mark sub$sign{_}thread r$sign{_}ead", 'co'], # read-subthread
- 's' => ["move", 'co'], # save-message
- '+s'=> ["save and delete", 'co'], # decode-save
- 'T' => ["tag patt$sign{_}er$sign{_}n", 'co arg'], # tag-pattern
- '^t'=> ["untag pattern", 'co'], # untag-pattern
- '+t'=> ["tag thread", 'co'], # tag-thread
- 'u' => ["undo delete", 'co'], # undelete-message
- 'U' => ["res$sign{_}tore pat$sign{_}t$sign{_}er$sign{_}n", 'co arg'], # undelete-pattern
- '^u'=> ["restore thread", 'co'], # undelete-thread
- '+u'=> ["restore subthread", 'co'], # undelete-subthread
- 'v' => ["attach$sign{_}ments", 'ci'], # view-attachments
- 'V' => ["version", 'ci'], # show-version
- '+v'=> ["(un)collapse thread", 'me'], # collapse-thread
- '+V'=> ["(un)collapse threads", 'me'], # collapse-all
- 'w' => ["set flag", 'co arg modew'], # set-flag
- 'W' => ["clear flag", 'co arg modew'], # clear-flag
- 'x' => ["abort", 'mv'], # exit
- 'y' => ["list incoming mailboxes", 'mv'], # M <change-folder>?<toggle-mailboxes>
+ 'a' => 'g6', # create-alias
+ 'b' => 'g7', # bounce-message
+ '^b'=> 'g1',
+ '+b'=> undef, # M <search>~b
+ 'c' => 'g8', # change-folder
+ 'C' => 'g6', # copy-message
+ '+c'=> 'g8', # change-folder-readonly
+ '+C'=> undef, # decode-copy
+ 'd' => 'g4', # delete-message
+ 'D' => 'g4 arg', # delete-pattern
+ '^d'=> 'g4', # delete-thread
+ '+d'=> 'g4', # delete-subthread
+ 'e' => 'g4 linkvi', # edit
+ '^e'=> 'g4', # edit-type
+ '+e'=> undef, # resend-message
+ 'f' => 'g7 modem', # forward-message
+ 'F' => 'g4', # flag-message
+ '^f'=> 'g6', # forget-passphrase
+ 'g' => 'g7 modem', # group-reply
+ 'G' => 'g6', # fetch-mail
+ 'h' => 'g9', # display-toggle-weed
+ '^i'=> 'g3', # next-new-then-unread
+ '+^i'=> undef, # previous-new-then-unread
+ 'j' => 'g2', # next-undeleted
+ 'k' => 'g2', # previous-undeleted
+ 'J' => 'g3', # next-entry
+ 'K' => 'g3', # previous-entry
+ '^k'=> 'g1', # extract-keys
+ '+k'=> 'g7 modem', # mail-key
+ 'l' => 'g9', # limit
+ 'L' => 'g7 modem', # list-reply
+ '+l'=> 'g1', # show-limit
+ 'm' => 'g7 modem', # mail
+ 'N' => 'g4', # toggle-new
+ '^n'=> 'g3', # next-thread
+ '+n'=> 'g3', # next-subthread
+ 'o' => 'g9 modeo', # sort-mailbox
+ 'O' => 'g9 modeo', # sort-reverse
+ 'p' => 'g1', # print-message
+ 'P' => 'g3', # parent-message
+ '^p'=> 'g3', # previous-thread
+ '+p'=> 'g3', # previous-subthread
+ '+P'=> undef, # check-traditional-pgp
+ 'q' => 'g8', # quit
+ 'Q' => 'g1 arg', # query
+ 'r' => 'g7 modem', # reply
+ 'R' => 'g7 modem', # recall-message
+ '^r'=> 'g4', # read-thread
+ '+r'=> 'g4', # read-subthread
+ 's' => 'g4', # save-message
+ '+s'=> 'g4', # decode-save
+ 'T' => 'g4 arg', # tag-pattern
+ '^t'=> 'g4', # untag-pattern
+ '+t'=> 'g4', # tag-thread
+ 'u' => 'g4', # undelete-message
+ 'U' => 'g4 arg', # undelete-pattern
+ '^u'=> 'g4', # undelete-thread
+ '+u'=> 'g4', # undelete-subthread
+ 'v' => 'g1', # view-attachments
+ 'V' => 'g1', # show-version
+ '+v'=> 'g9', # collapse-thread
+ '+V'=> 'g9', # collapse-all
+ 'w' => 'g4 arg modew', # set-flag
+ 'W' => 'g4 arg modew', # clear-flag
+ 'x' => 'g8', # exit
+ 'y' => 'g8', # M <change-folder>?<toggle-mailboxes>
}, # index
'm' => {
- desc => 'compose (m)',
-
%common,
- '|' => ["pipe attach$sign{_}m$sign{_}ent", 'co'],
- 'a' => ["attach file", 'mi'],
- 'A' => ["attach messag$sign{_}e", 'mi'],
- 'b' => ["edit bcc", 'co'],
- 'c' => ["edit cc", 'co'],
- 'C' => ["copy file", 'mi'],
- 'd' => ["desc$sign{_}ribe attach$sign{_}m$sign{_}ent", 'co'],
- 'D' => ["delete attach$sign{_}m$sign{_}ent", 'co'],
- '^d'=> ["dispo$sign{_}sition tog$sign{_}gle", 'co'],
- 'e' => ["edit body", 'co linkvi'],
- 'E' => ["edit all", 'co linkvi'],
- '^e'=> ["edit encoding", 'co'],
- 'f' => ["edit fcc", 'co'],
- '^f'=> ["forget pass$sign{_}phrase", 'mi'],
- '+f'=> ["edit from", 'co'],
- 'F' => ["filter attach$sign{_}m$sign{_}ent", 'co'],
- 'G' => ["get attach$sign{_}m$sign{_}ent", 'ci'],
- 'h' => ["display message", 'ci'],
- 'i' => ["run ispell", 'mi'],
- 'l' => ["print attach$sign{_}m$sign{_}ent", 'ci'],
- 'm' => ["edit attach$sign{_}m$sign{_}ent", 'co', 'Mime-appropriate open'],
- 'M' => ["edit mix", 'co'],
- '^m'=> ["view attach$sign{_}m$sign{_}ent", 'ci'],
- 'n' => ["new attach$sign{_}m$sign{_}ent", 'mi'],
- 'P' => ["post$sign{_}pone", 'mv mode'],
- 'r' => ["edit reply$sign{_}-to", 'co'],
- 'R' => ["rename attach$sign{_}m$sign{_}ent", 'co'],
- 's' => ["edit subject", 'co'],
- 'S' => ["s/mime options", 'co menumS'],
- 't' => ["edit to", 'co'],
- '^t'=> ["ctype attach$sign{_}m$sign{_}ent", 'co'],
- 'w' => ["copy to folder", 'mi'],
- 'u' => ["unlink toggle", 'mi'],
- 'U' => ["encode attach$sign{_}m$sign{_}ent", 'co'],
- 'y' => ["send", 'mo'],
+ '|' => 'g4',
+ 'a' => 'g6',
+ 'A' => 'g6',
+ 'b' => 'g4',
+ 'c' => 'g4',
+ 'C' => 'g6',
+ 'd' => 'g4',
+ 'D' => 'g4',
+ '^d'=> 'g4',
+ 'e' => 'g4 linkvi',
+ 'E' => 'g4 linkvi',
+ '^e'=> 'g4',
+ 'f' => 'g4',
+ '^f'=> 'g6',
+ '+f'=> 'g4',
+ 'F' => 'g4',
+ 'G' => 'g1',
+ 'h' => 'g1',
+ 'i' => 'g6',
+ 'l' => 'g1',
+ 'm' => 'g4',
+ 'M' => 'g4',
+ '^m'=> 'g1',
+ 'n' => 'g6',
+ 'P' => 'g8 mode',
+ 'r' => 'g4',
+ 'R' => 'g4',
+ 's' => 'g4',
+ 'S' => 'g4 menumS',
+ 't' => 'g4',
+ '^t'=> 'g4',
+ 'w' => 'g6',
+ 'u' => 'g6',
+ 'U' => 'g4',
+ 'y' => 'g7',
}, # compose
w => {
- desc => 'message flags (w)',
-
- 'D' => ["deleted", 'co'],
- 'd' => 'wD',
- 'N' => ["new", 'co'],
- 'n' => 'wN',
- 'O' => ["old", 'co'],
- 'o' => 'wO',
- 'r' => ["replied", 'co'],
- 'R' => 'wr',
- '*' => ["tagged", 'co'],
- '!' => ["flagged", 'co'],
+ "\e"=> 'g9 mode',
+ 'D' => 'g4',
+ 'd' => '=wD',
+ 'N' => 'g4',
+ 'n' => '=wN',
+ 'O' => 'g4',
+ 'o' => '=wO',
+ 'r' => 'g4',
+ 'R' => '=wr',
+ '*' => 'g4',
+ '!' => 'g4',
}, # flag
'/~' => {
- desc => 'search flags (/~)',
-
- A => ["all"],
- b => ["msg body", 'X arg'],
- B => ["whole msg", 'arg'],
- c => ["cc address", 'arg'],
- C => ["to or cc address", 'arg'],
- d => ["date sent ran$sign{_}g$sign{_}e", 'arg'],
- D => ["deleted"],
- e => ["sender", 'arg'],
- E => ["expired"],
- f => ["from", 'arg'],
- F => ["flagged"],
- g => ["signed"],
- G => ["encryp$sign{_}ted"],
- h => ["header", 'arg'],
- H => ["spam attr$sign{_}ib$sign{_}ute", 'arg'],
- i => ["msg id", 'arg'],
- k => ["pgp key"],
- L => ["receiv$sign{_}d by", 'arg'],
- l => ["mailing list"],
- m => ["num$sign{_}ber ran$sign{_}g$sign{_}e", 'arg'],
- n => ["score range", 'arg'],
- N => ["new"],
- O => ["old"],
- p => ["to you"],
- P => ["by you"],
- Q => ["replies"],
- r => ["receive date ran$sign{_}ge", 'arg'],
- R => ["read"],
- s => ["subject"],
- S => ["super$sign{_}seded"],
- t => ["to address", 'arg'],
- T => ["tagged"],
- u => ["subscr$sign{_}ibed list"],
- U => ["unread"],
- v => ["collapsed thread"],
- V => ["verified"],
- x => ["refer$sign{_}ence", 'arg'],
- X => ["attach$sign{_}ments", 'arg'],
- y => ["x-label", 'arg'],
- z => ["size range", 'arg'],
- '=' => ["dupli$sign{_}cate"],
- '$' => ["unrefer$sign{_}enced"],
- '(' => ["in thread", 'arg'],
+ "\e"=> 'g9 mode',
+ A => 'g3',
+ b => 'g3 arg',
+ B => 'g3 arg',
+ c => 'g3 arg',
+ C => 'g3 arg',
+ d => 'g3 arg',
+ D => 'g3',
+ e => 'g3 arg',
+ E => 'g3',
+ f => 'g3 arg',
+ F => 'g3',
+ g => 'g3',
+ G => 'g3',
+ h => 'g3 arg',
+ H => 'g3 arg',
+ i => 'g3 arg',
+ k => 'g3',
+ L => 'g3 arg',
+ l => 'g3',
+ m => 'g3 arg',
+ n => 'g3 arg',
+ N => 'g3',
+ O => 'g3',
+ p => 'g3',
+ P => 'g3',
+ Q => 'g3',
+ r => 'g3 arg',
+ R => 'g3',
+ s => 'g3',
+ S => 'g3',
+ t => 'g3 arg',
+ T => 'g3',
+ u => 'g3',
+ U => 'g3',
+ v => 'g3',
+ V => 'g3',
+ x => 'g3 arg',
+ X => 'g3 arg',
+ y => 'g3 arg',
+ z => 'g3 arg',
+ '=' => 'g3',
+ '$' => 'g3',
+ '(' => 'g3 arg',
}, # search option
+}