1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960
|
<Html>
<Head>
<Title>Exmh 2.0 - EXMH REFERENCE (1)</Title>
<!-- Author: bwelch -->
</Head>
<Body>
<h1><center>EXMH REFERENCE</center></h1>
<h2><a NAME="CONTENTS">Contents</a></h2>
<ul>
<h4><a HREF="#NAME">NAME</a></h4>
<h4><a HREF="#EXMH REFERENCE CHAPTER">EXMH REFERENCE CHAPTER</a></h4>
<h4><a HREF="#COMMAND LINE OPTIONS">COMMAND LINE OPTIONS</a></h4>
<h4><a HREF="#EXMH MAIN BUTTONS">EXMH MAIN BUTTONS</a></h4>
<h4><a HREF="#FOLDER BUTTONS">FOLDER BUTTONS</a></h4>
<h4><a HREF="#MESSAGE BUTTONS">MESSAGE BUTTONS</a></h4>
<h4><a HREF="#SEDIT">SEDIT</a></h4>
<h4><a HREF="#SEE ALSO">SEE ALSO</a></h4>
<h4><a HREF="#AUTHOR">AUTHOR</a></h4>
<h4><a HREF="#THANKS">THANKS</a></h4>
</ul>
<h3><a NAME="NAME" HREF="#CONTENTS">NAME</a></h3>
exmh-ref - A detailed reference to exmh functions.
<h3><a NAME="EXMH REFERENCE CHAPTER" HREF="#CONTENTS">EXMH REFERENCE
CHAPTER</a></h3>
<p>
This man page gives complete, but terse, information about <i>Exmh</i>.
<h3><a NAME="COMMAND LINE OPTIONS" HREF="#CONTENTS">COMMAND LINE OPTIONS</a></h3>
<p>
There are just a handful of command line options for exmh. Note that
Xt-like command line options are not supported because <i>exmh</i>
is based on Tk, not Xt.
<dl>
<dt><code>-bgAction </code><i>action</i>
<dd>Override background processing setting. Valid actions are: off,
count, msgchk, flist, and inc.
<dt><code>-bgPeriod </code><i>minutes</i>
<dd>Override background period setting.
<dt><code>-geometry </code><i>geometry</i>
<dd>Initial geometry to use for the window. Exmh remembers the
geometry when you change it interactively, so you do not really
need to specify it each time on the command line.
<dt><code>-iconposition </code><i>geometry</i>
<dd>Initial position to use for the icon in the form
+<i>xoff</i>+<i>yoff</i>. You can use minus signs instead of +
to position relative to the right and bottom of the screen.
<dt><code>-iconic</code>
<dd>Begin execution iconic.
<dt><code>-nofaces</code>
<dd>Do not use faces database during this run.
<dt><code>-sedit</code>
<dd>Override the editor command defined in Preferences and use the
built-in editor (sedit) instead.
<dt><i>folder</i>
<dd>It the argument is not one of the flags given above, it is
assumed to be the name of a folder. In this case <i>exmh</i>
begins in that folder.
</dl>
<h3><a NAME="EXMH MAIN BUTTONS" HREF="#CONTENTS">EXMH MAIN BUTTONS</a></h3>
<p>
There are three sets of buttons in exmh, the main, or top row, folder
operations, and message operations. The main set has global commands:
Log, Help..., Bindings..., Address..., Preferences, and Quit.
<dl>
<dt>Help...
<dd>Help is a menu with several choices:
<dl>
<dt><button -command Help>Quick Intro</button>
<dd>This provides a useful sub-set of this man page.
<dt><button -command Help_KeyDisplay>Color Legend</button>
<dd>This provides a highlighting key for color or monochrome
screens.
<dt><button -command "Html_Window file:\$exmh(library)/html/index.html">HTML Docs</button>
<dd>This provides access to all the exmh documentation.
<dt><button -command "Help exmh-faq">Frequently Asked
Questions</button>
<dd>This displays a Frequently-Asked-Questions file. It has
the same info as the help.FAQ file.
<dt>Exmh Mailing Lists...
<dd>This is a sub-menu that lets you administer your
membership in the exmh-related mailing lists. See the
<button -command "Help Lists {About the exmh mailing lists}">About</button>
menu entry for an explanation of the various mailing
lists. The add/remove operations result in mail
messages. You'll need to Send the draft messages.
<dt><button -command "Report_Bug">Submit Bug Report</button>
<dd>A mail message is started so you can report a problem
with exmh.
<dt><button -command "Pgp_Help">Pgp Setup</button>
<dd>Get started with PGP. There is some help text and an
interface to create your public key / private key pair.
</dl>
<dt>Bindings...
<dd>Exmh has two sets of key bindings. One for simple editing, and
another to invoke commands. The editing bindings are used in the
simple editor and in the various text entry widgets. The command
bindings are in effect otherwise, and they allow you to invoke
various Exmh commands without using buttons or menus. This is a
menu with three choices:
<dl>
<dt><button -command Bind_Pref>Commands</button>
<dd>This brings up a dialog that lets you edit the keystroke
bindings. All of the defined bindings are displayed, and
you can edit their associated keystroke in place. Use the
entry to the right of each command to alter or add key
bindings. There are further directions in the dialog box.
<dt><button -command Sedit_Pref>Simple Edit</button>
<dd>These bindings result in class definitions for the Entry
and Text widget classes. The default bindings are
Emacs-like. See the Tk man page on the bind command for
details about the syntax, if you need to. "Meta" is an OK
synonym for "Mod1". To emulate Emacs, any keystroke that
is defined to be <Meta-<i>x</i>> will also result
in a binding for <Escape><i>x</i>.
<dt><button -command Sedit_ComposeUI>Compose Key</button>
<dd>The compose key is used to insert 8-bit characters. This
dialog shows you the key sequences used to get special
characters. You can define which key maps to Compose in
the Simple Edit bindings dialog.
</dl>
<dt>Log
<dd>If you have enabled the debug log under the Hacking Support
preferences section, then this button appears. It displays the
debug log.
<dt>Address...
<dd>This is a menu with the following entries
<dl>
<dt><button -command Aliases_Pref>MH Aliases</button>
<dd>This displays an interface to the MH alias file. You will
be prompted to set up the MH profile entry that names the
alias file, if needed. There are a pair of lists in the
interface. To the left is a list of your
aliases. Selecting one will display the address(s) of the
alias in the right-hand list. Under each list are three
buttons: Insert, Change, and Delete, that let you operate
on the aliases or the addresses associated with an
alias. As you view messages, the From address of the
current message is displayed in the dialog. There is a
Help button in the dialog that gives more tips about
using it.
<dt><button -command Addr_Browse>Address Book</a>
<dd>This is a user interface onto all the email addresses
exmh has saved for you. You can update the address
information, delete addresses, and view the last message
from a person. You can save them automatically or on
demand. See the Address Database preferences. Within the
built-in editor a <Control-Tab> does pattern
matching against saved addresses.
</dl>
<dt><button -command Preferences_Dialog>Preferences</button>
<dd>This displays a dialog that lets you customize
<i>exmh</i>. There is also a different Help button in the
Preference dialog that explains how to make selections and get
more info. In particular, you can click on the descriptive label
for an item to get a popup with more detailed information on the
preference item.
<dt><button -command Exmh_Done>Quit</button>
<dd>This quits exmh. If there are pending changes to draft messages,
they are saved first.
</dl>
<h3><a NAME="FOLDER BUTTONS" HREF="#CONTENTS">FOLDER BUTTONS</a></h3>
<p>
The middle set of buttons has folder commands:
<button -command "Folder_New">New</button>,
<Button -command "Busy Flist_FindSeqs 1 ; Inc_PresortFinish">Flist</Button>,
<button -command "Inc">Inc</button>,
<Button -command "Folder_Commit">Commit</Button>,
Search... and More...
<dl>
<dt><button -command "Folder_New">New</button>
<dd>This pops up a dialog box from which you can create new
folders. When entering a folder name, the '@' character is short
for the current folder name. Note that the
<button -command Folder_Delete>Delete folder</button>
operation is under the More... menu.
<dt><Button -command "Busy Flist_FindSeqs 1 ; Inc_PresortFinish">Flist</Button>
<dd>The
<Button -command "Busy Flist_FindSeqs 1 ; Inc_PresortFinish">Flist</Button>
button refreshes the color feedback of folder buttons so you can
tell which folders have unseen messages in them. If you use
presort inc style, then this is done automatically. However, if
you read all the unseen messages in a folder from outside
<i>exmh</i>, then it will miss the transition out of the unseen
state, so the
<Button -command "Busy Flist_FindSeqs 1 ; Inc_PresortFinish">Flist</Button>
button will help reset its view of the folder state.
<dt><button -command "Inc">Inc</button>
<dd>The <button -command "Inc">Inc</button> button will incorporate
new mail from your spool file into your mail folders. This
command is also bound to the keystroke 'i'.
<dt><Button -command "Folder_Commit">Commit</Button>
<dd>The <Button -command "Folder_Commit">Commit</Button> button
causes pending delete and move operations to occur. This command
is also bound to the keystroke <Control-Return>. Know that
messages marked for deletion are removed by means of the MH
<code>rmm</code> command. In most systems, <code>rmm</code> will
rename the message to a name beginning with either a comma (,)
or pound sign (#). Unlike <code>xmh</code>, exmh requires that
you commit changes before changing folders and doing other
operations that modify the scan listing (e.g.,
<button -command FolderPack>Pack folder</button>, Sort,
<button -command "busy Scan_FolderForce">Rescan
folder</button>). However, you can set Auto Commit under the
Scan Listing preferences to have exmh automatically commit
changes when needed. See also the description of the
<button -command Folder_PurgeBg>Purge folder</button>
operation.
<dt><A NAME=sequences>Sequences...</A>
<dd>This is a menu of defined sequences that selected messages can
be added to or removed from. If all the selected messages are
already in the named sequence then clicking on an item in this menu
causes the selected messages to be removed from the named
sequence. Otherwise the selected messages are added to the
named sequence.
<p><p>By default, the only defined sequences are 'unseen' (for
messages which have not yet been seen), and 'urgent'. To add to
this menu, see the
<A HREF="custom.html#sequences">documentation on the sequences
resources</A>.
<dt>Search...
<dd>This is a menu of different search methods. The first two
operations use a simple Find dialog. The Pick and Glimpse
interfaces have their own dialogs. The menu entries under
Search... are:
<dl>
<dt><button -command "Help Search">Search help</button>
<dd>This help text describes the search methods in more
detail.
<dt><button -command Find_Msg>Current message</button>
<dd>Enter a string to find in the current
message. <Return> causes the search to
begin. <Control-s> and <Control-r> cause
subsequent forward and reverse searches, respectively.
<dt><button -command Find_FTOC>Folder table of contents</button>
<dd>This search is done by scanning the folder table of
contents display, so it only hits on the current folder
scan output. Select the All button to select all matching
messages. Use Pick for more general searching.
<dt><button -command Pick>All messages in current folder
(pick)</button>
<dd>This provides an interface to the MH <code>pick</code>
command. Begin by choosing from the "pick attribute" menu
in the dialog. These include headers like Subject, From,
To, and Cc, as well as date criteria like Before, and
After. You can search for a string in the body of
messages with the "Search" field. You can enter a pattern
for any of these, and <code>pick</code> selects messages
that satisfy the logical AND of these pattern
specifications. Note that the Before and After patterns
are date-specific, and <code>pick</code> understands many
forms of date patterns. Read the MH man page on
<code>pick</code> for the complete story. You can build
up more complex logical search expressions by clicking
the Or button.
<dl>
<dt>Pick from Seq/msgs(s)
<dd>This entry lets you limit <code>pick</code> to a
specific set of messages. In particular, you can
specify a sequence name (e.g., "unseen"), and have
pick find all messages with that sequence
identifier. After the pick completes, a range of
messages is selected that satisfies the search, and
you can operate on these messages as described
below.
<dt>Add to Sequence(s)
<dd>This entry lets you apply a sequence name to the
set of messages that are selected by the
search. You can select these later by using the
"Pick from Seq" field.
<dt>Add to Sel
<dd>Set this before the pick to add the results of the
pick to whatever message range is already selected
in the table of contents. Otherwise a new selection
is made.
<dt>New FTOC
<dd>This button causes the table of contents to be
replaced with the set of currently selected
messages. These can be the result of a pick, or you
can just make a selection with the
mouse. <i>Warning</i>: after projecting a new table
of contents, a subsequent <i>pick</i> will only
find things in this limited table of contents.
<dt>Mark Seen
<dd>Use this to remove the selected messages from the
unseen sequence.
</dl>
<dt><button -command Glimpse_Startup>All messages in all
folders (glimpse)</button>
<dd>This brings up an interface to the Glimpse text index
tool. You must first index your mail, so to get started
click "index" to build your indexes. This process runs in
the background, and the status of the index process is
displayed in the Glimpse log. The storage overhead of the
indexes is about 10% to 15%, which is quite good for a
full text index system. To search, enter a word in the
search area and press "Search". The button changes to a
"Stop" button, although the stop may take a moment to take
effect. The search results are displayed in the log. Click
on the message in the log and exmh will visit that
message. For more details, see the exmh-use man page.
<dt><button -command Thread_Display>Display related messages
<dd>This selects messages that have the same subject as the
current message, or that are "in-reply-to" the current
message. The folder table of contents is replaced by one
that only lists the related messages.
</dl>
<dt>More...
<dd>This is a menu with more folder operations in it:
<dl>
<dt><button -command "busy Scan_FolderForce">Rescan folder</button>
<dd>Rescan forces a rescan of the folder
contents. <i>Exmh</i> maintains a cache of the scan
output that could get confused. The Rescan button forces
a full scan. If you just want to scan the new messages
that have arrived in the folder you are currently
reading, it is more efficient to click on the folder's
label in the top pane. This will invoke a scan merging
procedure that attempts to preserve the cached results of
previous scans. You should only need Rescan when you have
reason to believe that <i>exmh</i> is out of sync.
<dt><button -command Ftoc_NewFtoc>List only selected
messages</button>
<dd>This changes the table of contents to list only the
selected messages. This is useful after a pick or table
of contents search that has highlighted several messages
throughout the folder. You must use
<button -command "busy Scan_FolderForce">Rescan
folder</button> to get the full listing back.
<dt><button -command FolderPack>Pack folder</button>
<dd>This will renumber messages in the current folder to
eliminate any gaps in the number sequence.
<dt>Sort folder...
<dd>This is a cascade menu that provides different ways to
sort your folder:
<button -command "busy Folder_Sort -datefield date">by
date</button>,
<button -command "busy Folder_Sort -textfield subject -limit 0">by
subject</button>, and by the
<button -command "busy Folder_Sort -textfield from">sender</button>.
The subject and sender sorts also do some grouping by
date so that messages from one person or about one
subject may be grouped into several subgroups based on
their age. See the MH sortf command manual page for
details.
<dt><button -command "busy Flist_Refresh">Find all folders</button>
<dd>This refreshes the display of folder buttons, and it will
pick up any new folders you have created. Under MH, the
command "folders -fast -recurse" can be slow. The results
are saved, so you should not need to wait for this
scanning unless you change your folder structure. (You
can also edit the .folders file in your MH mail
directory.) In nmh, this command has been patched to
speed it up considerably.
<dt><button -command Folder_Delete>Delete folder</button>
<dd>This lets you delete a folder. The folder must be empty,
except for .xmhcache, .mh_sequences, and any .nfs junk
files.
<dt><button -command Pick_MarkSeen>Catch-up Unseen</button>
<dd>This clears the unseen sequence from the current folder.
<dt><button -command Scan_AllFolders>Update scan caches</button>
<dd>This runs another process in the background to update any
scan caches that are out of date.
<dt><button -command "Scan_AllFolders 1">Update all scan
caches</button>
<dd>This runs another process in the background to update all
the scan caches.
<dt><button -command Folder_PurgeBg>Purge folder</button>
<dd>When MH deletes a message it really only renames it to
have a name like #N or ,N if it was message N. The Purge
operation will clean up these junk files that are older
than 7 days. (This age parameter can be adjusted by a
Preference item under the MH Tweaks section.)
<dt><button -command Folder_PurgeAllBg>Purge all
folders</button>
<dd>This runs through all your folders deleting old junk
files. This is done in the background so you can continue
to use the user interface during the process.
<dt><button -command Import_Dialog>Import mailbox folders</button>
<dd>If you use a program like Elm or Sun's Mailtool, you can
import their message folder contents into the format used
by MH. This menu entry brings up a dialog that lets you
do this. After you specify the directory that contains
the mail folders, a display with a checkbutton for each
folder is created. You can select which folders to
import. The originals are left alone, so you'll have to
delete them yourself after you import them into MH.
<dt><button -command audit>Audit</button>
<dd>This is a cascade menu entry that lets you either view
the audit summary statistics or the current audit
log. Note that the audit log is appended into
~/Mail/.exmhaudit when you quit exmh.
<dt><button -command MhParseProfile>Re-read MH Profile</button>
<dd>If you change something important in your MH profile, you
can get exmh to reprocess it with this operation.
</dl>
</dl>
<h3><a NAME="MESSAGE BUTTONS" HREF="#CONTENTS">MESSAGE BUTTONS</a></h3>
<p>
The last set of commands are message operations. Several of these work
in a batch fashion on all the messages in a selected set. These include
Delete, Move, Link, Forward, Unmark, and Print. Some of these buttons
and menu entries are disabled if there is no current message. Disabled
actions have their text grayed out.
<dl>
<dt><button -command Msg_Forward>Forward</button>
<dd>Forward the current message(s). Also keystroke 'f'.
<dt><button -command Msg_Compose>Compose</button>
<dd>Compose a mail message. Chose the editor to use via the
<button -command Preferences_Dialog>Preferences</button>
dialog. Also keystroke 'c' (for "compose").
<dt><button -command "Ftoc_Prev show">Prev</button>
<dd>Move to the previous message. Also keystroke 'p'. Keystroke 'P'
changes the current message without displaying it. Use 's' to
display such a message.
<dt><button -command "Ftoc_Next show">Next</button>
<dd>Move to the next message. This will chain to the next folder
with unread messages if you are at the end of the current
folder. The "Next" folder is defined by the Folder-Order
.mh_profile entry, and it is always the first folder in the
order that has unseen messages. (This keeps you in the
interesting folders and away from the dregs if you organize your
Folder-Order properly.) Also keystroke 'n'. Keystroke 'N'
changes the current message without displaying it. Keystroke 'F'
changes to the next folder with unseen messages.
<dt><button -command Msg_Remove>Delete</button>
<dd>Mark the current message(s) for deletion and go to the next
message. Also keystroke 'd'. If you change your mind, select the
message again and <button -command Ftoc_Unmark>Unmark
(Undo)</button> it via the entry under the message
More... menu.
<dt><button -command "Msg_Move Ftoc_MoveMark">Move</button>
<dd>Mark the selected message(s) to be moved to the target folder
and go to the next message. Also keystroke 'm'. Note that
selecting a target folder also moves the current message(s). So,
you use the
<button -command "Msg_Move Ftoc_MoveMark">Move</button> button
if the correct target folder is already selected. If you make a
mistake and want to move the message to a different folder, just
select it again and right click on the proper destination
folder. If you don't want to move it at all, then
<button -command Ftoc_Unmark>Unmark (Undo)</button>" the message.
<dt><button -command "Msg_Move Ftoc_CopyMark advance?">Link</button>
<dd>Similar to move, except that the message is linked into the
other folder so that it appears in both places. While this
appears like a copy, the same message is shared between the
folders to save disk space.
<dt>Reply...
<dd>This is a menu of reply options. By default there are two
choices, but you can easily define more variations on reply. The
default choices are:
<dl>
<dt><button -command "Msg_Reply -nocc to -nocc cc">Reply to
sender <Key-r></button>
<dd>Reply to the current message, only to the person that send
the original. Also keystroke 'r'.
<dt><button -command "Msg_Reply -cc to -cc cc">Reply all
<Key-R></button>
<dd>Reply to the current message, including on the cc line
everyone that got the original message. (It invokes MH
<code>repl</code> with: <code>-cc cc -cc to</code>). Also
keystroke 'R'.
<dt><button -command Msg_ReplyHelp>Defining more...</button>
<dd>This pops up a display that tells you how to program new
reply buttons. You'll need to be familiar with the MH repl
command and its filters. Check out the <code>repl</code>
and <code>mh-format</code> manual pages.
</dl>
<dt>More...
<dd>This is a menu of more message operations.
<dl>
<dt><button -command Print>Print</button>
<dd>Print the current message, or the selected set of
messages. The print command is defined via the
<button -command Preferences_Dialog>Preferences</button>
dialog. The whole message is printed, headers and all.
<dt><button -command Ftoc_Unmark>Unmark (Undo)</button>
<dd>Cancel a move or delete mark on the selected
message(s). Also keystroke 'u'.
<dt><button -command Msg_Clip>Clip</button>
<dd>Display a new toplevel window containing the current
message.
<dt><button -command Msg_Show unseen>First Unseen</button>
<dd>Display the first unseen message, if any. Also keystroke
'U'.
<dt><button -command Msg_BurstDigest>Burst Digest</button>
<dd>Use the MH <code>burst</code> command to split up a digest
message into its individual messages. In addition, the new
messages are added to the unseen sequence. You can control
whether or not the original message is replaced with just
the digest header by specifying burst options in your
.mh_profile. (E.g., <code>burst: -inplace</code>).
<dt><button -command "Msg_Dist Mh_DistSetup">Redistribute<button>
<dd>This uses the MH <code>dist</code> command to resend a
message to a different recipient. Your editor is invoked
with a small buffer containing only
<code>Resent-To:</code> and <code>Resent-Cc:</code>lines.
<dt><button -command Msg_Save>Save to file</button>
<dd>This simply copies the current message(s) to a file
selected via the file selector dialog.
<dt><button -command "Msg_Compose _\$exmh(folder) \$msg(id)">Use
message as draft</button>
<dd>This copies the current message into the drafts folder and
opens your editor on the message.
<dt><button -command "Msg_Edit">Edit message</button>
<dd>This opens your editor on the message so that you can
annotate it.
<dt><button -command Msg_UUdecode>uudecode message</button>
<dd>This simple runs uudecode with the current message as
input. A file selection dialog lets you choose the name of
the resulting file.
<dt><button -command Print_Postscript>Print postscript content</button>
<dd>This is useful for non-MIME messages that contain a
postscript file. The message body (everything from the
initial %!PS onwards) is put into a temp file and then the
<button -command Preferences_Dialog>Preferences</button>
Postscript Print Command is used to print that file.
<dt><button -command Message_Apply>Apply command to
message</button>
<dd>This runs a UNIX command over the current message (all of
it). A dialog lets you set the command, with occurrences
of $file replaced with the pathname of the message. The
default value of the UNIX command is hiding under the
Print <button -command Preferences_Dialog>Preferences</button>
entry.
<dt><button -command "Message_Apply body">Apply command to
body</button>
<dd>This runs a UNIX command over a temporary file containing
the body of the current message.
<dt><button -command Msg_MarkUnseen>Mark Unseen</button>
<dd>This puts the current message(s) back into the unseen
sequence.
<dt><button -command Pgp_ExmhEncrypt>PGP Encrypt</button>
<dd>Replace the current message with an encrypted version of
it.
<dt>old PGP...
<dd>This is a menu of operations that apply to PGP messages
that are not wrapped up in a MIME format. Those are handled
automatically. This menu is used to tell exmh explicitly what
to do. You can <button -command Pgp_Decrypt>Decrypt</button>,
<button -command Pgp_View>View</button>, or
<button -command "PgpExec_ExtractKeys \"\$mhProfile(path)/\$exmh(folder)/\$msg(id)\"">Extract
Keys</button>.
<dt><button -command URI_ScanMsg>Scan for URLs</button>
<dd>Scan through the message body and look for URL and URN
references. If any are found, they are highlighted and
made into active text. Click on the text and your web
browser will be started on that URI. You can set the
command to use via the URI
<button -command Preferences_Dialog>Preferences</button>
section. Also keystroke 'z'.
<dt><button -command URI_OpenSelection>View selected URL</button>
<dd>If you have manually selected an embedded URL, then use
this menu entry to get exmh to ask your web browser to
display the selected URL. If the automatic scanning
doesn't work perfectly, you can do a manual selection on
top of an incorrect active text button. NOTE: This also
works if the URL was selected outside of exmh!!
<dt><button -command Partial_Concatenate>Concatenate partial
messages</button>
<dd>If you get a message in parts, as a MIME type
message/partial, then select all the messages that have
the parts and invoke this operation.
<dt><button -command Folder_AutoRefile>Automatic Refile</button>
<dd>Choose a folder for the current message based on the from
address.
<dt><button -command Post>Post this message to a Newsgroup</button>
<dd>Post a copy of the current message to a newsgroup. You'll
be prompted for what group.
</dl>
</dl>
<h3><a NAME="SEDIT" HREF="#CONTENTS">SEDIT</a></h3>
The built-in editor, <code>sedit</code>, has a dozen or so commonly
used editing operations bound to keystrokes. These are Emacs-like, but
you can change them from within the editor through the "Simple Edit"
dialog available under the main "Bindings" menu. In addition, the
editor has a number of buttons and menu entries used to manipulate
your draft messages.
<dl>
<dt>Abort
<dd>This deletes the draft message and removes the editor window.
<dt>Save&Quit
<dd>This will save the message and quit the editor window. The idea
is that you will come back to the draft via the drafts folder
later.
<dt><a NAME="crypt">Crypt...</a>
<dd>This is a menu of options that use the Pretty Good Privacy
package to to encryption and authentication. An
explanation of pgp is beyond the scope of this manual.
<p>
The options in the menu determine how your message will be
encrypted or signed when the message is sent.
<p>
These values default to the values provided on the
<button -command Preferences_Dialog>Preferences</button>
PGP page and are reset for every new message.
<p>
There are currently three formats supported for signed or
encrypted messages:
<dl>
<dt>Plain
<dd>This uses no encapsulation whatsoever for the signed
message. This format is compatible with older
non-MIME compliant mail programs.
<dt>Application/PGP
<dd>This uses the now deprecated Application/PGP MIME
type. This type was deprecated because it turned
out to be insufficiently flexible.
<dt>Multipart/MIME
<dd>This uses Multipart/signed MIME type with the signature
part encoded as an application/pgp-signature. This is
compatible with other non-PGP digital signature schemes.
Many minimally compliant mail programs see your signature
as an attachment.
</dl>
<p>
There are also four signature operations supported via the Sign
sub-menu:
<dl>
<dt>None
<dd>No signature is produced.
<dt>Standard
<dd>This causes the message to be digitally signed so
that the recipient can determine that you were
really the author.
<dt>Clear Sign
<dd>This causes a signed, but not encrypted message to
be passed in clear text so even if a recipient
doesn't have PGP available, they can still read the text.
<dt>plus Encrypt
<dd>This causes the message to be encrypted as well as signed.
</dl>
<p>
Toggling "Encrypt Only" causes the message to be encrypted so
that only the intended recipient can read it. If you have
enabled caching of passphrases you can use "Clear
Passphrases(s)" to clear the cache. Users with multiple private
keys may select which key to use for signatures via "Choose
Key" (or the SEDIT area described in the next paragraph).
<p>
If PGP is enabled, and "sedit PGP password" is selected in
the <button -command Preferences_Dialog>Preferences</button>,
a field for entering a PGP password appears at the bottom
of the SEDIT window. If your password is provided in this
field, then the values set in the Crypt... menu are
invoked. If no password is provided, then encryption is
not used AND the message is not sent. This makes it harder
to send un-encrypted messages out by mistake.
<p>
If PGP is enabled and "sedit PGP password is <em>not</em>
selected in the
<button -command Preferences_Dialog>Preferences</button>,
a popup window appears after pressing the SEND button.
<dt>Help
<dd>This button brings up a window with a short explanation of the
editor.
<dt>Quote...
<dd>This is only active while you are replying to a message. When
you are replying to a message, the file named "@" is a symbolic
link to the message to which you are replying. When this file is
inserted, it is formatted a bit, unlike the Insert
File... operation. The mail headers are stripped off,
quoted-printable text is decoded so you get 8-bit characters in
the edit buffer, and each line is prefixed with a short string
to distinguish the inserted lines. You can set this prefix via
an Xresource, replPrefix. The default prefix is "> ". If you
want to change this and still have trailing blanks, it turns out
this works OK. The resource value seems to begin with the first
non-blank character, but then extends all the way to the newline
character.
<dt>Sign
<dd>This appends your ~/.signature file to the draft. If this file
is instead an executable script or program, it is executed in
order to generate the signature.
<dt>Sign...
<dd>If you have multiple files that match the ~/.signature* pattern,
the Sign button is replaced with a menu of possibilities. If you
choose the autoSign Simple Editor Preference, then this menu is
used to choose which signature file (or program) is used when
automatically signing the message as it gets posted.
<dt>Send
<dd>When you are done with the message, click Send. This is also
bound to the keystroke <Control-c><Control-c>.
<dt>Text...
<dd>This menu is used to add bold, italic, underline, etc. to your
messages. This results in a MIME message of type
text/enriched. The formatting commands are supposed to be
palatable to a non-MIME reader, but you may want to take this
into consideration. If you disable the "Format mail" setting
(described below), the looks are discarded before sending the
message.
<dt>More...
<dd>This menu contains a few entries for less common
operations. They are:
<dl>
<dt>Keep on send
<dd>This is a checkbox menu item that is off (un-highlighted)
by default. If selected it prevents the editor window
from disappearing after you send or abort a message. This
is useful if you'd like to compose a few similar
messages. (I also use it to debug the enriched text
formatter.)
<dt>Format mail
<dd>This is a sub-menu of formatting options. The first
three options are mutually exclusive and determine when
and how the text in your message is formatted to fit into
standard length lines. The choices are:
<dl>
<dt>No Line Breaking
<dd>Don't do any formatting at anytime.
<dt>Line Break at Send
<dd>Post process the message after you hit the send
button to break long lines.
<dt>Line Break when Typing.
<dd>At each keystroke check to see if the current line
is too long, wrapping it if necessary. If you use
this then you should know about the "format"
command that reformats a paragraph. By default,
that is bound to <Meta-q>
</dl>
<dt>Attempt mhbuild
<dd>If this is selected, your message is run through
<code>mhbuild</code> in order to expand any # directives that
format a MIME message. See also the "Run mhbuild now" menu
entry below, and see the <code>mhbuild</code> man page for
details.
<dt>Quote Printable
<dd>If this is selected, then any text MIME parts are run
through the quoted-printable encoder to wrap up 8-bit
characters in a 7-bit safe encoding. The Quoted Printable
default preference setting under Simple Editor can be set
to automatic, never, or always. In automatic mode,
quoting is enabled when you enter a Compose key sequence
to generate an 8-bit character.
<dt>Run mhbuild now.
<dd>This processes the message assuming you have mhbuild
directives, and then lets you edit the result.
<dt>Cite Selection
<dd>This formats and inserts the current selection. It is
assumed to be in the currently displayed mail message,
and the sender of that message is identified before the
formatted text. Hint: this is the only useful way to
include text from PGP encrypted messages and
text/enriched messages. The formatting of text/enriched
is lost, however.
<dt>Attachment
<dd>This is a menu of attachment options.
<dl>
<dt>Attach File...
<dd>This brings up a dialog box that lets you attach a
file using MIME. It tries to determine the type of
the file based on <code>nametemplate</code> entries
in the metamail mailcap description file. It
presents a dialog that lets you override the type,
add a Content-Description, and choose an encoding
for the file. When you attach the first Part of a
message you are asked whether or not to save the
existing message body. If you save it, it becomes
the text/plain first part of the multipart message.
<dt>Insert File...
<dd>This simply inserts a file at the current insert
point.
<dt>Attach Reference...
<dd>This sets up an Message/External-Body MIME message
part. This is useful for sending around pointers to
files available via FTP or on your local file system.
<dt>Attach PGP Keys...
<dd>Insert your PGP keys into the mail message. You can
use the key selector to choose any key in your
public keyring. Just type in a pattern that matches
part of the key ID. Matching keys are displayed in
the listbox.
</dl>
<dt>Whom
<dd>This entry displays a small window with the network
addresses of the recipients of the message. Clicking the
button a second time makes the window go away.
<dt>Spell...
<dd>This runs either the UNIX spell or ispell command. Choose
between these two options in the Simple Editor
<button -command Preferences_Dialog>Preferences</button>.
(Don't confuse that with the setting under Editor Support
<button -command Preferences_Dialog>Preferences</button>.)
If you use ispell then the draft is reloaded after ispell
terminates. If you use spell then the output of spell is
put into a second pane inside the editor window. That's
all - nothing fancy.
<dt>Find SEL
<dd>This searches the draft for the current X selection. The
intent is that you select misspelled words in the output
of the spell command and use this menu entry to locate
them in the draft. (The find and keybinding mechanisms
were stressed by this addition - expect a cleanup
someday. There is no reasonable way to define keystroke
accelerators for the find and still be able to change them
in the Bind dialog. -don't ask...).
<dt>Save Buffer
<dd>This saves the editor buffer into a file in your drafts
folder. Most likely you really want the "Keep on Send"
function instead of Save, because that function preserves
the draft after you send it, while ordinarily (in spite of
"Save") MH will rename the draft after you send it.
<dt>Mime Preview
<dd>This displays the message as it will appear when an exmh
user receives it. A detached top-level window is used, as
with message Clip.
<dt>Alternate Editor
<dd>Save the draft and invoke your alternate editor on the
message. Define the alternate under the Editor Support
<button -command Preferences_Dialog>Preferences</button>.
</dl>
</dl>
<h3><a NAME="AUTHOR" HREF="#CONTENTS">AUTHOR</a></h3>
welch@acm.org "Brent Welch"
<h3><a NAME="THANKS" HREF="#CONTENTS">THANKS</a></h3>
To Xerox PARC/CSL, for supporting this work initially, to Sun Microsystems
Laboratories for continuing the support, and to all the exmh users
that contributed ideas and code.
<hr>[ <a HREF="index.html">exmh</a> |
<a HREF="software.html">software</a> |
<a HREF="Intro.html">intro</a> |
<a HREF="exmh-faq.html">faq</a> |
<a HREF="tutorial.html">tutorial</a> |
<a HREF="guide.html">guide</a> ]
</Body>
</Html>
|