

	*** MFM 1.0 ***
	---------------

	Written by Andrew T. Renalds - renalds@fnbc.com


MFM is a OSF/Motif-based filemanager in every sense.  It allows complete
graphical manipulation of UNIX filesystems as well the ability to launch
applications.  The design is similar in nature to the NeXT filemanager
but also offers more functionality.  Other applications can also be adapted
to accept files from MFM via Motif 1.2 drag and drop.  A clipboard exists
so that frequently used applications, files, and directories can be easily
accessed.


Compiling
---------

If you have "xmkmf",

1.  Edit "config.h" to turn on/off options.
2.  Type "xmkmf -a" to create all makefiles in all subdirectories.  
3.  Type "make" to build the "mfm" executable.
4.  Type "make install" to install the executable, rules file, and bitmaps.

If you do not have "xmkmf",

1.  Type "cp Makefile.std Makefile".
2.  Modify the "Makefile" for your system.
3.  Type "make" to build the "mfm" executable.
4.  Type "make install" to install the executable, rules file, and bitmaps.
    You will not need to modify any of the makefiles in the subdirectories
    since the settings are passed to them.

*** Important:  MFM will not compile if you do not have at least Motif 1.2.0.


Rules File
----------

The rules file serves several purposes.  Each rule is on a seperate line and
comments are indicated by a '#' character in the first column.  The type of 
rule is indicated by a keyword and comes first on a line.  There are seven rule
types.  They are:

  1.  FILENAME
	This associates a pixmap with a particular filename.  The directory
	which this file is in is irrelevent.  The rule syntax is:

	FILENAME  pixmap_filename  particular_filename

	Example:  FILENAME  core.xpm   core
		  FILENAME  xterm.xpm  xterm

  2.  FILE+COMM
	This associates a pixmap and a command with a particular filename.
	The directory which this file is in is irrelevent.  The given command
	will be executed (launched) for a file with the given name.  The 
	rule syntax is:

	FILE+COMM  pixmap_filename  particular_filename  command

	Example:  FILE+COMM  makefile.xpm  Makefile  "cd $2; make"
	          FILE+COMM  makefile.xpm  makefile  "cd $2; make"

  3.  EXTENSION
	This associates a pixmap with a particular file extension.  The rule
	syntax is:

	EXTENSION  pixmap_filename  file_extension
	
	Example:  EXTENSION  compressed.xbm  .Z
		  EXTENSION  library.xbm     .a
		  EXTENSION  tar.xpm	     .tar

  4.  EXT+COMMAND
	This associates a pixmap and a command with a particular file extension.
	This means that the given command will be executed (launched) for a 
	file with the given extension.  The rule syntax is:

	EXT+COMMAND  pixmap_filename  file_extension  command

	Example:  EXT+COMMAND  xbm.xbm         .xbm  "pixmap $0"
		  EXT+COMMAND  dot_c.xbm       .c    "$EDITOR $0"
		  EXT+COMMAND  dot_c.xpm       .C    "$EDITOR $0"
		  EXT+COMMAND  dot_h.xpm       .h    "$EDITOR $0"
		  EXT+COMMAND  dot_h.xbm       .H    "$EDITOR $0"
		  EXT+COMMAND  postscript.xbm  .ps   "ghostview $0"

  5.  FILESTRING
	This associates a pixmap with the string returned from the Unix 'file'
	command.  These are listed in the /etc/magic file.  This allows you to
	associate pixmaps with file types.  The rule syntax is:

	FILESTRING  pixmap_filename  magic_string

	Example:  FILESTRING  compressed.xbm  "compressed data"
		  FILESTRING  library.xpm     "archive random library"

  6.  FILESTR+COMM
	This associates a pixmap and a command with the string returned from
	the Unix 'file' command.  These are listed in the /etc/magic file.
	This allows you to associate pixmaps and commands with file types.
	The rule syntax is:

	FILESTR+COMM  pixmap_filename  magic_string  command

	Example:  FILESTR+COMM  postscript.xpm  "PostScript document"      "ghostview $0"
	  	  FILESTR+COMM  dot_c.xbm       "c program text"           "emacs $0"
		  FILESTR+COMM  sh.xbm		"executable shell script"  "$0"

  7.  DEFAULT_COMMAND
	This is the default command executed when none of the rules
	apply and the file that you want to launch is not executable.
	The rule syntax is:

	DEFAULT_COMMAND  command

	Example:  DEFAULT_COMMAND  "xterm -exec 'vi $0'"
		  DEFAULT_COMMAND  "$EDITOR $0"
		  DEFAULT_COMMAND  "emacs $0"


The following strings may be used in the command strings.

  "$0"      - the complete filename including path, i.e., /usr/renalds/.cshrc
  "$1"      - the filename excluding path, i.e., .cshrc
  "$2"      - the path of the file only, i.e., /usr/renalds
  "$EDITOR" - the environment variable EDITOR

MFM uses XmGetPixmap() to load pixmaps.  If the HAVE_XPMLIB macro is defined, it 
will also attempt to load pixmaps via XpmReadFileToPixmap().  Future versions will be 
able to accept GIF, TIFF, and other formats.  Collections of bitmaps and pixmaps
are available.  Two worth mentioning from ftp.x.org are R5contrib/AIcons and
R5contrib/hobbes-icons-xpm3.tar.gz.  These can be used to customize your own
setup.  I use 48x48 size and would HIGHLY recommend you do the same.  You can 
use your pixmap/bitmap builder to "rescale" your favorite ones.  I have included
some default bitmaps and pixmaps.

Individual defaults files can be used to override the system defaults file for MFM. 
It should be named `.mfmrc' and placed in your home directory.  A graphical interface 
to create and modify these files will be included in a future version.

Commands get launched via your shell so full pathnames are not necessary if your 
PATH variable is set to include the directory where the executable is located.  

If anyone has a better icon of a house, please mail it to me.


More
----

See the postscript file for more information.
