xmh man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

xmh(1)									xmh(1)

NAME
       xmh - send and read mail with an X interface to MH

SYNOPSIS
       xmh [-path mailpath] [-initial foldername] [-flag] [-toolkitoption ...]

DESCRIPTION
       The  xmh	 program provides a graphical user interface to the MH Message
       Handling System.	 To actually do things with your mail, it makes	 calls
       to  the	MH  package.   Electronic mail messages may be composed, sent,
       received, replied to, forwarded, sorted, and stored  in	folders.   xmh
       provides extensive mechanism for customization of the user interface.

       This document introduces many aspects of the Athena Widget Set.

OPTIONS
       -path directory
	       This  option  specifies an alternate collection of mail folders
	       in which to process mail.  The directory	 is  specified	as  an
	       absolute	 pathname.   The default mail path is the value of the
	       Path component in the MH profile, which is determined by the MH
	       environment   variable	and   defaults	to  $HOME/.mh_profile.
	       $HOME/Mail will be used as the path if the MH Path is not given
	       in the profile.

       -initial folder
	       This option specifies an alternate folder which may receive new
	       mail and is initially  opened  by  xmh.	 The  default  initial
	       folder is ``inbox''.

       -flag   This  option  will cause xmh to change the appearance of appro‐
	       priate folder buttons and to  request  the  window  manager  to
	       change  the  appearance	of  the	 xmh  icon  when  new mail has
	       arrived.	 By default, xmh will change  the  appearance  of  the
	       ``inbox'' folder button when new mail is waiting.  The applica‐
	       tion-specific resource checkNewMail can be  used	 to  turn  off
	       this notification, and the -flag option will still override it.

       These  three options have corresponding application-specific resources,
       MailPath, InitialFolder, and MailWaitingFlag, which can be specified in
       a resource file.

       The standard toolkit command line options are given in X11(7).

INSTALLATION
       xmh  requires that the user is already set up to use MH, version 6.  To
       do so, see if there is a file called .mh_profile in  your  home	direc‐
       tory.   If  it  exists,	check to see if it contains a line that starts
       with ``Current-Folder''.	 If it does, you've been using	version	 4  or
       earlier	of  MH;	 to  convert  to version 6, you must remove that line.
       (Failure to do so causes spurious output to stderr, which can hang  xmh
       depending on your setup.)

       If  you	do  not	 already  have	a .mh_profile, you can create one (and
       everything else you need) by typing ``inc'' to the shell.   You	should
       do this before using xmh to incorporate new mail.

       Much  of the user interface of xmh is configured in the Xmh application
       class defaults file; if this file was not installed properly a  warning
       message will appear when xmh is used.  xmh is backwards compatible with
       the R4 application class defaults file.

       The default value of the SendBreakWidth resource has changed since R4.

BASIC SCREEN LAYOUT
       xmh starts out with a single window, divided into four major areas:

       -   Six buttons with pull-down command menus.

       -   A collection of buttons, one for each top level folder.  New	 users
	   of MH will have two folders, ``drafts'' and ``inbox''.

       -   A  listing,	or  Table  of  Contents,  of  the messages in the open
	   folder.  Initially, this will show the messages in ``inbox''.

       -   A view of one of your messages.  Initially this is blank.

XMH AND THE ATHENA WIDGET SET
       xmh uses the X Toolkit Intrinsics and the Athena Widget Set.   Many  of
       the  features described below (scrollbars, buttonboxes, etc.) are actu‐
       ally part of the Athena Widget Set, and are  described  here  only  for
       completeness.  For more information, see the Athena Widget Set documen‐
       tation.

   SCROLLBARS
       Some parts of the main window will have a vertical  area	 on  the  left
       containing  a grey bar.	This area is a scrollbar.  They are used when‐
       ever the data in a window takes up more space than  can	be  displayed.
       The  grey  bar indicates what portion of your data is visible. Thus, if
       the entire length of the area is grey, then you are looking at all your
       data.   If only the first half is grey, then you are looking at the top
       half of your data.  The message viewing area  will  have	 a  horizontal
       scrollbar if the text of the message is wider than the viewing area.

       You  can	 use  the  pointer in the scrollbar to change what part of the
       data is visible.	 If you click with pointer button 2, the  top  of  the
       grey area will move to where the pointer is, and the corresponding por‐
       tion of data will be displayed.	If you hold down pointer button 2, you
       can drag around the grey area.  This makes it easy to get to the top of
       the data: just press with button 2, drag off the top of the  scrollbar,
       and release.

       If  you	click with button 1, then the data to the right of the pointer
       will scroll to the top of the window.  If you click with pointer button
       3, then the data at the top of the window will scroll down to where the
       pointer is.

   BUTTONBOXES, BUTTONS, AND MENUS
       Any area containing many words or short phrases,	 each  enclosed	 in  a
       rectangular or rounded boundary, is called a buttonbox.	Each rectangle
       or rounded area is actually a button that you can press by  moving  the
       pointer	onto  it  and pressing pointer button 1.  If a given buttonbox
       has more buttons in it than can	fit,  it  will	be  displayed  with  a
       scrollbar, so you can always scroll to the button you want.

       Some  buttons  have pull-down menus.  Pressing the pointer button while
       the pointer is over one of these buttons will pull down a  menu.	  Con‐
       tinuing to hold the button down while moving the pointer over the menu,
       called dragging the pointer, will highlight each selectable item on the
       menu  as	 the  pointer  passes over it.	To select an item in the menu,
       release the pointer button while the item is highlighted.

   ADJUSTING THE RELATIVE SIZES OF AREAS
       If you're not satisfied with the sizes of the various areas of the main
       window,	they can easily be changed.  Near the right edge of the border
       between each region is a black box, called a  grip.   Simply  point  to
       that  grip  with	 the pointer, press a pointer button, drag up or down,
       and release.  Exactly what happens depends on which pointer button  you
       press.

       If you drag with the pointer button 2, then only that border will move.
       This mode is simplest to understand, but is the least useful.

       If you drag with pointer button 1, then you are adjusting the  size  of
       the  window  above.   xmh  will attempt to compensate by adjusting some
       window below it.

       If you drag with pointer button 3, then you are adjusting the  size  of
       the  window  below.   xmh  will attempt to compensate by adjusting some
       window above it.

       All windows have a minimum and maximum size; you will never be  allowed
       to  move	 a  border past the point where it would make a window have an
       invalid size.

