Annotation of researchv9/X11/src/X.V11R1/clients/xmh/xmh.man, revision 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.