|
|
1.1 root 1: .TH XMH 1
2: .SH NAME
3: \fIxmh\fR \- X window interface to the mh Mail Handler
4: .SH DESCRIPTION
5: \fIXmh\fR is a program that provides a window-oriented front end to the mh
6: Mail Handler. It is designed to take advantage of a large graphical
7: display and mouse; it will not function on an ordinary terminal at all.
8:
9: \fIXmh\fR consists of user-interface code only. To actually do things
10: with your mail, it makes calls to the \fImh\fR package.
11:
12: Please don't be misled by the size of this document. \fIXmh\fR really is
13: easy to use!
14:
15: .SH INSTALLATION
16: The current version of \fIxmh\fR requires that the user is already set up
17: to use \fImh\fR, version 6. To do so, see if there is a file
18: called .mh_profile in your home directory. If you do, check to see if it
19: contains a line that starts with ``Current-Folder''. If it does, then
20: you've been using version 4 or earlier of \fImh\fR; to convert to version
21: 6, you must remove that line. (Failure to do so causes spurious output to
22: stderr, which can hang \fIxmh\fR depending on your setup.)
23:
24: If you do not already have a .mh_profile, you can create one (and
25: everything else you need) by typing ``inc'' to the shell.
26:
27: For more information, refer to the \fImh\fR documentation.
28:
29: .SH RUNNING XMH
30: Run \fIxmh\fR as you would any other X application (e.g., xterm). It will
31: accept a command-line display (of the form ``displayname:displaynumber'');
32: the default display is specified in the environment variable DISPLAY.
33:
34: The rest of this document will probably be rather hard to follow without
35: actually running \fIxmh\fR and seeing the things being described.
36:
37: .SH BASIC SCREEN LAYOUT
38: \fIXmh\fR starts out with a single screen. There will be 6 or 7 areas on the screen:
39:
40: .TP 4
41: .B \-
42: A list of your folders. (New users of mh will see only ``inbox'' here.)
43: .PP
44: .TP 4
45: .B \-
46: A list of the global and folder-oriented commands.
47: .PP
48: .TP 4
49: .B \-
50: A list of the messages in one of your folders (initially, this will show the
51: messages in ``inbox'').
52: .PP
53: .TP 4
54: .B \-
55: A list of the message-oriented commands.
56: .PP
57: .TP 4
58: .B \-
59: A view of one of your messages. (Initially this is blank.)
60: .PP
61: .TP 4
62: .B \-
63: A list of commands for the message being viewed.
64: .PP
65: And, there will possibly be:
66: .TP 4
67: .B \-
68: A list of message-sequences defined for this folder. This appears just
69: below the list of messages in this folder. (Message-sequences are
70: discussed below; if you don't know what they are, then you won't have any.)
71:
72: .SH XMH AND THE TOOLKIT
73: \fIXmh\fR uses a preliminary version of the X Toolkit. Many of the
74: features described below (scrollbars, buttonboxes, etc.) are actually part
75: of the Toolkit, and are described here only for completeness. For more
76: information, see the Toolkit documentation.
77:
78: .SH SCROLLBARS
79: Some parts of the screen will have a vertical area on the left containing
80: a grey bar. This area is a \fIscrollbar\fR. They are used whenever the
81: data in a window takes up more space than can be displayed.
82: The grey bar indicates what portion of your data is visible. Thus, if the
83: entire length of the area is grey, then you are looking at all your data.
84: If only the first half is grey, then you are looking at the top half of
85: your data.
86:
87: You can use the mouse in the scrollbar to change what part of the data is
88: visible. If you click with the middle button, then the top of the grey
89: area will move to where the mouse pointer is, and the corresponding
90: portion of data will be displayed. If you hold down the middle button,
91: you can drag around the grey area. This makes it easy to get to the top
92: of the data: just press with the middle, drag off the top of the
93: scrollbar, and release.
94:
95: If you click with the left button, then the data to the right of the mouse
96: pointer will scroll to the top of the window. If you click with the right
97: button, then the data at the top of the window will scroll down to where
98: the mouse pointer is.
99:
100: .SH BUTTONBOXES
101: Any area consisting of many words or short phrases, each enclosed in a
102: box, is called a \fIbuttonbox\fR. Each box is actually a button that you
103: can press by moving the mouse pointer onto it and pressing any mouse
104: button. If a given buttonbox has more buttons in it than can fit, it will
105: be displayed with a scrollbar, so you can always scroll to the button you
106: want.
107:
108: .SH ADJUSTING THE RELATIVE SIZES OF AREAS ON THE SCREEN
109: If you're not satisfied with the size of the various areas on the screen,
110: they can easily be changed. Near the right edge of the border between
111: each region is a black box, called a \fIknob\fR. Simply point to that
112: knob with the mouse pointer, press a mouse button, drag up or down, and
113: release. Exactly what happens depends on which mouse button you press.
114:
115: If you drag with the middle button, then only that border will move. This
116: mode is simplest to understand, but is probably the least useful.
117:
118: If you drag with the left mouse button, then you are adjusting the size of
119: the window above. \fIXmh\fR will attempt to compensate by adjusting some
120: window below it, but it will not change the size of buttonboxes below it.
121:
122: If you drag with the right mouse button, then you are adjusting the size
123: of the window below. \fIXmh\fR will attempt to compensate by adjusting
124: some window above it, but it will not change the size of buttonboxes above
125: it.
126:
127: All windows have a mininum and maximum size; you will never be allowed to
128: move a border past the point where it would make a window have an invalid
129: size.
130:
131: .SH SELECTED FOLDER
132: The selected folder is whichever foldername is hilighted in the top
133: buttonbox. Note that this is not necessarily the same folder that is
134: being viewed. To change the selected folder, just press on the desired
135: folder button.
136:
137: .SH GENERAL COMMANDS AND FOLDER COMMANDS
138: The second buttonbox contains commands of a global nature:
139:
140: .TP 8
141: .B Quit XMH
142: Exits \fIxmh\fR, after first checking that you won't lose any changes.
143: .PP
144: .TP 8
145: .B Compose Message
146: Composes a new message. A new window will be brought up; for a
147: description of it, see COMPOSITION WINDOWS, below.
148: .PP
149: .TP 8
150: .B Open Folder
151: Display the data in the selected folder. Thus, the selected folder also
152: becomes the viewed folder.
153: .PP
154: .TP 8
155: .B Open Folder in New Window
156: Creates a new screen, and displays the selected folder in that screen.
157: Note, however, that you may not display the same folder in more than one
158: screen at a time.
159: .PP
160: .TP 8
161: .B Create Folder
162: Create a new folder. You will be prompted for a name for the new folder;
163: to enter the name, point the mouse at the blank box provided and type.
164: Hit the Confirm button when finished, or hit Abort to cancel this
165: operation.
166: .PP
167: .TP 8
168: .B Delete Folder
169: Destroy the selected folder. You will be asked to confirm this action (see
170: CONFIRMATION WINDOWS).
171:
172: .SH HIGHLIGHTED MESSAGES, SELECTED MESSAGES
173: .SH AND THE CURRENT MESSAGE
174: It is possible to highlight a set of messages in the list of messages for the
175: viewed folder. To highlight a message, just click on it with the left mouse
176: button. To highlight a range of messages, click on the first one with the
177: left mouse button and on the last one with the right mouse button.
178:
179: The selected messages are the same as the highlighted messages, if any. If no
180: messages are highlighted, then the selected messages are considered the same
181: as the current message.
182:
183: The current message is indicated by a '+' next to the message number. It
184: usually corresponds to the message currently being viewed.
185:
186: .SH MESSAGE COMMANDS
187: The third buttonbox (fourth if you have message-sequences displayed)
188: contains commands to deal with messages:
189:
190: .TP 8
191: .B Incorporate New Mail
192: Add any new mail received to your inbox folder, and set the current
193: message to be the first new message. (This button appears only if
194: ``inbox'' is the folder being viewed.)
195: .PP
196: .TP 8
197: .B View Next Message
198: View the first selected message. If no messages are highlighted, view the
199: current message. If current message is already being viewed, view the
200: first unmarked message after the current message.
201: .PP
202: .TP 8
203: .B View Previous Message
204: View the last selected message. If no messages are highlighted, view the
205: current message. If current message is already being viewed, view the
206: first unmarked message before the current message.
207: .PP
208: .TP 8
209: .B Mark Deleted
210: Mark the selected messages for deletion. If no messages are highlighted, then
211: this will automatically display the next unmarked message.
212: .PP
213: .TP 8
214: .B Mark Move
215: Mark the selected messages to be moved into the current folder. (If the
216: current folder is the same as the viewed folder, this command will just
217: beep.) If no messages are highlighted, then
218: this will automatically display the next unmarked message.
219: .PP
220: .TP 8
221: .B Mark Copy
222: Mark the selected messages to be copied into the current folder. (If the
223: current folder is the same as the viewed folder, this command will just
224: beep.)
225: .PP
226: .TP 8
227: .B Unmark
228: Remove any of the above three marks from the selected messages.
229: .PP
230: .TP 8
231: .B View in New Window
232: Create a new window containing only a view of the first selected message.
233: .PP
234: .TP 8
235: .B Reply
236: Create a composition window in reply to the first selected message.
237: .PP
238: .TP 8
239: .B Forward
240: Create a composition window whose body is initialized to be the contents
241: of the selected messages.
242: .PP
243: .TP 8
244: .B Use as Composition
245: Create a composition window whose body is initialized to be this message.
246: Note that any changes you make in the composition will also be saved in
247: this message. This function is meant to be used with the ``drafts'' folder
248: (see COMPOSITION WINDOWS).
249: .PP
250: .TP 8
251: .B Commit Changes
252: Execute any deletions, moves, and copies that have been marked in this
253: folder.
254: .PP
255: .TP 8
256: .B Print
257: Print the selected messages. \fIXmh\fR prints by by invoking
258: the \fIenscript\fR(1) command.
259: .PP
260: .TP 8
261: .B Pack folder
262: Renumber the messages in this folder so they start with 1 and increment by
263: 1.
264: .PP
265: .TP 8
266: .B Sort folder
267: Sort the messages in this folder in chronological order. As a side
268: effect, this also packs the folder.
269: .PP
270: .TP 8
271: .B Force Rescan
272: Rebuild the list of messages. This can be used whenever you suspect \fIxmh\fR's
273: idea of what messages you have is wrong. (In particular, this is useful
274: if you ever change things using straight mh commands without using \fIxmh\fR.)
275: .PP
276: .TP 8
277: .B Pick Messages
278: Define a new message-sequence. (See MESSAGE-SEQUENCES.)
279: .PP
280: The following buttons will appear but will be sensitive only if
281: the current folder has any message-sequences defined (See MESSAGE-SEQUENCES).
282: .TP 8
283: .B Open Sequence
284: Change the viewed sequence to be the same as the selected sequence.
285: .PP
286: .TP 8
287: .B Add to Sequence
288: Add the selected messages to the selected sequence.
289: .PP
290: .TP 8
291: .B Remove from Sequence
292: Remove the selected messages from the selected sequence.
293: .PP
294: .TP 8
295: .B Delete Sequence
296: Remove the selected sequence entirely. Note the messages themselves are
297: not effected; they simply are no longer grouped together as a message-sequence.
298:
299: .SH VIEW WINDOWS
300: The commands in these windows are the same as the message commands by the
301: same name, except instead of affecting the selected messages, they affect
302: the viewed message. In addition there is the ``Edit View'' button, which
303: allows you to edit the message being viewed. While editing, the ``Edit
304: View'' button will change to a ``Save View'' button, which should be
305: pressed to save your edits.
306:
307: .SH COMPOSITION WINDOWS
308: Aside from the normal text editing functions, there are three command
309: buttons associated with composition windows:
310: .TP 8
311: .B Abort Comp
312: Abort this composition window. If changes have been made, you will be
313: asked to confirm losing them.
314: .PP
315: .TP 8
316: .B Send
317: Send this composition. If any errors appear in the message header, you
318: will receive a mail message containing this composition and a description
319: of the error.
320: .PP
321: .TP 8
322: .B Save
323: Save this composition in your drafts folder. (If you do not have a folder
324: named ``drafts'', one will be created.) Then you can safely close the
325: composition. At some future date, you can continue working on the
326: composition by opening your drafts folder, selecting the message, and
327: using the ``Use as Composition'' command.
328:
329: .SH TEXT EDITING COMMANDS
330: Whenever you are asked to enter any text, you will be using a standard
331: text editing interface. Various control and meta keystroke combinations
332: are bound to a somewhat Emacs-like set of commands. In addition, the
333: mouse buttons may be used to select a portion of text or to move the
334: insertion point in the text. Pressing the left mouse button causes the
335: insertion point to move to the mouse pointer. Double-clicking the left
336: button selects a word, triple-clicking selects a paragraph, and
337: quadruple-clicking selects everything. Any selection may be extended in
338: either direction by using the right mouse button.
339:
340: In the following, a \fIline\fR refers to one displayed row of characters
341: in the window. A \fIparagraph\fR refers to the text between carriage
342: returns. Text within a paragraph is broken into lines based on the
343: current width of the window.
344:
345: The following keystroke combinations are defined:
346: .TP 8
347: .B Control-A
348: Move to the beginning of the current line.
349: .PP
350: .TP 8
351: .B Control-B, Control-H, Backspace
352: Move backward one character.
353: .PP
354: .TP 8
355: .B Control-D
356: Delete the next character.
357: .PP
358: .TP 8
359: .B Control-E
360: Move to the end of the current line.
361: .PP
362: .TP 8
363: .B Control-F
364: Move forward one character.
365: .PP
366: .TP 8
367: .B Control-J, LineFeed
368: Create a new paragraph with the same indentation as the previous one.
369: .PP
370: .TP 8
371: .B Control-K
372: Kill the rest of this line.
373: .PP
374: .TP 8
375: .B Control-L
376: Repaint this window.
377: .PP
378: .TP 8
379: .B Control-M, Return
380: New paragraph.
381: .PP
382: .TP 8
383: .B Control-N
384: Move down to the next line.
385: .PP
386: .TP 8
387: .B Control-O
388: Break this paragraph into two.
389: .PP
390: .TP 8
391: .B Control-P
392: Move up to the previous line.
393: .PP
394: .TP 8
395: .B Control-V
396: Move down to the next screenfull of text.
397: .PP
398: .TP 8
399: .B Control-W
400: Kill the selected text.
401: .PP
402: .TP 8
403: .B Control-Y
404: Insert the last killed text.
405: .PP
406: .TP 8
407: .B Control-Z
408: Scroll the text one line up.
409: .PP
410: .TP 8
411: .B Meta-<
412: Move to the beginning of the document.
413: .PP
414: .TP 8
415: .B Meta->
416: Move to the end of the document.
417: .PP
418: .TP 8
419: .B Meta-[
420: Move backward one paragraph.
421: .PP
422: .TP 8
423: .B Meta-]
424: Move forward one paragraph.
425: .PP
426: .TP 8
427: .B Meta-B
428: Move backward one word.
429: .PP
430: .TP 8
431: .B Meta-D
432: Kill the next word.
433: .PP
434: .TP 8
435: .B Meta-F
436: Move forward one word.
437: .PP
438: .TP 8
439: .B Meta-H, Meta-Delete
440: Kill the previous word.
441: .PP
442: .TP 8
443: .B Meta-I
444: Insert a file. If any text is selected, use the selected text as the
445: filename. Otherwise, a box will appear in which you can type the desired
446: filename.
447: .PP
448: .TP 8
449: .B Meta-V
450: Move up to the previous screenfull of text.
451: .PP
452: .TP 8
453: .B Meta-Y
454: Stuff the last selected text here. Note that this can be text selected in
455: some other text subwindow. Also, if you select some text in an xterm
456: window, it may be inserted in an \fIxmh\fR window with this command.
457: .PP
458: .TP 8
459: .B Meta-Z
460: Scroll the text one line down.
461: .PP
462: .TP 8
463: .B Delete
464: Delete the previous character.
465: .PP
466: For more information, see CUSTOMIZING TEXT EDITING.
467:
468: .SH CONFIRMATION WINDOWS
469: Whenever you press a button that may cause you to lose some work or is
470: otherwise dangerous, a window will appear asking you to confirm the
471: action. This window will contain an ``Abort'' button and a ``Confirm''
472: button. Pressing the ``Abort'' button cancels the operation, and pressing
473: the ``Confirm'' will proceed with the operation. (A very handy shortcut
474: exists: if you press the offending button again, it will be interpreted as
475: a ``Confirm''. If you press any other command button, it will be
476: interpreted as an ``Abort''.)
477:
478: .SH MESSAGE-SEQUENCES
479: A mh message sequence is just a set of messages associated with some name.
480: They are local to a particular folder; two different folders can have
481: sequences with the same name. In all folders, the sequence ``all'' is
482: predefined; it consists of the set of all messages in that folder. (The
483: sequence ``cur'' is also usually defined for every folder; it consists of
484: only the current message. \fIXmh\fR hides ``cur'' from the user, instead
485: placing a ``+'' by the current message. Also, \fIxmh\fR does not support
486: the ``unseen'' sequence, so that one is also hidden from the user.)
487:
488: The message sequences for a folder are displayed as
489: buttons containing the names of the sequences (including
490: one for ``all''). The table of contents (aka ``toc'') is at any one time
491: displaying one message sequence. This is called the ``viewed sequence''; if
492: it's not ``all'', its name will be displayed in the title bar just after the
493: folder name. Also, at any time one of the sequence buttons will be
494: highlighted. This is called the ``selected sequence''. Note that the viewed
495: sequence and the selected sequence are not necessarily the same. (This all
496: pretty much corresponds to the way the folder buttons work.)
497:
498: The \fBOpen Sequence\fR, \fBAdd to Sequence\fR, \fBRemove from Sequence\fR,
499: and \fBDelete Sequence\fR buttons are active only if the viewed folder
500: contains message-sequences.
501: .PP
502: Note that none of the above actually effect whether a message is in the
503: folder. Remember that a sequence is a set of messages within the folder;
504: the above operations just affect what messages are in that set.
505:
506: To create a new sequence, press the ``Pick'' button. A new window will
507: appear, with lots of places to enter text. Basically, you can describe the
508: sequence's initial set of messages based on characteristics of the
509: message. Thus, you can define a sequence to be all the messages that were
510: from a particular person, or with a particular subject, and so on. You
511: can also connect things up with boolean operators, so you can select all
512: things from ``weissman'' with the subject ``xmh''.
513:
514: Hopefully, the layout is fairly obvious. The simplest cases are the
515: easiest: just point to the proper field and type. If you enter in more
516: than one field, it will only select messages which match all non-empty
517: fields.
518:
519: The more complicated cases arise when you want things that match one field
520: or another one, but not necessarily both. That's what all the ``or''
521: buttons are for. If you want all things with the subject ``xmh'' or
522: ``xterm'', just press the ``or'' button next to the ``Subject:'' field.
523: Another box will appear where you can enter another subject.
524:
525: If you want all things either from ``weissman'' or with subject ``xmh'', but
526: not necessarily both, select the ``-Or-'' button. This will essentially
527: double the size of the form. You can then enter ``weissman'' in a from: box
528: on the top half, and ``xmh'' in a subject: box on the lower part.
529:
530: If you ever select the ``Skip'' button, then only those messages that
531: \fIdon't\fR match the fields on that row are included.
532:
533: Finally, in the bottom part of the window will appear several more boxes.
534: One is the name of the sequence you're defining. (It defaults to the name
535: of the selected sequence when ``Pick'' was pressed, or to ``temp'' if
536: ``all'' was the selected sequence.) Another box defines which sequence to
537: look through for potential members of this sequence; it defaults to the
538: viewed sequence when ``Pick'' was pressed.
539:
540: Two more boxes define a date range; only messages within that date range
541: will be considered. These dates must be entered in 822-style format: each
542: date is of the form ``dd mmm yy hh:mm:ss zzz'', where dd is a one or two
543: digit day of the month, mmm is the three-letter abbreviation for a month,
544: and yy is a year. The remaining fields are optional: hh, mm, and ss
545: specify a time of day, and zzz selects a time zone. Note that if the time
546: is left out, it defaults to midnight; thus if you select a range of ``7
547: nov 86'' - ``8 nov 86'', you will only get messages from the 7th, as all
548: messages on the 8th will have arrived after midnight.
549:
550: ``Date field'' specifies which date field in the header to look at for
551: this date range; it probably won't be useful to anyone. If the sequence
552: you're defining already exists, you can optionally merge the old set with
553: the new; that's what the ``Yes'' and ``No'' buttons are all about.
554: Finally, you can ``OK'' the whole thing, or ``Cancel'' it.
555:
556: In general, most people will rarely use these features. However, it's
557: nice to occasionally use ``Pick'' to find some messages, look through
558: them, and then hit ``Delete Sequence'' to put things back in their original
559: state.
560:
561: .SH CUSTOMIZING XMH
562: As with all standard X applications, \fIxmh\fR may be customized through entries
563: in your .Xdefaults file. The following .Xdefaults entries are defined:
564: .TP 8
565: .B BackGround
566: Background color. Currently, this will effect only buttons. (Default is
567: white.)
568: .PP
569: .TP 8
570: .B ButtonFont
571: What font to use for button names. (Default is ``timrom10''.)
572: .PP
573: .TP 8
574: .B CompButtonLines
575: How many rows of buttons to display under a composition. (Default is 1.)
576: .PP
577: .TP 8
578: .B CompFont
579: What font to use when composing a message. (Default is ``6x13''.)
580: .PP
581: .TP 8
582: .B CompGeometry
583: Initial geometry for windows containing compositions.
584: .PP
585: .TP 8
586: .B CompLines
587: How many lines of a composition to display. (Default is 20.)
588: .PP
589: .TP 8
590: .B ConfirmFont
591: What font to use for confirmation windows. (Default is ``timrom10b''.)
592: .PP
593: .TP 8
594: .B FolderButtonLines
595: How many rows of folder command buttons to display. (Default is 1.)
596: .PP
597: .TP 8
598: .B FolderLines
599: How many rows of foldername buttons to display. (Default is 1.)
600: .PP
601: .TP 8
602: .B ForeGround
603: Foreground color. Currently, this will effect only title bars and
604: buttons. (Default is black.)
605: .PP
606: .TP 8
607: .B Geometry
608: Default geometry to use. (Default is none.)
609: .PP
610: .TP 8
611: .B HideBoringHeaders
612: If ``on'', then \fIxmh\fR will attempt to skip uninteresting header lines
613: within messages by scrolling them off. (Default is ``on''.)
614: .PP
615: .TP 8
616: .B InitialFolder
617: Which folder to display on startup. (Default is ``inbox''.)
618: .PP
619: .TP 8
620: .B InitialIncFile
621: The file name of your incoming mail drop. \fIxmh\fR tries to construct
622: a filename for the ``inc -file'' command, but in some installations
623: (e.g. those using the Post Office Protocol) no file is appropriate.
624: In this case, \fBInitialIncFile\fR should be specified as the empty string.
625: .PP
626: .TP 8
627: .B LabelFont
628: What font to use for the title bars. (Default is ``timrom10i''.)
629: .PP
630: .TP 8
631: .B MhPath
632: What directory in which to find the mh commands. If a command isn't found
633: here, then the directories in the user's path are searched. (Default is
634: ``/usr/local/mh6''.)
635: .TP 8
636: .B PickGeometry
637: Initial geometry for pick windows.
638: .PP
639: .TP 8
640: .B PickEntryFont
641: What font to use for user text fields in pick windows. (Default is
642: ``timrom10''.)
643: .PP
644: .TP 8
645: .B PickTextFont
646: What font to use for static text fields in pick windows. (Default is
647: ``timrom10''.)
648: .PP
649: .TP 8
650: .B PrintCommand
651: What sh command to execute to print a message. Note that stdout and stderr
652: must be specifically redirected! (Default is ``enscript >/dev/null
653: 2>/dev/null'').
654: .PP
655: .TP 8
656: .B TempDir
657: Directory for \fIxmh\fR to store temporary directories. For protection, a user
658: might want to change this to a private directory. (Default is ``/tmp''.)
659: .PP
660: .TP 8
661: .B TerseButtonNames
662: If ``on'', then command buttons will be displayed with much shorter names.
663: It is highly recommended to use this after gaining familiarity with
664: \fIxmh\fR. (Default is ``off''.)
665: .PP
666: .TP 8
667: .B TocButtonLines
668: How many rows of message command buttons to display. (Default is 1.)
669: .PP
670: .TP 8
671: .B TocFont
672: What font to use for a folder's table of contents. (Default is ``6x13''.)
673: .PP
674: .TP 8
675: .B TocGeometry
676: Initial geometry for master \fIxmh\fR windows.
677: .PP
678: .TP 8
679: .B TocLines
680: How messages to display in a folder's table of contents. (Default is 10.)
681: .PP
682: .TP 8
683: .B TocWidth
684: How many characters to generate for each message in a folder's table of
685: contents. (Default is 300. Use 80 if you plan to use \fImhe\fR a lot.)
686: .PP
687: .TP 8
688: .B ViewButtonLines
689: How many rows of buttons to display under a view of a message. (Default
690: is 1.)
691: .PP
692: .TP 8
693: .B ViewFont
694: What font to use for a view of a message. (Default is ``6x13''.)
695: .PP
696: .TP 8
697: .B ViewGeometry
698: Initial geometry for windows showing only a view of a message.
699: .PP
700: .TP 8
701: .B ViewLines
702: How many lines of a message to display. (Default is 20.)
703: .PP
704: If TocGeometry, ViewGeometry, CompGeometry, or PickGeometry are not
705: specified, then the value of Geometry is used instead. If the resulting
706: height is not specified (e.g., "", "=500", "+0-0"), then the default
707: height is calculated from the fonts and line counts specified above. If
708: the width is not specified (e.g., "", "=x300", "-0+0), then half of the
709: display width is used. If unspecified, the height of a pick window
710: defaults to half the height of the display.
711:
712: Any of these options may also be specified on the command line by including a
713: word that contains the name of the .Xdefault option, an ``='', and the
714: desired value. Thus, to run \fIxmh\fR with terse button names,
715:
716: % xmh tersebuttonnames=on
717:
718: .SH CUSTOMIZING TEXT EDITING
719: The binding of keys are described in a file called ``.Tkeys''. \fIXmh\fR first
720: looks for a .Tkeys file in the user's root directory. If not found there,
721: it will use the global one stored in /usr/athena/lib/.Tkeys.
722:
723: Each line of .Tkeys contains a description of a key, a colon, and then the
724: function the key may perform. In more detail, the line consists of:
725:
726: Any set of ``m'', ``s'', ``l'', ``c'', ``~m'', ``~s'', ``~l'', ``~c''.
727: This describes the shift keys (meta, shift, lock, control) that need to be
728: used for this key. The tilde means ``no''. If a shift key is not
729: mentioned, then it will work for either position of that key.
730: Thus, ``c~m'' means that the control key must be pressed, and the meta key must
731: not be pressed; the function will be performed regardless of the status of
732: the shift and lock keys.
733:
734: Next comes the description of the key itself. This can be either a single
735: character, or a three digit number indicating the keycode. To specify a
736: key not in the main alphanumeric pad, you must use a keycode. Note that
737: the single character will describe an unshifted key, even if a shift key
738: is usually used to type this key. Thus, there is no difference between
739: using ``+'' and ``='' here, since they are both on the same key. Note
740: that ``\\'' escapes a character here in the usual manner.
741:
742: This is followed by a ``:'', and any amount of whitespace. Then comes a
743: list of functions for that key. Each function is either a character in
744: single quotes, a string in double quotes, or an unquoted string. Anything
745: in quotes means insert the specified string into the file. An unquoted
746: string names a text subwindow function to be performed when this key is
747: pressed.
748:
749: Hopefully, an example will make this clearer:
750:
751: cq: "abcdef" stuff 'q'
752:
753: When control-q is entered, the string "abcdef" will be inserted into the
754: text, the current selection will then be stuffed, and then the character 'q'
755: will be inserted.
756:
757: The legal functions are:
758: .TP 8
759: .B backward-character
760: Move backward one character.
761: .PP
762: .TP 8
763: .B backward-paragraph
764: Move backward one paragraph.
765: .PP
766: .TP 8
767: .B backward-word
768: Move backward one word.
769: .PP
770: .TP 8
771: .B beginning-of-file
772: Move to the beginning of the text.
773: .PP
774: .TP 8
775: .B beginning-of-line
776: Move to the beginning of the current line.
777: .PP
778: .TP 8
779: .B delete-next-character
780: Delete the character after the insertion point.
781: .PP
782: .TP 8
783: .B delete-next-word
784: Delete the word after the insertion point.
785: .PP
786: .TP 8
787: .B delete-previous-character
788: Delete the character before the insertion point.
789: .PP
790: .TP 8
791: .B delete-previous-word
792: Delete the word before the insertion point.
793: .PP
794: .TP 8
795: .B delete-selection
796: Delete the selection.
797: .PP
798: .TP 8
799: .B end-of-file
800: Move to the end of the text.
801: .PP
802: .TP 8
803: .B end-of-line
804: Move to the end of the current line.
805: .PP
806: .TP 8
807: .B forward-character
808: Move forward one character.
809: .PP
810: .TP 8
811: .B forward-paragraph
812: Move forward one paragraph.
813: .PP
814: .TP 8
815: .B forward-word
816: Move forward one word.
817: .PP
818: .TP 8
819: .B insert-file
820: Insert a file into the text.
821: .PP
822: .TP 8
823: .B kill-previous-word
824: Kill the word before the insertion point.
825: .PP
826: .TP 8
827: .B kill-selection
828: Kill the selection.
829: .PP
830: .TP 8
831: .B kill-to-end-of-line
832: Kill from the insertion point to the end of the line.
833: .PP
834: .TP 8
835: .B kill-to-end-of-paragraph
836: Kill from the insertion point to the end of the paragraph.
837: .PP
838: .TP 8
839: .B kill-word
840: Kill the word after the insertion point.
841: .PP
842: .TP 8
843: .B newline-and-backup
844: Create a new paragraph, leaving the insertion point on the previous one.
845: .PP
846: .TP 8
847: .B newline-and-indent
848: Create a new paragraph with the same indentation as the current one.
849: .PP
850: .TP 8
851: .B newline
852: Create a new paragraph.
853: .PP
854: .TP 8
855: .B next-line
856: Move down one line.
857: .PP
858: .TP 8
859: .B next-page
860: Move to the next screenfull of text.
861: .PP
862: .TP 8
863: .B previous-line
864: Move up one line.
865: .PP
866: .TP 8
867: .B previous-page
868: Move to the previous screenfull of text.
869: .PP
870: .TP 8
871: .B redraw-display
872: Repaint the window.
873: .PP
874: .TP 8
875: .B scroll-one-line-down
876: Scroll the text down one line.
877: .PP
878: .TP 8
879: .B scroll-one-line-up
880: Scroll the text up one line.
881: .PP
882: .TP 8
883: .B select-all
884: Select all the text.
885: .PP
886: .TP 8
887: .B select-word
888: Select the word the insertion point is in.
889: .PP
890: .TP 8
891: .B stuff
892: Insert the text that was last selected in any window.
893: .PP
894: .TP 8
895: .B unkill
896: Insert the text that was last killed. (Note there is no way to get back
897: text that was deleted.)
898:
899: .SH FILES
900: ~/Mail
901:
902: ~/.mh_profile
903:
904: ~/.Tkeys
905:
906: /usr/athena/lib/.Tkeys
907:
908: .SH SEE ALSO
909: mh (1) - the mh Mail Handler
910:
911: .SH AUTHOR
912: Terry Weissman ([email protected])
913:
914: .SH BUGS
915: Command-line syntax is silly.
916:
917: Printing support is minimal.
918:
919: Keyboard shortcuts for commands would be nice.
920:
921: Should handle the ``unseen'' message-sequence.
922:
923: Should determine by itself if the user hasn't used \fImh\fR before, and
924: offer to set things up for him or her.
925:
926: Will bomb if the file /usr/athena/lib/.Tkeys doesn't exist.
927:
928: There need to be a lot more text functions. In particular, searching
929: would be very nice.
930:
931: Still a few commands missing (rename folder, remail message).
932:
933: The user should probably be able to customize the buttonboxes somewhat.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.