PROCESSING YOUR MAIL
       This section will define the concepts of the selected  folder,  current
       folder,	selected  message(s),  current message, selected sequence, and
       current sequence.  Each xmh command is introduced.

       For use in customization, action procedures corresponding to each  com‐
       mand  are  given;  these action procedures can be used to customize the
       user interface, particularly the keyboard accelerators  and  the	 func‐
       tionality  of  the  buttons  in	the optional button box created by the
       application resource CommandButtonCount.

   FOLDERS AND SEQUENCES
       A folder contains a collection of mail messages, or is empty.  xmh sup‐
       ports folders with one level of subfolders.

       The  selected  folder  is whichever foldername appears in the bar above
       the folder buttons.  Note that this is not necessarily the same	folder
       that  is	 currently  being viewed.  To change the selected folder, just
       press on the desired folder button  with	 pointer  button  1;  if  that
       folder has subfolders, select a folder from the pull-down menu.

       The Table of Contents, or toc, lists the messages in the viewed folder.
       The title bar above the Table of Contents  displays  the	 name  of  the
       viewed folder.

       The toc title bar also displays the name of the viewed sequence of mes‐
       sages within the viewed folder.	Every folder has an  implicit  ``all''
       sequence,  which contains all the messages in the folder, and initially
       the toc title bar will show ``inbox:all''.

   FOLDER COMMANDS
       The Folder command menu contains commands of a global nature:

       Open Folder
	       Display the data in the selected folder.	  Thus,	 the  selected
	       folder  also  becomes  the viewed folder.  The action procedure
	       corresponding to this command  is  XmhOpenFolder([foldername]).
	       It takes an optional argument as the name of a folder to select
	       and open; if no folder is specified,  the  selected  folder  is
	       opened.	 It  may  be specified as part of an event translation
	       from a folder menu button or from a folder menu, or as a	 bind‐
	       ing  of	a  keyboard  accelerator  to any widget other than the
	       folder menu buttons or the folder menus.

       Open Folder in New Window
	       Displays the selected folder  in	 an  additional	 main  window.
	       Note, however, that you cannot reliably display the same folder
	       in more than one window at a time, although xmh will  not  pre‐
	       vent  you  from	trying.	  The corresponding action is XmhOpen‐
	       FolderInNewWindow().

       Create Folder
	       Create a new folder.  You will be prompted for a name  for  the
	       new  folder;  to	 enter the name, move the pointer to the blank
	       box provided and type.  Subfolders are  created	by  specifying
	       the  parent folder, a slash, and the subfolder name.  For exam‐
	       ple, to create a folder named ``xmh'' which is a	 subfolder  of
	       an  existing  folder  named  ``clients'', type ``clients/xmh''.
	       Click on the Okay button when finished, or  just	 type  Return;
	       click  on  Cancel  to cancel this operation.  The action corre‐
	       sponding to Create Folder is XmhCreateFolder().

       Delete Folder
	       Destroy the selected folder.  You will be asked to confirm this
	       action  (see  CONFIRMATION  WINDOWS).  Destroying a folder will
	       also destroy any subfolders of that folder.  The	 corresponding
	       action is XmhDeleteFolder().

       Close Window
	       Exits  xmh,  after  first  confirming  that  you won't lose any
	       changes; or, if selected from any additional xmh window, simply
	       closes that window.  The corresponding action is XmhClose().

   HIGHLIGHTED MESSAGES, SELECTED MESSAGES
   AND THE CURRENT MESSAGE
       It  is  possible to highlight a set of adjacent messages in the area of
       the Table of Contents.  To  highlight  a	 message,  click  on  it  with
       pointer button 1.  To highlight a range of messages, click on the first
       one with pointer button 1 and on the last one with pointer button 3; or
       press  pointer  button  1,  drag,  and  release.	  To extend a range of
       selected messages, use pointer button 3.	 To highlight all messages  in
       the table of contents, click rapidly three times with pointer button 1.
       To cancel any selection in the table of contents, click rapidly twice.

       The selected messages are the same as the highlighted messages, if any.
       If  no messages are highlighted, then the selected messages are consid‐
       ered the same as the current message.

       The current message is indicated by a `+' next to the  message  number.
       It  usually  corresponds	 to  the message currently being viewed.  Upon
       opening a new folder, for example, the current message will be  differ‐
       ent  from  the viewed message.  When a message is viewed, the title bar
       above the view will identify the message.

   TABLE OF CONTENTS COMMANDS
       The Table of Contents command menu contains commands which  operate  on
       the open, or viewed, folder.

       Incorporate New Mail
			 Add  any  new mail received to viewed folder, and set
			 the current message to	 be  the  first	 new  message.
			 This  command is selectable in the menu and will exe‐
			 cute only if the viewed folder is allowed to  receive
			 new  mail.   By default, only ``inbox'' is allowed to
			 incorporate new mail.	The  corresponding  action  is
			 XmhIncorporateNewMail().

       Commit Changes	 Execute  all  deletions,  moves, and copies that have
			 been marked in this folder.  The corresponding action
			 is XmhCommitChanges().

       Pack Folder	 Renumber  the	messages  in this folder so they start
			 with 1 and increment by 1.  The corresponding	action
			 is XmhPackFolder().

       Sort Folder	 Sort  the  messages  in  this folder in chronological
			 order.	 (As a side effect, this  may  also  pack  the
			 folder.)    The   corresponding  action  is  XmhSort‐
			 Folder().

       Rescan Folder	 Rebuild the list of messages.	This can be used when‐
			 ever you suspect that xmh's idea of what messages you
			 have is wrong.	 (In particular, this is necessary  if
			 you  change things using straight MH commands without
			 using xmh.)  The corresponding action is XmhForceRes‐
			 can().

   MESSAGE COMMANDS
       The  Message  command  menu  contains  commands	which  operate	on the
       selected message(s), or if there are no selected messages, the  current
       message.

       Compose Message	 Composes a new message.  A new window will be brought
			 up for composition; a description of it is  given  in
			 the  COMPOSITION WINDOWS section below.  This command
			 does not affect the current message.  The correspond‐
			 ing action is XmhComposeMessage().

       View Next Message View  the first selected message.  If no messages are
			 highlighted, view the current	message.   If  current
			 message  is  already  being  viewed,  view  the first
			 unmarked message after the current message.  The cor‐
			 responding action is XmhViewNextMessage().

       View Previous	 View  the  last selected message.  If no messages are
			 highlighted, view the current	message.   If  current
			 message  is  already  being  viewed,  view  the first
			 unmarked message before  the  current	message.   The
			 corresponding action is XmhViewPrevious().

       Delete		 Mark  the selected messages for deletion.  If no mes‐
			 sages are highlighted, mark the current  message  for
			 deletion  and automatically display the next unmarked
			 message.    The   corresponding   action   is	  Xmh‐
			 MarkDelete().

       Move		 Mark  the selected messages to be moved into the cur‐
			 rently selected folder.  (If the selected  folder  is
			 the same as the viewed folder, this command will just
			 beep.)	 If no messages are highlighted, mark the cur‐
			 rent  message	to  be	moved  and  display  the  next
			 unmarked message.  The corresponding action  is  Xmh‐
			 MarkMove().

       Copy as Link	 Mark  the  selected  messages	to  be copied into the
			 selected folder.  (If the selected folder is the same
			 as  the  viewed folder, this command will just beep.)
			 If no messages are highlighted, mark the current mes‐
			 sage  to  be copied.  Note that messages are actually
			 linked, not copied; editing a message copied  by  xmh
			 will  affect  all  copies of the message.  The corre‐
			 sponding action is XmhMarkCopy().

       Unmark		 Remove any of the above three marks from the selected
			 messages,  or	the current message, if none are high‐
			 lighted.  The corresponding action is XmhUnmark().

       View in New	 Create a new window containing only  a	 view  of  the
			 first	selected  message,  or the current message, if
			 none are highlighted.	The  corresponding  action  is
			 XmhViewInNewWindow().

       Reply		 Create	 a  composition	 window	 in reply to the first
			 selected message, or the current message, if none are
			 highlighted.  The corresponding action is XmhReply().

       Forward		 Create a composition window whose body is initialized
			 to contain an encapsulation of of the	selected  mes‐
			 sages,	 or  the  current  message  if	none are high‐
			 lighted.  The corresponding action is XmhForward().

       Use as Composition
			 Create a composition window whose body is initialized
			 to  be the contents of the first selected message, or
			 the  current  message	if  none  are  selected.   Any
			 changes  you make in the composition will be saved in
			 a new message in the ``drafts'' folder, and will  not
			 change	 the  original	message.  However, there is an
			 exception to this rule.  If the message to be used as
			 composition  was selected from the ``drafts'' folder,
			 (see BUGS), the changes  will	be  reflected  in  the
			 original  message  (see  COMPOSITION  WINDOWS).   The
			 action procedure corresponding	 to  this  command  is
			 XmhUseAsComposition().

       Print		 Print	the  selected messages, or the current message
			 if none are selected.	xmh normally prints by	invok‐
			 ing  the enscript(1) command, but this can be custom‐
			 ized  with  the  xmh  application-specific   resource
			 PrintCommand.	  The  corresponding  action  is  Xmh‐
			 Print().

   SEQUENCE COMMANDS
       The Sequence command  menu  contains  commands  pertaining  to  message
       sequences  (See MESSAGE-SEQUENCES), and a list of the message-sequences
       defined for the currently viewed folder.	 The selected message-sequence
       is  indicated  by  a check mark in its entry in the margin of the menu.
       To change the selected message-sequence, select a new  message-sequence
       from the sequence menu.

       Pick Messages	 Define	 a  new	 message-sequence.   The corresponding
			 action is XmhPickMessages().

       The following menu entries will be sensitive only if the current folder
       has any message-sequences other than the ``all'' message-sequence.

       Open Sequence	 Change	 the  viewed  sequence	to  be the same as the
			 selected  sequence.   The  corresponding  action   is
			 XmhOpenSequence().

       Add to Sequence	 Add  the  selected messages to the selected sequence.
			 The corresponding action is XmhAddToSequence().

       Remove from Sequence
			 Remove	 the  selected	messages  from	the   selected
			 sequence.  The corresponding action is XmhRemoveFrom‐
			 Sequence().

       Delete Sequence	 Remove the selected sequence entirely.	 The  messages
			 themselves  are  not  affected;  they	simply	are no
			 longer grouped together to define a message-sequence.
			 The corresponding action is XmhDeleteSequence().

   VIEW COMMANDS
       Commands in the View menu and in the buttonboxes of view windows (which
       result from the Message menu command View In New) correspond  in	 func‐
       tionality  to  commands	of the same name in the Message menu, but they
       operate on the viewed message rather than the selected messages or cur‐
       rent message.

       Close Window	 When the viewed message is in a separate view window,
			 this command will close the  view,  after  confirming
			 the  status  of any unsaved edits.  The corresponding
			 action procedure is XmhCloseView().

       Reply		 Create a composition window in reply  to  the	viewed
			 message.   The related action procedure is XmhViewRe‐
			 ply().

       Forward		 Create a composition window whose body is initialized
			 contain  an encapsulation of the viewed message.  The
			 corresponding action is XmhViewForward().

       Use As Composition
			 Create a composition window whose body is initialized
			 to  be	 the  contents	of  the	 viewed	 message.  Any
			 changes made in the composition window will be	 saved
			 in  a	new message in the ``drafts'' folder, and will
			 not change the original message.   An	exception:  if
			 the  viewed  message was selected from the ``drafts''
			 folder, (see BUGS) the original  message  is  edited.
			 The action procedure corresponding to this command is
			 XmhViewUseAsComposition().

       Edit Message	 This command enables the direct editing of the viewed
			 message.  The action procedure is XmhEditView().

       Save Message	 This  command	is  insensitive	 until the message has
			 been edited; when activated, edits will be  saved  to
			 the  original message in the view.  The corresponding
			 action is XmhSaveView().

       Print		 Print the viewed message.  xmh prints by invoking the
			 enscript(1)  command, but this can be customized with
			 the application-specific resource PrintCommand.   The
			 corresponding action procedure is XmhPrintView().

       Delete		 Marks	the  viewed  message for deletion.  The corre‐
			 sponding action procedure is XmhViewMarkDelete().

OPTIONS
       The Options menu contains one entry.

       Read in Reverse
	      When selected, a check mark appears in the margin of  this  menu
	      entry.   Read in Reverse will switch the meaning of the next and
	      previous messages, and will increment  to	 the  current  message
	      marker in the opposite direction.	 This is useful if you want to
	      read your messages in the	 order	of  most  recent  first.   The
	      option  acts  as a toggle; select it from the menu a second time
	      to undo the effect.  The check mark appears when the  option  is
	      selected.

COMPOSITION WINDOWS
       Composition  windows  are created by selecting Compose Message from the
       Message command menu, or by selecting Reply or Forward or Use as Compo‐
       sition  from  the Message or View command menu.	These are used to com‐
       pose mail messages.  Aside from	the  normal  text  editing  functions,
       there are six command buttons associated with composition windows:

       Close Window	 Close	this composition window.  If changes have been
			 made since the most recent Save or Send, you will  be
			 asked	to  confirm  losing  them.   The corresponding
			 action is XmhCloseView().

       Send		 Send this composition.	 The corresponding  action  is
			 XmhSend().

       New Headers	 Replace  the  current	composition with an empty mes‐
			 sage.	If changes  have  been	made  since  the  most
			 recent	 Send  or  Save,  you will be asked to confirm
			 losing them.  The corresponding action	 is  XmhReset‐
			 Compose().

       Compose Message	 Bring	up another new composition window.  The corre‐
			 sponding action is XmhComposeMessage().

       Save Message	 Save this composition in your	drafts	folder.	  Then
			 you can safely close the composition.	At some future
			 date, you can continue working on the composition  by
			 opening the drafts folder, selecting the message, and
			 using the ``Use as Composition'' command.  The corre‐
			 sponding action is XmhSave().

       Insert		 Insert	 a  related  message into the composition.  If
			 the composition window was created with  a  ``Reply''
			 command,  the	related	 message  is the message being
			 replied to, otherwise no related message  is  defined
			 and  this  button is insensitive.  The message may be
			 filtered before being inserted; see ReplyInsertFilter
			 under	APPLICATION  RESOURCES	for  more information.
			 The corresponding action is XmhInsert().

ACCELERATORS
       Accelerators are shortcuts.  They allow you to invoke commands  without
       using the menus, either from the keyboard or by using the pointer.

       xmh defines pointer accelerators for common actions: To select and view
       a message with a single click, use pointer button 2  on	the  message's
       entry  in  the  table  of  contents.   To select and open a folder or a
       sequence in a single action, make the folder or sequence selection with
       pointer button 2.

       To  mark the highlighted messages, or current message if none have been
       highlighted, to be moved to a folder in a single	 action,  use  pointer
       button  3  to select the target folder and simultaneously mark the mes‐
       sages.  Similarly, selecting a sequence with pointer button 3 will  add
       the  highlighted	 or  current  message(s) to that sequence.  In both of
       these operations, the selected folder or sequence and the viewed folder
       or sequence are not changed.

       xmh defines the following keyboard accelerators over the surface of the
       main window, except in the view area while editing a message:
	    Meta-I	   Incorporate New Mail
	    Meta-C	   Commit Changes
	    Meta-R	   Rescan Folder
	    Meta-P	   Pack Folder
	    Meta-S	   Sort Folder

	    Meta-space	   View Next Message
	    Meta-c	   Mark Copy
	    Meta-d	   Mark Deleted
	    Meta-f	   Forward the selected or current message
	    Meta-m	   Mark Move
	    Meta-n	   View Next Message
	    Meta-p	   View Previous Message
	    Meta-r	   Reply to the selected or current message
	    Meta-u	   Unmark

	    Ctrl-V	   Scroll the table of contents forward
	    Meta-V	   Scroll the table of contents backward
	    Ctrl-v	   Scroll the view forward
	    Meta-v	   Scroll the view backward

TEXT EDITING COMMANDS
       All of the text editing commands are actually defined by the Text  wid‐
       get  in	the Athena Widget Set.	The commands may be bound to different
       keys than the defaults described below through the X Toolkit Intrinsics
       key re-binding mechanisms.  See the X Toolkit Intrinsics and the Athena
       Widget Set documentation for more details.

       Whenever you are asked to enter any text, you will be using a  standard
       text  editing  interface.   Various control and meta keystroke combina‐
       tions are bound to a somewhat Emacs-like set of commands.  In addition,
       the  pointer buttons may be used to select a portion of text or to move
       the insertion point in the text.	 Pressing pointer button 1 causes  the
       insertion  point	 to  move  to  the  pointer.  Double-clicking button 1
       selects a word,	triple-clicking	 selects  a  line,  quadruple-clicking
       selects	a  paragraph,  and  clicking rapidly five times selects every‐
       thing.  Any selection may be extended  in  either  direction  by	 using
       pointer button 3.

       In  the	following, a line refers to one displayed row of characters in
       the window.  A paragraph refers to the text between  carriage  returns.
       Text  within  a paragraph is broken into lines for display based on the
       current width of the window.  When a message is sent,  text  is	broken
       into  lines  based  upon the values of the SendBreakWidth and SendWidth
       application-specific resources.

       The following keystroke combinations are defined:

       Ctrl-a	 Beginning Of Line   Meta-b	    Backward Word
       Ctrl-b	 Backward Character  Meta-f	    Forward Word
       Ctrl-d	 Delete Next Character		    Meta-iInsert File
       Ctrl-e	 End Of Line	     Meta-k	    Kill To End Of Paragraph
       Ctrl-f	 Forward Character   Meta-q	    Form Paragraph
       Ctrl-g	 Multiply Reset	     Meta-v	    Previous Page
       Ctrl-h	 Delete Previous Character	    Meta-yInsert Current Selection
       Ctrl-j	 Newline And Indent  Meta-z	    Scroll One Line Down
       Ctrl-k	 Kill To End Of Line Meta-d	    Delete Next Word
       Ctrl-l	 Redraw Display	     Meta-D	    Kill Word
       Ctrl-m	 Newline	     Meta-h	    Delete Previous Word
       Ctrl-n	 Next Line	     Meta-H	    Backward Kill Word
       Ctrl-o	 Newline And Backup  Meta-<	    Beginning Of File
       Ctrl-p	 Previous Line	     Meta->	    End Of File
       Ctrl-r	 Search/Replace Backward	    Meta-]Forward Paragraph
       Ctrl-s	 Search/Replace Forward		    Meta-[Backward Paragraph
       Ctrl-t	 Transpose Characters
       Ctrl-u	 Multiply by 4	     Meta-Delete    Delete Previous Word
       Ctrl-v	 Next Page	     Meta-Shift DeleteKill Previous Word
       Ctrl-w	 Kill Selection	     Meta-Backspace Delete Previous Word
       Ctrl-y	 Unkill		     Meta-Shift BackspaceKill Previous Word
       Ctrl-z	 Scroll One Line Up

       In addition, the pointer may be used to copy and paste text:
	    Button 1 Down  Start Selection
	    Button 1 MotionAdjust Selection
	    Button 1 Up	   End Selection (copy)

	    Button 2 Down  Insert Current Selection (paste)

	    Button 3 Down  Extend Current Selection
	    Button 3 MotionAdjust Selection
	    Button 3 Up	   End Selection (copy)

CONFIRMATION DIALOG BOXES
       Whenever you press a button that may cause you to lose some work or  is
       otherwise  dangerous, a popup dialog box will appear asking you to con‐
       firm the action.	 This window will contain an ``Abort'' or ``No''  but‐
       ton  and	 a  ``Confirm'' or ``Yes'' button.  Pressing the ``No'' button
       cancels the operation, and pressing the ``Yes'' will proceed  with  the
       operation.

       When  xmh  is  run under a Release 6 session manager it will prompt the
       user for confirmation during a checkpoint operation.   The  dialog  box
       asks whether any current changes should be committed (saved) during the
       checkpoint.  Responding ``Yes'' will have the same effect  as  pressing
       the  ``Commit  Changes''	 or ``Save Message'' buttons in the respective
       folder and view windows.	 Responding ``No'' will cause  the  checkpoint
       to  continue  successfully  to  completion  without actually saving any
       pending changes.	 If the session	 manager  disallows  user  interaction
       during  the checkpoint a ``Yes'' response is assumed; i.e.  all changes
       will be committed during the checkpoint.

       Some dialog boxes contain messages from MH.  Occasionally when the mes‐
       sage  is	 more than one line long, not all of the text will be visible.
       Clicking on the message field will cause the dialog box	to  resize  so
       that you can read the entire message.

MESSAGE-SEQUENCES
       An  MH  message sequence is just a set of messages associated with some
       name.  They are local to a particular folder; two different folders can
       have  sequences with the same name.  The sequence named ``all'' is pre‐
       defined in every folder; it consists of the set of all messages in that
       folder.	 As  many  as  nine  sequences may be defined for each folder,
       including the predefined ``all'' sequence.  (The	 sequence  ``cur''  is
       also  usually defined for every folder; it consists of only the current
       message.	 xmh hides ``cur'' from the user, instead placing a  ``+''  by
       the  current  message.	Also,  xmh  does  not  support	MH's``unseen''
       sequence, so that one is also hidden from the user.)

       The message sequences for a folder (including one for ``all'') are dis‐
       played  in the ``Sequence'' menu, below the sequence commands.  The ta‐
       ble of contents (also known as the ``toc'') is at any one time display‐
       ing  one message sequence.  This is called the ``viewed sequence'', and
       its name will be displayed in the toc title bar after the folder	 name.
       Also,  at  any  time one of the sequences in the menu will have a check
       mark next to it.	 This is called the ``selected sequence''.  Note  that
       the  viewed  sequence and the selected sequence are not necessarily the
       same.  (This all pretty much corresponds to the way folders work.)

       The Open Sequence, Add to Sequence, Remove from	Sequence,  and	Delete
       Sequence	 commands  are	active only if the viewed folder contains mes‐
       sage-sequences other than ``all'' sequence.

       Note that none of the above actually affect whether a message is in the
       folder.	 Remember  that	 a  sequence  is  a set of messages within the
       folder; the above operations just affect what messages are in that set.

       To create a new sequence, select the ``Pick'' menu entry.  A new window
       will  appear,  with  lots  of  places to enter text. Basically, you can
       describe the sequence's initial set of messages based  on  characteris‐
       tics  of	 the  message.	 Thus, you can define a sequence to be all the
       messages that were from a particular person, or with a particular  sub‐
       ject,  and  so  on.  You can also connect things up with boolean opera‐
       tors, so you can select all things from	``weissman''  with  a  subject
       containing ``xmh''.

       The  layout should be fairly obvious.  The simplest cases are the easi‐
       est: just point to the proper field and type.  If  you  enter  in  more
       than  one field, it will only select messages which match all non-empty
       fields.

       The more complicated cases arise when you want things  that  match  one
       field  or  another  one, but not necessarily both.  That's what all the
       ``or'' buttons are for.	If you want  all  things  with	subjects  that
       include	``xmh'' or ``xterm'', just press the ``or'' button next to the
       ``Subject:'' field.  Another  box  will	appear	where  you  can	 enter
       another subject.

       If  you	want  all  things  either  from	 ``weissman''  or with subject
       ``xmh'', but not necessarily both, select the  ``-Or-''	button.	  This
       will  essentially  double  the  size  of	 the form.  You can then enter
       ``weissman'' in a from: box on the top half, and ``xmh'' in a  subject:
       box on the lower part.

       If  you select the ``Skip'' button, then only those messages that don't
       match the fields on that row are included.

       Finally, in the bottom part of the  window  will	 appear	 several  more
       boxes.	One is the name of the sequence you're defining.  (It defaults
       to the name of the selected sequence when ``Pick'' was pressed,	or  to
       ``temp''	 if  ``all''  was the selected sequence.)  Another box defines
       which sequence to look through for potential members of this  sequence;
       it defaults to the viewed sequence when ``Pick'' was pressed.

       Two  more  boxes	 define	 a  date range; only messages within that date
       range will be considered.  These dates must be entered in RFC 822-style
       format:	each date is of the form ``dd mmm yy[yy] hh:mm:ss zzz'', where
       dd is a one or two digit day of the  month,  mmm	 is  the  three-letter
       abbreviation  for  a  month,  and yy[yy] is a year in either 2-digit or
       4-digit format.	The remaining fields are  optional:  hh,  mm,  and  ss
       specify	a  time of day, and zzz selects a time zone.  Note that if the
       time is left out, it defaults to midnight; thus if you select  a	 range
       of  ``7	nov  86''  - ``8 nov 86'', you will only get messages from the
       7th, as all messages on the 8th will have arrived after midnight.

       Note: The 2-digit yy year date format is not year  2000	compliant  and
       will  cause  incorrect  date information for dates beginning year 2000.
       Use of MH version 6.8 or later with a 4-digit date format  will	ensure
       year 2000 compliance of xmh.

       ``Date  field'' specifies which field in the header to look at for this
       date range; it defaults to ``Date''.  If the sequence  you're  defining
       already	exists,	 you  can  optionally  merge the old set with the new;
       that's what the ``Yes'' and ``No'' buttons are all about.  Finally, you
       can ``OK'' the whole thing, or ``Cancel'' it.

       In  general, most people will rarely use these features.	 However, it's
       nice to occasionally use ``Pick'' to find some messages,	 look  through
       them,  and  then	 hit  ``Delete	Sequence'' to put things back in their
       original state.

WIDGET HIERARCHY
       In order to specify resources, it is useful to know  the	 hierarchy  of
       widgets	which  compose	xmh.  In the notation below, indentation indi‐
       cates hierarchical structure.  The widget class name  is	 given	first,
       followed	 by  the  widget instance name.	 The application class name is
       Xmh.

       The hierarchy of the main toc and view window is	 identical  for	 addi‐
       tional  toc  and	 view  windows,	 except that a TopLevelShell widget is
       inserted in the hierarchy between the application shell and  the	 Paned
       widget.

       Xmh xmh
	    Paned xmh
		 SimpleMenu  folderMenu
		      SmeBSB  open
		      SmeBSB  openInNew
		      SmeBSB  create
		      SmeBSB  delete
		      SmeLine  line
		      SmeBSB  close
		 SimpleMenu  tocMenu
		      SmeBSB  inc
		      SmeBSB  commit
		      SmeBSB  pack
		      SmeBSB  sort
		      SmeBSB  rescan
		 SimpleMenu  messageMenu
		      SmeBSB  compose
		      SmeBSB  next
		      SmeBSB  prev
		      SmeBSB  delete
		      SmeBSB  move
		      SmeBSB  copy
		      SmeBSB  unmark
		      SmeBSB  viewNew
		      SmeBSB  reply
		      SmeBSB  forward
		      SmeBSB  useAsComp
		      SmeBSB  print
		 SimpleMenu  sequenceMenu
		      SmeBSB  pick
		      SmeBSB  openSeq
		      SmeBSB  addToSeq
		      SmeBSB  removeFromSeq
		      SmeBSB  deleteSeq
		      SmeLine  line
		      SmeBSB  all
		 SimpleMenu  viewMenu
		      SmeBSB  reply
		      SmeBSB  forward
		      SmeBSB  useAsComp
		      SmeBSB  edit
		      SmeBSB  save
		      SmeBSB  print
		 SimpleMenu  optionMenu
		      SmeBSB  reverse
		 Viewport.Core	menuBox.clip
		      Box  menuBox
			   MenuButton  folderButton
			   MenuButton  tocButton
			   MenuButton  messageButton
			   MenuButton  sequenceButton
			   MenuButton  viewButton
			   MenuButton  optionButton
		 Grip  grip
		 Label folderTitlebar
		 Grip  grip
		 Viewport.Core	folders.clip
		      Box  folders
			   MenuButton  inbox
			   MenuButton  drafts
				SimpleMenu  menu
				     SmeBSB <folder_name>
					  .
					  .
					  .

		 Grip  grip
		 Label	tocTitlebar
		 Grip  grip
		 Text toc
		      Scrollbar	 vScrollbar
		 Grip  grip
		 Label	viewTitlebar
		 Grip  grip
		 Text  view
		      Scrollbar	 vScrollbar
		      Scrollbar	 hScrollbar

       The hierarchy of the Create Folder popup dialog box:

	    TransientShell  prompt
		 Dialog	 dialog
		      Label  label
		      Text  value
		      Command  okay
		      Command  cancel

       The hierarchy of the Notice dialog box, which reports messages from MH:

	    TransientShell  notice
		 Dialog	 dialog
		      Label  label
		      Text  value
		      Command  confirm

       The hierarchy of the Confirmation dialog box:

	    TransientShell  confirm
		 Dialog	 dialog
		      Label  label
		      Command  yes
		      Command  no

       The hierarchy of the dialog box which reports errors:

	    TransientShell  error
		 Dialog	 dialog
		      Label  label
		      Command  OK

       The hierarchy of the composition window:

	    TopLevelShell  xmh
		 Paned	xmh
		      Label  composeTitlebar
		      Text  comp
		      Viewport.Core  compButtons.clip
			   Box	compButtons
				Command	 close
				Command	 send
				Command	 reset
				Command	 compose
				Command	 save
				Command	 insert

       The hierarchy of the view window:

	    TopLevelShell  xmh
		 Paned	xmh
		      Label  viewTitlebar
		      Text  view
		      Viewport.Core  viewButtons.clip
			   Box	viewButtons
				Command	 close
				Command	 reply
				Command	 forward
				Command	 useAsComp
				Command	 edit
				Command	 save
				Command	 print
				Command	 delete

       The hierarchy of the pick window:
       (Unnamed widgets have no name.)

	    TopLevelShell  xmh
		 Paned	xmh
		      Label  pickTitlebar
		      Viewport.Core  pick.clip
			   Form	 form
				Form  groupform
       The first 6 rows of the pick window have identical structure:
				     Form  rowform
					  Toggle
					  Toggle
					  Label
					  Text
					  Command

				     Form  rowform
					  Toggle
					  Toggle
					  Text
					  Text
					  Command
				     Form  rowform
					  Command
		      Viewport.core  pick.clip
			   Form	 form
				From  groupform
				     Form  rowform
					  Label
					  Text
					  Label
					  Text
				     Form  rowform
					  Label
					  Text
					  Label
					  Text
					  Label
					  Text
				     Form  rowform
					  Label
					  Toggle
					  Toggle
				     Form  rowform
					  Command
					  Command

APPLICATION-SPECIFIC RESOURCES
       The  application class name is Xmh.  Application-specific resources are
       listed below by name.  Application-specific resource class names always
       begin  with  an	upper  case character, but unless noted, are otherwise
       identical to the instance names given below.

       Any of these options may also be specified on the command line by using
       the  X  Toolkit	Intrinsics resource specification mechanism.  Thus, to
       run xmh showing all message headers,
       % xmh -xrm '*HideBoringHeaders:off'

       If TocGeometry, ViewGeometry, CompGeometry,  or	PickGeometry  are  not
       specified,  then the value of Geometry is used instead.	If the result‐
       ing height is not  specified  (e.g.,  "",  "=500",  "+0-0"),  then  the
       default	height of windows is calculated from fonts and line counts. If
       the width is not specified (e.g., "", "=x300", "-0+0"),	then  half  of
       the display width is used.  If unspecified, the height of a pick window
       defaults to half the height of the display.

       The following resources are defined:

       banner  A short string that is the default label of the	folder,	 Table
	       of  Contents,  and  view.   The default is "xmh	  X Consortium
	       R6".

       blockEventsOnBusy
	       Whether to disallow user input and show a busy cursor while xmh
	       is  busy	 processing  a command.	 If false, the user can `mouse
	       ahead' and type ahead; if true, user input  is  discarded  when
	       processing lengthy mh commands.	The default is true.

       busyCursor
	       The  name  of  the symbol used to represent the position of the
	       pointer, displayed if blockEventsOnBusy is true,	 when  xmh  is
	       processing a time-consuming command.  The default is "watch".

       busyPointerColor
	       The foreground color of the busy cursor.	 Default is XtDefault‐
	       Foreground.

       checkFrequency
	       How often to check for new mail, make checkpoints,  and	rescan
	       the  Table  of  Contents, in minutes.  If checkNewMail is true,
	       xmh checks to see if you	 have  new  mail  each	interval.   If
	       makeCheckpoints	is  true,  checkpoints	are  made  every fifth
	       interval.  Also every fifth interval, the Table of Contents  is
	       checked for inconsistencies with the file system, and rescanned
	       if out of date.	To prevent all of these checks from occurring,
	       set  CheckFrequency  to 0.  The default is 1.  This resource is
	       retained for backward compatibility with user  resource	files;
	       see also checkpointInterval, mailInterval, and rescanInterval.

       checkNewMail
	       If true, xmh will check at regular intervals to see if new mail
	       has arrived for any of the top level  folders  and  any	opened
	       subfolders.   A	visual indication will be given if new mail is
	       waiting to be incorporated into a top level folder.  Default is
	       true.  The interval can be adjusted with mailInterval.

       checkpointInterval (class Interval)
	       Specifies  in minutes how often to make checkpoints of volatile
	       state, if makeCheckpoints is true.  The default is 5 times  the
	       value of checkFrequency.

       checkpointNameFormat
	       Specifies how checkpointed files are to be named.  The value of
	       this resource will be used to compose a file name by  inserting
	       the  message number as a string in place of the required single
	       occurance of `%d'.  If the value of the resource is  the	 empty
	       string,	or  if no `%d' occurs in the string, or if "%d" is the
	       value of the resource, the default will be used	instead.   The
	       default	is  "%d.CKP".	Checkpointing is done in the folder of
	       origin unless an absolute pathname  is  given.	xmh  does  not
	       assist  the user in recovering checkpoints, nor does it provide
	       for removal of the checkpoint files.

       commandButtonCount
	       The number of command buttons to create	in  a  button  box  in
	       between	the  toc  and  the view areas of the main window.  xmh
	       will create these buttons with the names button1,  button2  and
	       so  on,	in a box with the name commandBox.   The default is 0.
	       xmh users can specify labels and actions for the buttons	 in  a
	       private	resource  file;	 see the section ACTIONS AND INTERFACE
	       CUSTOMIZATION.

       compGeometry
	       Initial geometry for windows containing compositions.

       cursor  The name of the symbol used to represent the pointer.   Default
	       is ``left_ptr''.

       debug   Whether	or  not	 to  print  information to stderr as xmh runs.
	       Default is false.

       draftsFolder
	       The folder used for message drafts.  Default is ``drafts''.

       geometry
	       Default geometry to use.	 Default is none.

       hideBoringHeaders
	       If ``on'', then xmh will attempt to skip	 uninteresting	header
	       lines  within  messages	by  scrolling  them off the top of the
	       view.  Default is ``on''.

       initialFolder
	       Which folder to display on startup.  May also be set  with  the
	       command-line option -initial.  Default is ``inbox''.

       initialIncFile
	       The  absolute  path  name  of your incoming mail drop file.  In
	       some installations, for example those  using  the  Post	Office
	       Protocol, no file is appropriate.  In this case, initialIncFile
	       should not be specified, or  may	 be  specified	as  the	 empty
	       string,	and  inc will be invoked without a -file argument.  By
	       default, this resource has no value.  This resource is  ignored
	       if  xmh	finds  an  .xmhcheck file; see the section on multiple
	       mail drops.

       mailInterval (class Interval)
	       Specifies the interval in minutes at which the mail  should  be
	       checked,	 if  mailWaitingFlag  or  checkNewMail	is  true.  The
	       default is the value of checkFrequency.

       mailPath
	       The full path prefix for locating your mail folders.  May  also
	       be set with the command line option, -path.  The default is the
	       Path component in the MH profile, or ``$HOME/Mail'' if none.

       mailWaitingFlag
	       If true, xmh will attempt to set an indication in its icon when
	       new  mail  is  waiting  to be retrieved.	 If mailWaitingFlag is
	       true, then checkNewMail is assumed to be	 true  as  well.   The
	       -flag  command  line  option  is	 a  quick  way to turn on this
	       resource.

       makeCheckpoints
	       If true, xmh will  attempt  to  save  checkpoints  of  volatile
	       edits.	The  default is false.	The frequency of checkpointing
	       is controlled by	 the  resource	checkpointInterval.   For  the
	       location of checkpointing, see checkpointNameFormat.

       mhPath  What  directory in which to find the MH commands.  If a command
	       isn't found in the user's path, then the path specified here is
	       used.  Default is ``/usr/local/mh6''.

       newMailBitmap (class NewMailBitmap)
	       The  bitmap  to show in the folder button when a folder has new
	       mail.  The default is ``black6''.

       newMailIconBitmap (class NewMailBitmap)
	       The bitmap suggested to the window manager for  the  icon  when
	       any folder has new mail.	 The default is ``flagup''.

       noMailBitmap (class NoMailBitmap)
	       The  bitmap  to	show in the folder button when a folder has no
	       new mail.  The default is ``box6''.

       noMailIconBitmap (class NoMailBitmap)
	       The bitmap suggested to the window manager for the icon when no
	       folders have new mail.  The default is ``flagdown''.

       pickGeometry
	       Initial geometry for pick windows.

       pointerColor
	       The foreground color of the pointer.  Default is XtDefaultFore‐
	       ground.

       prefixWmAndIconName
	       Whether to prefix the  window  and  icon	 name  with  "xmh:  ".
	       Default is true.

       printCommand
	       An  sh command to execute to print a message.  Note that stdout
	       and stderr must be specifically redirected.  If	a  message  or
	       range of messages is selected for printing, the full file paths
	       of each message file are appended to the specified  print  com‐
	       mand.  The default is ``enscript >/dev/null 2>/dev/null''.

       replyInsertFilter
	       An  sh  command	to be executed when the Insert button is acti‐
	       vated in a composition window.  The full path and  filename  of
	       the  source  message  is	 appended  to the command before being
	       passed to sh(1).	 The default filter is cat;  i.e.  it  inserts
	       the  entire  message into the composition.  Interesting filters
	       are: sed 's/^/> /' or awk -e '{print "	 " $0}' or <mh	direc‐
	       tory>/lib/mhl -form mhl.body.

       rescanInterval (class Interval)
	       How  often  to  check the Table of Contents of currently viewed
	       folders and of folders with messages  currently	being  viewed,
	       and to update the Table of Contents if xmh sees inconsistencies
	       with the file system in these folders.  The default is 5	 times
	       the value of checkFrequency.

       reverseReadOrder
	       When  true,  the	 next message will be the message prior to the
	       current message in the table of contents, and the previous mes‐
	       sage will be the message after the current message in the table
	       of contents.  The default is false.

       sendBreakWidth
	       When a message is sent from xmh, lines longer than  this	 value
	       will  be	 split into multiple lines, each of which is no longer
	       than SendWidth.	This value may be overridden for a single mes‐
	       sage  by	 inserting an additional line in the message header of
	       the form SendBreakWidth: value.	This line will be removed from
	       the header before the message is sent.  The default is 2000 (to
	       allow for sending mail containing source patches).

       sendWidth
	       When a message is sent from xmh, lines longer  than  SendBreak‐
	       Width  characters  will	be  split into multiple lines, each of
	       which is no longer than this value.  This value may be overrid‐
	       den for a single message by inserting an additional line in the
	       message header of the form SendWidth: value.  This line will be
	       removed	from  the  header  before  the	message	 is sent.  The
	       default is 72.

       showOnInc
	       Whether to automatically show the current message after	incor‐
	       porating new mail.  Default is true.

       skipCopied
	       Whether	to  skip  over	messages marked for copying when using
	       ``View Next Message'' and ``View Previous  Message''.   Default
	       is true.

       skipDeleted
	       Whether	to  skip  over messages marked for deletion when using
	       ``View Next Message'' and ``View Previous  Message''.   Default
	       is true.

       skipMoved
	       Whether	to skip over messages marked for moving to other fold‐
	       ers when using ``View Next Message'' and ``View	Previous  Mes‐
	       sage''.	Default is true.

       stickyMenu
	       If  true,  when popup command menus are used, the most recently
	       selected entry will be under the cursor when the menu pops  up.
	       Default	is  false.  See the file clients/xmh/Xmh.sample for an
	       example of how to specify resources for popup command menus.

       tempDir Directory for xmh to store temporary  files.   For  privacy,  a
	       user might want to change this to a private directory.  Default
	       is ``/tmp''.

       tocGeometry
	       Initial geometry for main xmh toc and view windows.

       tocPercentage
	       The percentage of the main window that is used to  display  the
	       Table of Contents.  Default is 33.

       tocWidth
	       How  many characters to generate for each message in a folder's
	       table of contents.  Default is 100.  Use less if	 the  geometry
	       of  the main xmh window results in the listing being clipped at
	       the right hand boundary, or if you  plan	 to  use  mhl  a  lot,
	       because	it will be faster, and the extra characters may not be
	       useful.

       viewGeometry
	       Initial geometry for windows showing a view of a message.

