File: reference.html

package info (click to toggle)
exmh 1%3A2.9.0-8
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,932 kB
  • sloc: tcl: 38,143; perl: 1,647; makefile: 130; sh: 101; exp: 75; csh: 9; sed: 2
file content (960 lines) | stat: -rw-r--r-- 41,641 bytes parent folder | download | duplicates (2)
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 &lt;Meta-<i>x</i>&gt; will also result
             in a binding for &lt;Escape&gt;<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 &lt;Control-Tab&gt; 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 &lt;Control-Return&gt;. 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. &lt;Return&gt; causes the search to
	     begin. &lt;Control-s&gt; and &lt;Control-r&gt; 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 &lt;Key-r&gt;</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
	    &lt;Key-R&gt;</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&amp;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 "&gt; ". 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 &lt;Control-c&gt;&lt;Control-c&gt;.

  <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 &lt;Meta-q&gt;
	     </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>