~ubuntu-branches/ubuntu/maverick/lfm/maverick-proposed

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2004-07-26 18:08:07 UTC
  • Revision ID: james.westby@ubuntu.com-20040726180807-ocycfymqg3pvz22o
Tags: upstream-0.91.2
Import upstream version 0.91.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
=======================
 
2
lfm - Last File Manager
 
3
=======================
 
4
 
 
5
:Author: I�igo Serna, inigoserna AT telefonica DOT net
 
6
 
 
7
:Version: 0.91, June 30th. 2004
 
8
 
 
9
:License: \(C\) 2001-4, I�igo Serna
 
10
 
 
11
          This software has been realised under the `GPL License`__, 
 
12
          see the COPYING_ file that comes with this package. 
 
13
          There is NO WARRANTY.
 
14
 
 
15
:Last update: Wed Jun 30 22:01:08 2004 CEST
 
16
 
 
17
 
 
18
.. contents:: Table of Contents
 
19
 
 
20
 
 
21
Introduction
 
22
============
 
23
**Last File Manager** is a simple but powerful file manager for the
 
24
UNIX console. It has been developed with the ol' good `Midnight
 
25
Commander`__ as model.
 
26
 
 
27
From version 0.6 and up *lfm* package also contains **pyview**, a
 
28
text / hex file viewer to be used with or without **lfm**. 
 
29
Read README.pyview_ for more info about it.
 
30
 
 
31
 
 
32
Some screenshots:
 
33
 
 
34
.. image:: lfm.png
 
35
 
 
36
.. image:: pyview.png
 
37
 
 
38
 
 
39
Requirements
 
40
============
 
41
*Lfm* and *Pyview* are written in Python_ and need curses module.
 
42
It needs Python v2.0 or maybe higher, it won't work with v1.5.
 
43
Since version 0.90, *lfm* needs ncurses >= v5.x because of its
 
44
handling of terminal resizing.
 
45
 
 
46
All modern UNIX flavours (Linux, \*BSD, Solaris, etc) will run it without problems. 
 
47
If they appear please notify me.
 
48
 
 
49
 
 
50
All over these years, I have tested on several platforms:
 
51
 
 
52
+--------------+-----------+----------------------+
 
53
|      OS      |   PYTHON  |        Arch          |
 
54
+==============+===========+======================+
 
55
| Linux 2.6.6  |   2.3.4   |   Athlon             |
 
56
+--------------+-----------+----------------------+
 
57
| Linux 2.4.18 |   2.2.1   |   i686               |
 
58
+--------------+-----------+----------------------+
 
59
| Solaris 8    |   2.1     |   UltraSparc-II [#]_ |
 
60
+--------------+-----------+----------------------+
 
61
 
 
62
 
 
63
.. [#] I needed to install ncurses and recompile python to use them. 
 
64
       It doesn't work with the curses library which comes with Solaris 8.
 
65
 
 
66
 
 
67
 
 
68
Also, take a look at TODO file to see bugs and *not-implemented-yet* (tm) 
 
69
features.
 
70
 
 
71
Type `lfm --help` or `pyview --help` for a complete list of options.
 
72
 
 
73
Program preferences are saved in `~/.lfmrc` file.
 
74
When the program starts the first time, it tries to discover the location
 
75
of some apps in your system to configure lfm automatically, but it's not 
 
76
perfect, so you should take a look to the configuration (`General Menu [F9] 
 
77
-> Edit Configuration [c]`) and change it according to your preferences.
 
78
 
 
79
 
 
80
Download & Installation
 
81
=======================
 
82
.. sidebar:: Files: all versions
 
83
   :class: warning
 
84
 
 
85
   +---------+------------------+------------+
 
86
   | Version |       File       |    Date    |
 
87
   +=========+==================+============+
 
88
   |   0.91  | lfm-0.91.tar.gz_ | 2004/07/03 |
 
89
   +---------+------------------+------------+
 
90
   |   0.90  |  Never released  |            |
 
91
   +---------+------------------+------------+
 
92
   |   0.9   | lfm-0.9.tar.gz_  | 2002/09/05 |
 
93
   +---------+------------------+------------+
 
94
   |   0.8   | lfm-0.8.tar.gz_  | 2002/03/04 |
 
95
   +---------+------------------+------------+
 
96
   |   0.7   | lfm-0.7.tar.gz_  | 2001/11/30 |
 
97
   +---------+------------------+------------+
 
98
   |   0.6   |  Never released  |            |
 
99
   +---------+------------------+------------+
 
100
   |   0.5   | lfm-0.5.tar.gz_  | 2001/08/07 |
 
101
   +---------+------------------+------------+
 
102
   |   0.4   | lfm-0.4.tar.gz_  | 2001/07/19 |
 
103
   +---------+------------------+------------+
 
104
 
 
105
   Read about NEWS_ or ChangeLog_
 
106
 
 
107
 
 
108
'lfm' is very easy to install, just keep next steps:
 
109
 
 
110
1. Download sources_
 
111
2. Uncompress file
 
112
3. Build:
 
113
    `$ python setup.py build`
 
114
4. Install, as root::
 
115
    `# python setup.py install`
 
