-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.xfm-1.3
296 lines (236 loc) · 15 KB
/
README.xfm-1.3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
XFM - The X File Manager (ver 1.3.2)
------------------------------------
(c) Simon Marlow 1990-1993 [email protected]
(c) Albert Graef 1994, 1995 [email protected]
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 ([email protected]). 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.
Release 1.3.2 adds a bunch of new features; the most important are listed
below:
* Improved support for creating symbolic links. The Link option now works
completely analogous to the Copy option; in particular, it is now possible
to create links for a selected set of files in a specified directory.
* Rearranging items in the application window, which used to be a pain in
earlier releases, is now a lot easier. Items in the application window
can now be moved and copied using drag and drop, and cut/copy/paste gives a
convenient way to move entries between different application files. There
also is a new option for installing application groups, and the Back and
Main buttons allow to navigate in the application group tree.
* "Magic headers," contributed by Juan D. Martin ([email protected]). With
this feature it is now possible to identify file types by their mode and
contents in addition to the filename patterns. This is implemented using
a "magic" file format (see magic(5)) with some important extensions like
mode checking and regular expression matching. It also allows you to specify
custom icons for directories and executables in file windows. A sample
magic file is included. Also, Juan wrote a tiny program named xfmtype which
lets you determine the xfm magic type of a file.
* A Filter option for the View menu, contributed by Kevin Rodgers
([email protected]). This nice function allows you to restrict
the set of files displayed in a file window -- for instance, only display
*.c files.
* A View option for the file popup menu (accompanied by a VIEW action which
can be used in push actions), contributed by Scott Heavner
([email protected]). This option works analogous to the Edit
option, but invokes a program for viewing a file (e.g. xless, available
from ftp.x.org).
* Default values in parameter dialogs, contributed by Brian King
([email protected]). Using the %parameter--value% notation, you can now
specify default values for parameters in push and drop actions.
* Lots of new icons, and a new set of standard config files. Juan D. Martin
has compiled a comprehensive collection of fileicons. Take a look at the
contrib/fileicons directory.
* Besides this, I cleaned up the source tree, fixed some bugs, overhauled
Imakefiles and added an "Imake.options" file for easier customization.
Thanks to all who reported bugs and contributed patches!
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 Imake.options, but then you will have to edit the configuration files
(xfmrc, Apps, etc.) 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.
Other options which can be controlled by corresponding #define's in
Imake.options are XAW3D (which causes linkage with the Xaw3d library, and also
adds some Xaw3d-specific lines to the applications default file) and
MAGIC_HEADERS (which causes the magic headers code to be included, and also
determines the standard xfmrc file to be installed on your system). XAW3D is
disabled, MAGIC_HEADERS enabled by default.
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. I hope
I didn't break this with the current release. 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: In order to get double
clicks in xfm working, you may have to set olwm to the "focus-follows-mouse"
(rather than the "click-to-focus") mode. This can be done by setting the
SetInput resource to followmouse in your .OWdefaults file (see props(1)). In
click-to-focus mode double clicks in xfm won't work. I consider this a bug in
olwm, but if anybody has a fix to get double clicks working in click-to-focus
mode I'd like to hear about it.
-------------
To customize the Imakefiles according to your preferences and your system,
edit the file "Imake.options" at the top level of the distribution. This file
is included by the different Imakefiles so that you usually won't have to edit
the Imakefiles themselves. To build/install the software do the following:
xmkmf && make Makefiles && make && make install && make install.man
Of course, if you already have an xfm version >=1.3 running on your system,
you might find it more convenient to execute an equivalent of the above from
xfm. ;-)
NOTE: When upgrading from xfm-1.3 or xfm-1.3.1, you might wish to back up your
old set of config files before installing the new files. Then, after having
generated the Makefile with xmkmf, issue a `make uninstall' to remove the old
installation before you do the `make install'. Release 1.3.2 includes a lot of
additional icons (see ICONS). Unfortunately I had to rename a few icons, so
you may have to edit your old configuration files if you want to reuse them
with the new release.
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 src
subdirectory 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.
Also you might wish to manually install additional icons and other stuff from
the contrib dir.
Good luck! :-)
ICONS
-----
Xfm comes with a basic collection of bitmap and pixmaps icons from various
sources on the net, including icons from Linux slackware, the X desktop
manager (xdtm), the 0.91 beta release of the G.R.E.A.T. environment and the
AIcons collection. Be warned that I had to edit some of these icons to be able
to display them on my Linux box which only runs a 16 color X server. Therefore
many of the icons aren't as colorful as could be.
A comprehensive set of both bitmap and pixmap fileicons has been collected and
edited for use with xfm by Juan D. Martin ([email protected]). To install
these, simply copy the files in contrib/fileicons/{bit,pix}maps to the
{bit,pix}maps directory in your xfm libdir, or some other directory specified
with the {bit,pix}mapPath resource. You should also install the modified xfmrc
file in the contrib/fileicons directory which makes use of the new icons.
Tons of other icons can be found on the net. For instance, take a look at the
AIcons collection or pixmaps.tar.gz, both in the R5contrib directory on
ftp.x.org. You might also consider to install the xbmbrowser program written
by Ashley Roll and Anthony Thyssen (also on ftp.x.org), if you haven't done
this already.
STANDARD SETUP
-------- -----
The standard setup (files in the lib directory) consists of the magic and
xfmrc files for common filetypes, a sample xfmdev file (specifying how special
devices like floppy disks are mounted and unmounted), and a set of useful
application files. It is intended as a starting point for developing a
personal setup which fits your taste and requirements. Currently the following
standard application groups are provided:
* Apps -- the main group. It contains entries for common applications, namely
a shell tool (xterm), two different editors (emacs and OpenLook textedit), a
mailtool (xmailtool), a calculator (xcalc), a manpage reader (xman), a DVI
previewer (xdvi), WWW and news readers (mosaic and xrn), and the printer
(lpr). The group also contains entries for loading the Toolbox, Graphics and
Hosts groups (see below). Two entries, Home and Root, are used to open a
window on your home and the root directory, respectively, while the sample A:
and B: entries will be used to open file windows on the corresponding disk
drives (you may have to edit these entries, as well as the xfmdev file, to
reflect your system setup). The Trash entry implements a simple trashcan
feature using GNU mv (see TRASHCAN, below).
* Toolbox -- a collection of common utilities. It contains entries for
starting up a debugger (xxgdb), make (dropping a makefile prompts you for the
target), and various archiving and compression utilities. Furthermore, it
provides an interface to the grep and find utilities (you might wish to
replace these by appropriate X utilities if you have them available).
* Graphics -- graphics utilities. The standard setup includes entries for
ghostview, xfig, xv, xpaint, xbmbrowser, bitmap and pixmap.
* Hosts -- access to the network. This group contains two sample entries, one
for invoking a remote xterm in your local network (you should edit this entry
to specify a hostname), and one for opening an ftp connection to ftp.x.org.
You should inspect the entries in the application groups as well as the xfmrc
file to find out exactly which push and drop actions are implemented.
Contributions are always welcome. If you have any nifty icons or interesting
entries for the magic, xfmrc and application files, please send them to me so
that I can include them in future releases.
TRASHCAN
--------
As I already mentioned, the standard setup includes a simple but useful
trashcan feature. The corresponding line in the Apps applications file 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