home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1996 May / PCOnline_05_1996.bin / linux / source / xap / xfm / xfm-1.000 / xfm-1 / xfm-1.3.2 / README-1.2 < prev    next >
Encoding:
Text File  |  1993-03-16  |  9.7 KB  |  237 lines

  1.         XFM - The X File Manager (ver 1.2 beta)
  2.         ----------------------------------------
  3.                (c) Simon Marlow 1990-1993
  4.             simonm@dcs.glasgow.ac.uk
  5.  
  6.     This program is free software; you can redistribute it and/or modify
  7.     it under the terms of the GNU General Public License as published
  8.     by the Free Software Foundation; either version 1, or (at your option) 
  9.     any    later version.
  10.  
  11.     This program is distributed in the hope that it will be useful,
  12.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  14.     GNU General Public License for more details.
  15.  
  16.     You should have received a copy of the GNU General Public License
  17.     along with this program; if not, write to the Free Software
  18.     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. ------------------------------------------------------------------------------
  21. 1. Introduction
  22.  
  23. This is a small file manager/program manager package written using the
  24. XToolkit.  It contains most of the features that you would expect in a
  25. file manager -- move around your directory tree in multiple windows,
  26. and move, copy or delete files with simple mouse operations. The
  27. integrated application manager allows you to load files into your
  28. favourite applications from the file manager by dragging icons.
  29.  
  30. Consider this software a beta release - the last version was alpha
  31. (and contained at least one serious bug), but I am more confident that
  32. xfm is stable now.  This version has been in testing for quite a
  33. while, and will probably lose the 'beta' sticker before long, too.
  34.  
  35. Comments are welcome - please send me bug-fixes and any suggestions
  36. you have for improving the program in any way (patches are also
  37. welcome, as is complete texinfo documentation :-). Oh yes, and if you
  38. have any nice icons, I'd certainly like to include them in the
  39. distribution.
  40.  
  41. Installation is relatively straight forward. Section 1 contains a
  42. list of instructions to get you started right away, and sections 2-3
  43. have a more detailed explanation.
  44.  
  45. -------------------------------------------------------------------------------
  46. 1. QuickStart - for those of you who can't wait
  47.  
  48. type the following:
  49.  
  50.             xmkmf
  51.             make Makefiles
  52.             make all install
  53.             cat DEFAULTS >>~/.Xdefaults
  54.             xrdb ~/.Xdefaults
  55.             xfm
  56.  
  57. This will start xfm with no applications configured. To use the
  58. configuration files and icons included in the package, read section 3.
  59.  
  60. ------------------------------------------------------------------------------
  61. 2. Compilation
  62.  
  63. I have included a minimal Imakefile, so there should be no problem
  64. with compilation on most machines. Take a look at the Imakefile, and
  65. edit it if you like. Then, simply make the Makefile by typing 'xmkmf',
  66. and make the Makefiles in the xfm and xfmc subdirectories by typing
  67. 'make Makefiles'.  'make depend' will update the Makefiles with
  68. dependancy information, but this is not strictly necessary. To make
  69. the binaries, do a 'make'.
  70.  
  71. If there are any changes to be made to the source to compile on other
  72. machines (these should be minor), please send me patches as I don't
  73. have the resources here to test these things. Xfm currently compiles
  74. cleanly on SunOS4.1, Ultrix (I think), Linux, and most POSIXish
  75. systems (all with gcc and X11R5). Xfm needs an ANSI C compiler -
  76. *please* don't send me patches to compile it on an older compiler,
  77. just get gcc.
  78.  
  79. ------------------------------------------------------------------------------
  80. 3. Installation
  81.  
  82. To install the binaries, do a 'make install'.  This will install xfm
  83. and xfmc in the default directory on your system.
  84.  
  85. If you have a .Xdefaults file, you may want to concatenate the file
  86. DEFAULTS to it. This contains some defaults for xfm, to specify fonts
  87. and other things. These are the xfm-specific resources.  Some of them
  88. may be removed in future versions as I will make them settable from
  89. within xfm. All the Xtoolkit resources are also available.
  90.  
  91. If you want to use your own icons (in the application manager) xfm
  92. needs to know where to find them. Include a line like
  93.  
  94. *bitmapFilePath: /home/simon/bitmaps:/usr/include/X11/bitmaps
  95.  
  96. in your .Xdefaults. A number of icons come with the standard X
  97. distribution (these are in /usr/include/X11/bitmaps). I've also
  98. included a few of mine in the directory user-bitmaps.
  99.  
  100. Xfm uses its own data file (by default called ~/.xfmrc) to keep track
  101. of the icons you have installed in the application manager.  You
  102. shouldn't need to edit this file yourself, in fact xfm may get very
  103. confused if you do. I have included a small .xfmrc file (STARTUP) that
  104. you should rename and place in your home directory before starting xfm
  105. - this will give you a few applications to get started. Note that you
  106. will need the bitmap files in ./user-bitmaps available to use this
  107. setup.
  108.  
  109. ------------------------------------------------------------------------------
  110. 4. Operation of the File Manager
  111.  
  112. Most of it should be pretty obvious. Things that aren't obvious:
  113.  
  114. o The left hand mouse button selects an item (and deselects all others in the
  115.   same window). The second button toggles the selected state of an item.
  116.  
  117. o Clicking the right-hand mouse button when over an icon pops up a menu with
  118.   some operations that can be performed on that file.
  119.  
  120. o You can open new windows by two methods:
  121.   (a) Drag (with button 1) a directory onto anywhere on the root window. Note
  122.       that this may not work if you have a picture on your background.
  123.   (b) Select one or more directories and press the 'open' button.
  124.  
  125. o You cannot close the last window. To quit the program, use the 'quit' button
  126.   on the Application Manager window.
  127.  
  128. o Drag with the left-hand button to another window (or another icon, in general
  129.   a valid destination will be highlighted with a border when the cursor is
  130.   over it) to move files from one directory to another. The second button used
  131.   in the same way will copy files.
  132.  
  133. o Clicking on the arrows in Tree mode moves in that direction.
  134.  
  135. o Double clicking on a directory in Icon mode moves into that
  136.   directory. To move up a level, either select 'Up' from the 'Move' menu,
  137.   or double click on the '..' icon.
  138.  
  139. o Double clicking on an executable runs the program. Dragging files
  140.   onto an executable runs the program with the full pathnames of
  141.   the dragged files as arguments. (You can test this with 'echo').
  142.  
  143. o Double clicking on normal files invokes the default editor
  144.   (specified in the defaultEditor resource) with the filename as an
  145.   argument.  The 'edit' option on the popup menu also performs the
  146.   same action.
  147.  
  148. o To get detailed information on a file, use 'Info' on the
  149.   'Operations' menu.
  150.  
  151. ------------------------------------------------------------------------------
  152. 5. Operation of the Application Manager
  153.  
  154. o To install an application, either use the 'install' option on the
  155.   menu or drag an executable file over from a file window.
  156.  
  157. o Double clicking on an application will start it by running the
  158.   command '$SHELL -c <command>' - this is so you can use various shell
  159.   thingies in the command line.
  160.  
  161. o Dragging files over from a file window onto an application will
  162.   start it with the command '$SHELL -c <command> <file1> <file2> ...'
  163.   Most shells will then place <file1>, <file2> etc. into the variables
  164.   $0, $1 ... So for example if you wanted to load a file into emacs,
  165.   the command for the emacs application would be 'emacs $0', and you
  166.   could drag a file over from a file window onto the emacs icon to
  167.   have emacs come up with the file loaded.
  168.  
  169.   Other useful applications to install this way are the printer (print
  170.   files by dragging onto the printer icon), a waste-paper basket 'rm
  171.   $*' (you'll need to make sure the windows are updated too -- see
  172.   Secction 6 below).
  173.  
  174. o Icons that you specify must be in one of the directories specified
  175.   by the bitmapFilePath resource, and must be in standard X bitmap
  176.   format (use 'bitmap' to create or edit them).
  177.  
  178. o To save the current set of applications to the resource file, use
  179.   the 'Save setup' option. To restore the application set from the 
  180.   resource file, use 'Load setup'
  181.  
  182. ------------------------------------------------------------------------------
  183. 6. The program xfmc
  184.  
  185. In this release, I've included a small program xfmc that will communicate with
  186. an xfm process running on the same display. There are two types of
  187. messages that can be sent: open new windows, or update existing ones. The
  188. syntax of the command is
  189.  
  190. xfmc -o path ...
  191. xfmc -u path ...
  192.  
  193. This means that you can finally have a real wastebasket in the application
  194. manager (by instructing xfm to update some windows using xfmc), and do other
  195. cool things like mount a floppy disk and have a window onto it open up
  196. automatically.
  197.  
  198. It works by finding the xfm window (using a depth-first traversal of the
  199. window tree on the display), and sending it a sequence of XClientEvent
  200. messages. This works where xfm and xfmc are running on different machines,
  201. but is rather slow. A better method may be to use a socket in /tmp, although
  202. this would restrict xfm & xfmc to being on the same machine.
  203.  
  204. ------------------------------------------------------------------------------
  205. 7. Bugs / Problems
  206.  
  207. o Starting applications will start another copy of the shell. If you
  208.   don't like this, then prefix all your application commands with
  209.   'exec'. In a future version I might have xfm insert this for you.
  210.  
  211. o There is no recursive copy routine currently - so copying
  212.   directories is not allowed. Sorry!
  213.   
  214. o It's a bit slow - this is a combination of having to stat all the files in
  215.   a directory, and then creating millions of widgets. A possible 
  216.   solution to this problem is to create my own widget class for the
  217.   icons. Maybe in a future version.
  218.  
  219. o Anything else... please tell me, my email address is below.
  220.  
  221. ------------------------------------------------------------------------------
  222.  
  223. Have fun!
  224.  
  225. Simon Marlow
  226. simonm@dcs.glasgow.ac.uk
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.