MULTIPLE MAIL DROPS
       Users may need to incorporate mail from multiple spool  files  or  mail
       drops.	If incoming mail is forwarded to the MH slocal program, it can
       be sorted as specified by the user into multiple incoming  mail	drops.
       Refer  to  the MH man page for slocal to learn how to specify fowarding
       and the automatic sorting of incoming mail in a .maildelivery file.

       To inform xmh about the various mail drops, create a file in your  home
       directory  called  .xmhcheck.  In this file, a mapping between existing
       folder names and mail drops is created by giving a folder name followed
       by  the	absolute pathname of the mail drop site, with some white space
       separating them, one mapping per line.  xmh will read this file whether
       or not resources are set for notification of new mail arrival, and will
       allow incorporation of new mail into any folder with a mail drop.   xmh
       will  invoke inc with the -file argument, and if xmh has been requested
       to check for new mail, it will check directly, instead of using msgchk.

       An example of .xmhcheck file format,  for  the  folders	``inbox''  and
       ``xpert'':
       inbox	 /usr/spool/mail/converse
       xpert	 /users/converse/maildrops/xpert

ACTIONS AND INTERFACE CUSTOMIZATION
       Because	xmh  provides  action  procedures  which correspond to command
       functionality and installs accelerators, users can customize  accelera‐
       tors  and  new  button  functionality  in a private resource file.  For
       examples	  of   specifying   customized	 resources,   see   the	  file
       mit/clients/xmh/Xmh.sample.  To understand the syntax, see the Appendix
       of the X Toolkit Intrinsics specification on Translation Table  Syntax,
       and  any	 general  explanation  of  using  and  specifying X resources.
       Unpredictable results can occur if actions are bound to events or  wid‐
       gets for which they were not designed.

       Here's  an  example of how to bind actions to your own xmh buttons, and
       how to redefine the default accelerators so that the Meta  key  is  not
       required,  in  case  you don't have access to the sample file mentioned
       above.

       ! To create buttons in the middle of the main window and give them semantics:

       Xmh*CommandButtonCount:	     5

       Xmh*commandBox.button1.label: Inc
       Xmh*commandBox.button1.translations: #override\
	    <Btn1Down>,<Btn1Up>: XmhIncorporateNewMail() unset()

       Xmh*commandBox.button2.label: Compose
       Xmh*commandBox.button2.translations: #override\
	    <Btn1Down>,<Btn1Up>: XmhComposeMessage() unset()

       Xmh*commandBox.button3.label: Next
       Xmh*commandBox.button3.translations: #override\
	    <Btn1Down>,<Btn1Up>: XmhViewNextMessage() unset()

       Xmh*commandBox.button4.label: Delete
       Xmh*commandBox.button4.translations: #override\
	    <Btn1Down>,<Btn1Up>: XmhMarkDelete() unset()

       Xmh*commandBox.button5.label: Commit
       Xmh*commandBox.button5.translations: #override\
	    <Btn1Down>,<Btn1Up>: XmhCommitChanges() unset()

       ! To redefine the accelerator bindings to exclude modifier keys,
       ! and add your own keyboard accelerator for Compose Message:

       Xmh*tocMenu.accelerators: #override\n\
	    !:<Key>I: XmhIncorporateNewMail()\n\
	    !:<Key>C:	   XmhCommitChanges()\n\
	    !:<Key>R: XmhForceRescan()\n\
	    !:<Key>P: XmhPackFolder()\n\
	    !:<Key>S: XmhSortFolder()\n
       Xmh*messageMenu.accelerators: #override\n\
	    !:<Key>E: XmhComposeMessage()\n\
	    !<Key>space:    XmhViewNextMessage()\n\
	    !:<Key>c: XmhMarkCopy()\n\
	    !:<Key>d: XmhMarkDelete()\n\
	    !:<Key>f: XmhForward()\n\
	    !:<Key>m: XmhMarkMove()\n\
	    !:<Key>n: XmhViewNextMessage()\n\
	    !:<Key>p: XmhViewPreviousMessage()\n\
	    !:<Key>r: XmhReply()\n\
	    !:<Key>u: XmhUnmark()\n

       xmh provides action procedures which correspond to entries in the  com‐
       mand  menus; these are given in the sections describing menu commmands,
       not here.  In addition to the actions corresponding to commands in  the
       menus, these action routines are defined:

       XmhPushFolder([foldername, ...])
		 This  action  pushes  each of its argument(s) onto a stack of
		 foldernames.  If no arguments are given, the selected	folder
		 is pushed onto the stack.

       XmhPopFolder()
		 This  action  pops one foldername from the stack and sets the
		 selected folder.

       XmhPopupFolderMenu()
		 This action should always be taken when the  user  selects  a
		 folder	 button.  A folder button represents a folder and zero
		 or more subfolders.  The menu of subfolders is built upon the
		 first	reference,  by this routine.  If there are no subfold‐
		 ers, this routine will mark the folder as having no  subfold‐
		 ers, and no menu will be built.  In that case the menu button
		 emulates a toggle button.  When subfolders  exist,  the  menu
		 will popup, using the menu button action PopupMenu().

       XmhSetCurrentFolder()
		 This  action allows menu buttons to emulate toggle buttons in
		 the function of selecting a folder.  This action is for  menu
		 button widgets only, and sets the selected folder.

       XmhLeaveFolderButton()
		 This  action  ensures	that  the menu button behaves properly
		 when the user moves the pointer out of the menu  button  win‐
		 dow.

       XmhPushSequence([sequencename, ...])
		 This  action  pushes  each of its arguments onto the stack of
		 sequence names.  If no	 arguments  are	 given,	 the  selected
		 sequence is pushed onto the stack.

       XmhPopSequence()
		 This action pops one sequence name from the stack of sequence
		 names, which then becomes the selected sequence.

       XmhPromptOkayAction()
		 This action is equivalent to pressing the okay button in  the
		 Create Folder popup.

       XmhReloadSeqLists()
		 This  action  rescans the contents of the public MH sequences
		 for the currently opened folder and updates the sequence menu
		 if necessary.

       XmhShellCommand( parameter [, parameter])
		 At  least  one	 parameter  must be specified.	The parameters
		 will be concatenated with a space character separator, into a
		 single	 string,  and the list of selected messsages, or if no
		 messages are selected, the current message, will be  appended
		 to  the string of parameters.	The string will be executed as
		 a shell command.  The messages are always given  as  absolute
		 pathnames.   It  is  an error to cause this action to execute
		 when there are no selected messages and no current message.

       XmhCheckForNewMail()
		 This action will check all mail drops known to	 xmh.	If  no
		 mail drops have been specified by the user either through the
		 .xmhcheck file or by the initialIncFile resource, the MH com‐
		 mand  msgchk  is  used	 to check for new mail, otherwise, xmh
		 checks directly.

       XmhWMProtocols([wm_delete_window] [wm_save_yourself])
		 This action is responsible for participation in  window  man‐
		 ager  communication  protocols.  It responds to delete window
		 and save yourself  messages.	The  user  can	cause  xmh  to
		 respond  to one or both of these protocols, exactly as if the
		 window manager had made the request, by invoking  the	action
		 with  the  appropriate parameters.  The action is insensitive
		 to the case of the string parameters.	If the event  received
		 is a ClientMessage event and parameters are present, at least
		 one  of  the  parameters  must	 correspond  to	 the  protocol
		 requested by the event for the request to be honored by xmh.