116
5. Run it:
 
117
    `$ lfm`
 
118
 
 
119
To let 'lfm' to change to panel's current directory after quiting with
 
120
`q`, `Q` or `F10` keys, you must add next code to `/etc/bashrc` or to
 
121
your `~/.bashrc`::
 
122
 
 
123
    lfm()
 
124
    {
 
125
        /usr/bin/lfm "$*"               # type here full path to lfm script
 
126
        LFMPATHFILE=/tmp/lfm-$$.path
 
127
        cd "`cat $LFMPATHFILE`"
 
128
        rm -f $LFMPATHFILE
 
129
    }
 
130
 
 
131
If you don't use bash or csh shell, above lines must be different.
 
132
 
 
133
 
 
134
Upgrading
 
135
=========
 
136
If you upgrade from version <= 0.9, please remove `~/.lfmrc` to regenerate
 
137
a valid configuration file.
 
138
 
 
139
 
 
140
Keys
 
141
====
 
142
Though most of keys are the same as in mc_, some differs.
 
143
Here you have the complete list:
 
144
 
 
145
+ **Movement**
 
146
    - cursor_up, p, P
 
147
    - cursor_down, n, N
 
148
    - previous page, backspace, Ctrl-P
 
149
    - next page, space, Ctrl-N
 
150
    - home: first file
 
151
    - end: last file
 
152
    - cursor_left: upper dir
 
153
    - cursor_right: enter dir / vfs
 
154
    - g, G: go to directory
 
155
    - Ctrl-S: go to file in current panel
 
156
    - 0..9: go to bookmark #
 
157
    - Ctrl-D: select bookmark # from menu
 
158
    - b, B: set bookmark #
 
159
 
 
160
+ **Panels**
 
161
    - tab: other panel
 
162
    - .: toggle 1/2 panels
 
163
    - ,, Ctrl-U: change panels position (left->right, right->left)
 
164
    - =: show same directory in both panels
 
165
 
 
166
+ **Selections**
 
167
    - insert: select item and go to next file
 
168
    - +: select group
 
169
    - -: deselect group
 
170
    - \*: invert selection
 
171
 
 
172
+ **Files / Directories operations**
 
173
    - t, T: touch file
 
174
    - l, L: create link
 
175
    - Ctrl-L: edit link
 
176
    - v, V, F3: view file
 
177
    - e, E, F4: edit file
 
178
    - c, C, F5: copy file/dir/selection
 
179
    - m, M, F6: move file/dir/selection
 
180
    - r, R: easy way to rename file/dir/selection
 
181
    - F7: make directory
 
182
    - d, D, F8, del: delete file/dir/selection
 
183
    - enter: execute file, enter dir / vfs or view 'specially' depending on the extension of the regular file. It is executed in a thread that can be stopped and captures output
 
184
    - i, I: show file info
 
185
 
 
186
+ **Other**
 
187
    - #: show directories size
 
188
    - s, S: sort files
 
189
    - /: find/grep files
 
190
    - @: do something on file. Output is not captured, it is also not executed in a thread
 
191
    - Ctrl-O: open shell. Type 'exit' to return to lfm
 
192
    - Ctrl-T: tree
 
193
    - f, F, F2: file menu
 
194
        - @: Do something on file(s)
 
195
        - i: File(s) info
 
196
        - p: Change file permissions, owner, group
 
197
        - g: Gzip/gunzip file(s)
 
198
        - b: Bzip2/bunzip2 file(s)
 
199
        - x: Uncompress .tar.gz, .tar.bz2, .tar.Z
 
200
        - u: Uncompress .tar.gz, etc in other panel
 
201
        - c: Compress directory to .tar.gz
 
202
        - d: Compress directory to .tar.bz2
 
203
    - F9: general menu 
 
204
        - /: Find/grep file
 
205
        - #: show directories size
 
206
        - s: sort files
 
207
        - t: tree
 
208
        - f: show filesystems info
 
209
        - o: open shell
 
210
        - c: edit configuration
 
211
        - a: save configuration
 
212
    - Ctrl-R: refresh screen
 
213
    - h, H, F1: help
 
