
	XFM - The X File Manager (ver 1.3.1)
	------------------------------------

	(c) Simon Marlow 1990-1993 	simonm@dcs.glasgow.ac.uk
	(c) Albert Graef 1994		ag@muwiinfa.geschichte.uni-mainz.de

	This program is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published
	by the Free Software Foundation; either version 2, or (at your option) 
	any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program; if not, write to the Free Software
	Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

------------------------------------------------------------------------------

This is a powerful file and applications manager program written using the X
toolkit. It contains virtually all of the features that you would expect in a
file manager -- move around your directory tree in multiple windows, and move,
copy or delete files with simple mouse operations. Directory displays are
updated automatically in regular intervals when the contents of a displayed
directory changes. The integrated application manager allows you to load files
into your favourite applications from the file manager by dragging icons. It
can also be used as a "shelf" onto which you can place files and directories
you are currently working with. A special LOAD action for application files
enables you to manage different application groups.

User-definable file types allow you to specify a command to be executed when
double-clicking on a file or dropping other files onto it. The command can
also prompt you for required parameters. Xfm makes it easy to configure
special kinds of actions such as, e.g., replacing the contents of a compressed
tar archive with a collection of selected files. A lot of corresponding
examples can be found in the distribution, including a fully functional
trashcan feature. Last not least, xfm can automatically mount and unmount
special devices like floppies as you open and close the corresponding
directories (mount points). So you won't have to fiddle around with mount or
mtools commands any more if all you want to do is copy some files between the
hard disk and your floppy drive.

The original version of this program was written by Simon Marlow at the
University of Glasgow. I included Simon's README for reference purposes; see
README-1.2. [Most of the information in this file is outdated; please refer to
this README file and the man page for up-to-date installation and usage
instructions.]

Release 1.3 stems from my efforts to resolve some nasty bugs in the 1.2 beta
version distributed with Linux slackware, and to add XPM support for displaying
color icons in the file and application windows. As it came out, I also added a
plethora of other features to make xfm the tool I was looking for; see the
ChangeLog for details. Realizing that my private xfm version might be useful
for others as well, I contacted Simon and he told me to put together a new
release and make it available on the net. So here it is! I hope you will find
it as useful as I do -- I am now using xfm regularly, and can't imagine how I
ever did without it. I think that this program compares well to other free --
and even commercial -- file managers. It is fast, convenient to use, and offers
a lot of built-in functionality and configuration options. If you are not
addicted to the shell and like to shuffle around files with one hand in order
to perform tasks such as moving, copying, deleting, compiling, formatting,
archiving, compressing, etc. etc., then xfm is certainly for you.

Release 1.3.1 adds an automatic shell detection feature, which has been
contributed by Robert Vogelgesang (vogelges@rhrk.uni-kl.de). We hope that this
transparently fixes the problems with different shell argument passing
conventions which have been encountered with release 1.3. The configuration
files supplied with the package should now work with any popular shell -- if
not, set the new X resource Xfm.BourneShells; see the man page for details.


INSTALLATION
------------

As distributed, xfm is set up to work with Arnaud Le Hors' XPM library. It can
still be compiled and run without this library, if you comment out the #define
XPM in xfm/Imakefile, but then you will have to edit the configuration files
(xfmrc, xfm-apps and xfm-tools) to replace the pixmap icons by bitmaps (a few
are supplied in the bitmaps directory). Versions of the XPM library less than
3.3 appear not to work.

Xfm 1.3 has been reported to compile and run successfully under Linux
0.99-1.1.91, BSDI 1.1, RS6000 with AIX 3.2.5 (using gcc), SUN workstations
running SunOS 4.1 and Solaris 2.3, HP700 with HPUX 9.01, DECstation with
Ultrix 4.3a, DEC Alpha with OSF/1, SGI Indigo with IRIX 4.0.5F and 5.2. Up to
now, release 1.3.1 has only been tested on Solaris, AIX and Linux. We are
still interested in getting Xfm compiled on as many platforms as possible
(porting should be a piece of cake), so please continue to send us any patches
so that they can be included in future releases.

NOTE for SUN users and other people running ol[v]wm: You may have to get a
working olwm or use another window manager -- the OpenLook window manager has
a bug which makes X toolkit applications not recognize double clicks. If
anybody knows how to fix this, please let us know.


Take a look at the toplevel Imakefile and edit it if necessary. To
build/install the software do the following:

xmkmf && make Makefiles && make && make install && make install.man

If everything goes smoothly, you should have an xfm binary installed
in your X bin directory, along with some other stuff (note the
directories may not be identical on your system, it is up to Imake to
install these things in the correct place):

/usr/X11/bin/xfm.install		The user installation program
/usr/X11/lib/X11/xfm/
	bitmaps				Some example bitmaps
	pixmaps				Some example pixmaps
	dot.xfm				Default config files (for xfm.install)
/usr/X11/lib/X11/app-defaults/Xfm	application defaults for xfm
/usr/X11/man/man1/xfm.1			the manual page

If everything didn't go smoothly, you may have to make xfm in the
subdirectory xfm separately, and/or install things by hand.

To complete the installation, you will probably wish to edit the
default configuration files and the application defaults file to
reflect your local configuration.

Good luck! :-)


ICONS
-----

I put together a collection of color pixmaps from various sources on the net,
including icons from Linux slackware, the X desktop manager (xdtm) and the
0.91 beta release of the G.R.E.A.T. environment. Be warned that I had to edit
most of these icons to be able to display them on my Linux box which only runs
a 16 color X server. Therefore the icons aren't as colorful as could be. If
anybody donates me a collection of nice 256 color icons I will include it in
future releases, but I currently have no means to test them myself.

If you want to use pixmaps from other sources with xfm, or are designing new
icons yourself, you should make sure that these icons use the *symbolic* color
None as their background color, as all the icons in the xfm distribution do.
This is because xfm currently does not use the shape extension to display
pixmaps with transparent background, but handles such icons by replacing the
symbolic color None with the appropriate background color.


TRASHCAN
--------

As I already mentioned, the distributed configuration includes a simple but
useful trashcan feature. The corresponding line in xfm-apps reads as follows:

Trash::.trash:trash.xpm:OPEN:shift; mv -f -b -V numbered $* ~/.trash

This line causes xfm to open a new window on the trashcan directory (.trash in
the user's home directory) when double-clicking on the trashcan icon in the
application window. This allows you to empty the trashcan, restore files,
etc., by employing xfm's usual move/copy/delete operations. The second action
is invoked when a collection of selected files is dropped onto the trashcan
icon; it moves the selected files to the .trash directory. The "-b -V
numbered" options of GNU mv are used to create numbered backup copies of files
already present in .trash, instead of simply overwriting them. If you don't
have GNU mv, you can omit these options (be aware that then files in .trash
will be overwritten without notice) or replace the mv command with a shell
script which creates the necessary backup copies before it invokes mv.


Enjoy!

Albert Graef
ag@muwiinfa.geschichte.uni-mainz.de
