mutt: compose mode
authorMischa POSLAWSKY <perl@shiar.org>
Sat, 16 May 2009 00:10:38 +0000 (00:10 +0000)
committerMischa POSLAWSKY <perl@shiar.org>
Sat, 16 May 2009 00:10:38 +0000 (00:10 +0000)
mutt.inc.pl
mutt.plp

index 77f920d..fdb4269 100644 (file)
@@ -1,25 +1,42 @@
 use utf8;
 
-my @generic = qw(^l ! * / : ; < = > ? H L M Z [ ] j k n q t z);
+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
+
+       '*' => ["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
+);
 
 '' => {
        desc => 'index',
 
-       ';' => ["apply to tagged", 'mi arg'], # tag-prefix
+       %common,
+
        '@' => ["display sender", 'ci'], # display-address
-       ':' => ["enter command", 'mi'], # enter-command
-       '=' => ["first entry", 'po'], # first-entry
-       ']' => ["half page down", 'pm'], # half-down
-       '[' => ["half page up", 'pm'], # half-up
-       '?' => ["help", 'ci'], # help
-       '!' => ["invoke shell", 'ci arg'], # shell
-       '*' => ["last message", 'po'], # last-entry
-       '>' => ["line $sign{down}", 'pm'], # next-line
-       '<' => ["line $sign{up}", 'pm'], # previous-line
        '.' => ["list new mail", 'mv'], # buffy-list #TODO
        '|' => ["pipe to shell", 'mi'], # pipe-message
        '$' => ["save mailbox", 'co'], # sync-mailbox
-       '/' => ["search", 'po arg mode/~'], # search
        '#' => ["split up thread", 'co'], # break-thread
        '&' => ["thread tagged", 'co'], # link-threads
        '%' => ["toggle reado$sign{_}nl$sign{_}y", 'co'], # toggle-write
@@ -30,8 +47,8 @@ my @generic = qw(^l ! * / : ; < = > ? H L M Z [ ] j k n q t z);
        '^b'=> ["url$sign{_}view", 'ci'],
        '+b'=> ["search bodies"], # M <search>~b
        'c' => ["open folder", 'mv'], # change-folder
-       'C' => ["copy message", 'mi'], # copy-message
-       '+c'=> ["open readonly", 'mv'], # change-folder-readonly
+       '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
@@ -46,23 +63,18 @@ my @generic = qw(^l ! * / : ; < = > ? H L M Z [ ] j k n q t z);
        '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
-       'H' => ["screen top", 'po'], # top-page
        '^i'=> ["unread msg $sign{down}", 'po'], # next-new-then-unread
        '+^i'=> ["unread msg $sign{up}"], # previous-new-then-unread
-       'j' => ["entry $sign{down}", 'po'], # next-entry, next-undeleted
-       'J' => ["messag$sign{_}e $sign{down}", 'po'], # next-entry
-       'k' => ["entry $sign{up}", 'po'], # previous-entry, previous-undeleted
-       'K' => ["messag$sign{_}e $sign{up}", 'po'], # previous-entry
+       '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'=> ["redraw", 'ci'], # refresh
        '+l'=> ["show current limit", 'ci'], # show-limit
        'm' => ["compo$sign{_}s$sign{_}e mail", 'mo modem'], # mail
-       'M' => ["screen middle", 'po'], # middle-page
-       '^m'=> ["select", 'mi mode^m'], # select-entry, display-message
-       'n' => ["search $sign{down}", 'po'], # search-next
        'N' => ["toggle new", 'co'], # toggle-new
        '^n'=> ["thread $sign{down}", 'po'], # next-thread
        '+n'=> ["subthr$sign{_}ead $sign{down}", 'po'], # next-subthread
@@ -73,7 +85,7 @@ my @generic = qw(^l ! * / : ; < = > ? H L M Z [ ] j k n q t z);
        '^p'=> ["thread $sign{up}", 'po'], # previous-thread
        '+p'=> ["subthr$sign{_}ead $sign{up}", 'po'], # previous-subthread
        '+P'=> ["check for pgp"], # check-traditional-pgp
-       'q' => ["exit or quit", 'mv'], # exit, quit
+       '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
@@ -81,7 +93,6 @@ my @generic = qw(^l ! * / : ; < = > ? H L M Z [ ] j k n q t z);
        '+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", 'co'], # tag-entry
        'T' => ["tag patt$sign{_}er$sign{_}n", 'co arg'], # tag-pattern
        '^t'=> ["untag pattern", 'co'], # untag-pattern
        '+t'=> ["tag thread", 'co'], # tag-thread
@@ -95,15 +106,51 @@ my @generic = qw(^l ! * / : ; < = > ? H L M Z [ ] j k n q t z);
        '+V'=> ["(un)collapse threads", 'me'], # collapse-all
        'w' => ["set flag", 'co arg'], # set-flag
        'W' => ["clear flag", 'co arg'], # clear-flag
-       'x' => ["exit menu", 'mv'], # exit
+       'x' => ["abort", 'mv'], # exit
        'y' => ["list incoming mailboxes", 'mv'], # M <change-folder>?<toggle-mailboxes>
-       'z' => ["page $sign{down}", 'pm'], # next-page
-       'Z' => ["page $sign{up}", 'pm'], # previous-page
 }, # index
 
-' ' => {
-       'L' => ["screen bottom"], # bottom-page
-}, # general
+'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' => ["delete entry", 'co'],
+       '^d'=> ["dispo$sign{_}sition tog$sign{_}gle", 'co'],
+       'd' => ["desc$sign{_}ribe attach$sign{_}m$sign{_}ent", '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'],
+}, # compose
 
 '/~' => {
        desc => 'search flags (/~)',
@@ -152,3 +199,4 @@ my @generic = qw(^l ! * / : ; < = > ? H L M Z [ ] j k n q t z);
        '$' => ["unrefer$sign{_}enced"],
        '(' => ["in thread", 'arg'],
 }, # search option
+
index 7ecf7fc..ee7f03e 100644 (file)
--- a/mutt.plp
+++ b/mutt.plp
@@ -64,10 +64,10 @@ $keys->print_rows($get{rows});
                <dl class="legend legend-types">
                <dt class="ci">aside
                        <dd>Temporarily display something without changing state.
-               <dt class="pm">move
-                       <dd>Scroll window, only selecting a different message when necessary.
-               <dt class="po">select
-                       <dd>Select another message entry.
+               <dt class="pm">select
+                       <dd>Scroll list and/or select a different line.
+               <dt class="po">search
+                       <dd>Go to a specific message entry.
                <dt class="co">edit
                        <dd>Modify message flags or contents.
                <dt class="mi">command