CUSTOMIZATION USING MH
       The initial text displayed in a composition window is generated by exe‐
       cuting the corresponding MH command; i.e.  comp,	 repl,	or  forw,  and
       therefore  message  components may be customized as specified for those
       commands.  comp is executed only once per invocation  of	 xmh  and  the
       message template is re-used for every successive new composition.

       xmh  uses  MH  commands, including inc, msgchk, comp, send, repl, forw,
       refile, rmm, pick, pack, sort, and scan.	 Some flags for these commands
       can  be specified in the MH profile; xmh may override them.  The appli‐
       cation resource debug can be set to true to see how xmh	uses  MH  com‐
       mands.

ENVIRONMENT
       HOME - users's home directory
       MH - to get the location of the MH profile file

FILES
       ~/.mh_profile  - MH profile, used if the MH environment variable is not
       set
       ~/Mail - directory of folders, used if the MH profile cannot be found
       ~/.xmhcheck - optional, for multiple mail  drops	 in  cooperation  with
       slocal.
       /usr/local/mh6 - MH commands, as a last resort, see mhPath.
       ~/Mail/<folder>/.xmhcache - scan output in each folder
       ~/Mail/<folder>/.mh_sequences - sequence definitions, in each folder
       /tmp - temporary files, see tempDir.