214
    - q, Q, F10: exit changing to current path
 
215
    - x, X: quit
 
216
 
 
217
 
 
218
+ Keys in *EntryLine* window:
 
219
    - up, down: historic
 
220
    - enter: return path
 
221
    - tab: change to next entry or button
 
222
    - Ctrl-T: complete
 
223
    - Ctrl-W: delete leftwards until /
 
224
    - Ctrl-D: delete all
 
225
    - left, right, home, end, backspace, del, insert, ...
 
226
    - Ctrl-C, ESC: quit
 
227
 
 
228
+ Keys in *SelectItem* window:
 
229
    - up, p, P
 
230
    - down, n, N
 
231
    - next page, space
 
232
    - previous page, backspace
 
233
    - home
 
234
    - end
 
235
    - Ctrl-S: go to file/dir
 
236
    - enter: return path
 
237
    - Ctrl-C, q, Q, ESC: quit
 
238
 
 
239
+ Keys in *Tree* panel:
 
240
    - up, p, P: up within current depth, without going out from directory
 
241
    - down, n, N: down within current depth, without going out from directory
 
242
    - previous page, backspace, Ctrl-P: same as up but page-size scroll
 
243
    - next page, space, Ctrl-N: same as down but page-size scroll
 
244
    - home: first directory
 
245
    - end: last directory
 
246
    - left: go out from directory
 
247
    - right: enter in directory
 
248
    - enter: return changing to directory
 
249
    - Ctrl-C, q, Q, F10, ESC: quit
 
250
 
 
251
 
 
252
VFS
 
253
===
 
254
You can navigate inside some special files (known as vfs files in lfm) just 
 
255
*entering into* them (press *enter* or *cursor_right* when the cursor bar is
 
256
over one of these files). By now, supported types are `.tar.gz`,
 
257
`.tar.bz2` and `.zip` files. 
 
258
 
 
259
The virtual directory name ('path_to_vfs_file#vfs/dir') is not propagated, so 
 
260
tmpdir (`/tmp/@6421.2/dir`) is showed in the copy/move/... dialogs or when
 
261
view/edit/... a file, but this is just an estetic issue.
 
262
 
 
263
When returning from one of such vfs files, a question dialog is showed to
 
264
allow you regenerate the vfs file (i.e., it is recompressed, so it could be
 
265
slow in some machines) to update all modifications, but `lfm` checks if it can
 
266
first, to avoid waste of time. This behaviour (rebuild or not rebuild, ask it
 
267
or not) can be modified in the configuration file. By default the question is
 
268
showed but it's set to *don't regenerate vfs*.
 
269
In case of `panelize` vfs type (after find/grep), deleted / moved files
 
270
are not deleted / moved in real path.
 
271
 
 
272
 
 
273
History
 
274
=======
 
275
Some years ago I began to write a program like this in C, but after
 
276
some weeks of coding I never finished it... I'm too lazy, yes.
 
277
Now, once I saw the light, I started writing `lfm` to learn python_.
 
278
 
 
279
 
 
280
Thanks
 
281
======
 
282
Thanks are obviously due to the whole python community, specially to GvR 
 
283
(of course! ;-) and all the people who answered my questions in c.l.p.
 
284
It's a great pleasure to code in a language like this.
 
285
 
 
286
Alexei Gilchrist, for his cfm program from which I took some ideas.
 
287
 
 
288
Midnight Commander developers, whose program was the guide.
 
289
 
 
290
[This documentation has generated with `reStructuredText`__]
 
291
 
 
292
 
 
293
.. _sources: lfm-0.91.tar.gz
 
294
.. _README.pyview: README.pyview.html
 
295
.. _NEWS: NEWS
 
296
.. _ChangeLog: ChangeLog
 
297
.. _COPYING: COPYING
 
298
.. _GPL: http://www.gnu.org/licenses/licenses.html#GPL
 
299
.. _mc: http://www.ibiblio.org/mc/
 
300
.. _python: http://www.python.org
 
301
.. _reST: http://docutils.sourceforge.net/rst.html
 
302
__ GPL_
 
303
__ mc_
 
304
__ reST_
 
305
.. _lfm-0.91.tar.gz: lfm-0.91.tar.gz
 
306
.. _lfm-0.9.tar.gz: lfm-0.9.tar.gz
 
307
.. _lfm-0.8.tar.gz: lfm-0.8.tar.gz
 
308
.. _lfm-0.7.tar.gz: lfm-0.7.tar.gz
 
309
.. _lfm-0.5.tar.gz: lfm-0.5.tar.gz
 
310
.. _lfm-0.4.tar.gz: lfm-0.4.tar.gz