Annotation of researchv9/X11/src/X.V11R1/clients/xmh/xmh.man, revision 1.1.1.1

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.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.