SEE ALSO
       X11(7), xrdb(1), enscript(1),
       X Toolkit Intrinsics, Athena Widget Set
       At least one book has been published about MH and xmh.

BUGS
       -  When	the  user closes a window, all windows which are transient for
       that window should also be closed by xmh.
       - When XmhUseAsComposition and XmhViewUseAsComposition operate on  mes‐
       sages  in the DraftsFolder, xmh disallows editing of the composition if
       the same message is also being viewed in another window.
       - Occasionally after committing changes, the  table  of	contents  will
       appear to be completely blank when there are actually messages present.
       When this happens, refreshing the display, or typing Control-L  in  the
       table  of contents, will often cause the correct listing to appear.  If
       this doesn't work, force a rescan of the folder.
       - Should recognize and use the ``unseen'' message-sequence.
       - Should determine by itself if the user hasn't	used  MH  before,  and
       offer to create the .mh_profile, instead of hanging on inc.
       - A few commands are missing (rename folder, resend message).
       - WM_DELETE_WINDOW protocol doesn't work right when requesting deletion
       of the first toc and view, while	 trying	 to  keep  other  xmh  windows
       around.
       - Doesn't support annotations when replying to messages.
       - Doesn't allow folders to be shared without write permission.
       - Doesn't recognize private sequences.
       - MH will report that the .mh_sequences file is poorly formatted if any
       sequence definition in a particular folder contains  more  than	BUFSIZ
       characters.   xmh tries to capture these messages and display them when
       they occur, but it cannot correct the problem.
       - Should save a temporary checkpoint file rather than requiring changes
       to be committed in the non-shutdown case.

AUTHOR
       Terry Weissman, formerly of Digital Western Research Laboratory
       Donna Converse, MIT X Consortium

X Version 11			   Release 6				xmh(1)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net