1 Mon Sep 3 23:03:32 2007 Iñigo Serna <inigoserna@telefonica.net>
3 * lfm/__init__.py: version 2.0
8 Mon Sep 3 22:59:56 2007 Iñigo Serna <inigoserna@telefonica.net>
10 * README: update documentation to describe new features, changes, etc
17 Sun Sep 2 20:12:56 2007 Iñigo Serna <inigoserna@telefonica.net>
19 * lfm/config.py: added new file types extensions
21 Sun Sep 2 17:23:01 2007 Iñigo Serna <inigoserna@telefonica.net>
23 * lfm/actions.py (findgrep): panelize: clean code
25 Sun Sep 2 17:13:43 2007 Iñigo Serna <inigoserna@telefonica.net>
27 * lfm/actions.py (__do_change_perms): refactor: new function
29 Sun Sep 2 17:05:56 2007 Iñigo Serna <inigoserna@telefonica.net>
31 * lfm/actions.py (show_dirs_size): simplify code
33 Sun Sep 2 16:02:15 2007 Iñigo Serna <inigoserna@telefonica.net>
35 * lfm/pyview.py (PyView.run): fix bug: goto line/byte 0
37 Sat Sep 1 15:57:56 2007 Iñigo Serna <inigoserna@telefonica.net>
39 * lfm/pyview.py (PyView): use standard lib logging module in debug
42 Sat Sep 1 15:53:16 2007 Iñigo Serna <inigoserna@telefonica.net>
44 * lfm/pyview.py (FileView.show_text_wrap): simplify and clean code
45 * lfm/pyview.py (FileView.show_text_nowrap):
46 * lfm/pyview.py (FileView.show_hex):
47 * lfm/pyview.py (FileView.run):
49 Sat Sep 1 13:36:40 2007 Iñigo Serna <inigoserna@telefonica.net>
51 * lfm/pyview.py (FileView.show_str): fix bug: sometimes a blank
54 Fri Aug 31 23:53:11 2007 Iñigo Serna <inigoserna@telefonica.net>
56 * lfm/messages.py (EntryLine.manage_keys): refresh app display
57 after canceling completion
59 Fri Aug 31 23:48:01 2007 Iñigo Serna <inigoserna@telefonica.net>
61 * lfm/messages.py (cursor_show2): move from lfm.py
62 * lfm/messages.py (cursor_show):
63 * lfm/messages.py (cursor_hide):
65 Fri Aug 31 13:23:46 2007 Iñigo Serna <inigoserna@telefonica.net>
67 * lfm/files.py (__do_sort): fix bug: "sort_mix_cases = 1
68 performance degrades on larger dirs". Reported by Andrey
69 Skvortsov. This speeds up loading directory contents quite a lot
71 Fri Aug 31 10:32:45 2007 Iñigo Serna <inigoserna@telefonica.net>
73 * lfm/files.py: move all constants to the top of the module
75 Fri Aug 31 10:26:43 2007 Iñigo Serna <inigoserna@telefonica.net>
77 * lfm/files.py (get_rdev): clean code
79 Fri Aug 31 02:02:34 2007 Iñigo Serna <inigoserna@telefonica.net>
81 * lfm/files.py (mkdtemp): use more secure tempfile.mkdtemp
82 * lfm/vfs.py (init): use files.mkdtemp
84 * lfm/vfs.py (pan_init):
85 * lfm/vfs.py (pan_copy):
86 * lfm/files.py (mktemp): use more secure tempfile.mkstemp
87 * lfm/pyview.py (create_temp_for_stdin):
88 * lfm/vfs.py (regenerate_file): as files.mktemp calls
89 tempfile.mkstemp we don't need modify mask too
91 Fri Aug 31 01:20:55 2007 Iñigo Serna <inigoserna@telefonica.net>
93 * lfm/actions.py (do_change_perms): refactoring: new function
95 Thu Aug 30 23:36:10 2007 Iñigo Serna <inigoserna@telefonica.net>
97 * lfm/actions.py (cursor_right): now pressing cursor_right
98 is the same as pressing enter
100 Thu Aug 30 22:37:06 2007 Iñigo Serna <inigoserna@telefonica.net>
102 * lfm/actions.py (Tree.run): fix bug: catch window resize
103 * lfm/actions.py (Tree.__calculate_dims): refactor method
105 Thu Aug 30 20:01:55 2007 Iñigo Serna <inigoserna@telefonica.net>
107 * lfm/actions.py (touch_file): fix bug: escape filenames
108 with chars $ ". Reported by Andrey Skvortsov
109 * lfm/actions.py (open_shell):
110 * lfm/actions.py (do_special_view_file):
111 * lfm/actions.py (do_view_file):
112 * lfm/actions.py (do_edit_file):
113 * lfm/actions.py (do_execute_file):
114 * lfm/actions.py (do_something_on_file):
115 * lfm/actions.py (do_show_file_info.show_info):
117 Thu Aug 30 18:30:26 2007 Iñigo Serna <inigoserna@telefonica.net>
119 * lfm/lfm.py (Vfs.get_file): refactoring: new method
120 * lfm/lfm.py (Vfs.get_fullpathfile): refactoring: new method
121 * lfm/utils.py (get_escaped_filename): refactoring: new functions
122 * lfm/utils.py (get_escaped_command):
123 * lfm/utils.py (run_on_current_file):
125 Thu Aug 30 16:41:43 2007 Iñigo Serna <inigoserna@telefonica.net>
127 * lfm/pyview.py (FileView.__init__): fix bug: pyview messages.py
128 couldn't access window dimensions so it crashed
129 * lfm/pyview.py (InternalView.__init__):
131 Thu Aug 30 11:35:32 2007 Iñigo Serna <inigoserna@telefonica.net>
133 * lfm/lfm.py (usage): make error message more visible
135 Thu Aug 30 11:30:15 2007 Iñigo Serna <inigoserna@telefonica.net>
137 * lfm/lfm: check python version 2.3 or higher
138 * lfm/pyview: check python version 2.3 or higher
140 Thu Aug 30 11:13:49 2007 Iñigo Serna <inigoserna@telefonica.net>
142 * lfm/lfm.py (Pane.load_tabs_with_paths): fix bug: don't show ugly
143 traceback crash when user starts "lfm path" and has no permissions
144 to enter. Show error message and default to current directory
145 * lfm/lfm.py (TabVfs.init): propagate error back
147 Thu Aug 30 10:20:44 2007 Iñigo Serna <inigoserna@telefonica.net>
149 * lfm/lfm.py (lfm_start): modified the sequence in which tabs are
150 created and filled with path contents. Prepare code to support
153 * lfm/lfm.py (Lfm.__init__): pane contents are not filled in the
154 constructor anymore. Lfm.load_paths must be called explicitly
155 * lfm/lfm.py (Lfm.load_paths): new method
156 * lfm/lfm.py (Pane.load_tabs_with_paths): new method
157 * lfm/lfm.py (Pane.__init__):
158 * lfm/lfm.py (TabVfs.__init__): self.init is not called in the
159 constructor anymore. Pane.load_tabs_with_paths must be called
162 * lfm/lfm.py (Vfs.init_dir): the awful hack used here to get
163 preferences the first time is not needed anymore
164 * lfm/lfm.py (TabVfs.init):
166 Thu Aug 30 01:56:17 2007 Iñigo Serna <inigoserna@telefonica.net>
168 * lfm/utils.py (do_findgrep): escape '-' character in grep patterns
170 Thu Aug 30 01:51:36 2007 Iñigo Serna <inigoserna@telefonica.net>
172 * lfm/config.py: back to original '.lfmrc' configuration file name
174 Thu Aug 30 01:28:11 2007 Iñigo Serna <inigoserna@telefonica.net>
176 * lfm/lfm.py (Vfs.enter_dir): Refactor code from actions.py to
178 * lfm/lfm.py (Vfs.exit_dir):
179 * lfm/actions.py (cursor_left):
180 * lfm/actions.py (cursor_right):
181 * lfm/actions.py (enter):
183 * lfm/lfm.py (Vfs.enter_dir): fix bug: "if you try to enter a
184 directory with insufficient permissions, after the error message
185 is closed the cursorline refreshes to the first line""
186 This bug was first observed by Andrey, fixed by me
188 Thu Aug 30 01:13:13 2007 Iñigo Serna <inigoserna@telefonica.net>
190 * lfm/lfm.py (Vfs.init): mark method as virtual
192 Thu Aug 30 00:57:20 2007 Iñigo Serna <inigoserna@telefonica.net>
194 * lfm/lfm.py (Vfs.init_dir): error dialog must be in UI class
195 * lfm/lfm.py (TabVfs.init):
197 Wed Aug 29 17:41:26 2007 Iñigo Serna <inigoserna@telefonica.net>
199 * lfm/messages.py (CommonWindow.__init__): change curses.COLS and
200 curses.LINES by app.maxw and app.maxh fixing the position of
201 dialogs in maximized terminals.
202 Curses.{COLS|LINES} are constants defined at curses library start
203 and they don't modify their values when window resizes
204 * lfm/messages.py (FixSizeCommonWindow.__init__):
205 * lfm/messages.py (FixSizeProgressBarWindow.__init__):
206 * lfm/messages.py (FixSizeProgressBarWindow.show):
207 * lfm/messages.py (Yes_No_Buttons.__init__):
208 * lfm/messages.py (Entry.__init__):
209 * lfm/messages.py (get_a_key):
210 * lfm/messages.py (confirm):
211 * lfm/messages.py (confirm_all(:)
212 * lfm/messages.py (confirm_all_none):
213 * lfm/messages.py (DoubleEntry):
214 * lfm/messages.py (SelectItem):
215 * lfm/messages.py (FindfilesWin):
216 * lfm/messages.py (MenuWin):
217 * lfm/messages.py (ChangePerms):
219 Mon Aug 27 23:07:24 2007 Iñigo Serna <inigoserna@telefonica.net>
221 * lfm/lfm.py (StatusBar.display): fix crashes when filenames are
222 not encoded with same codec than LC tells us
223 * lfm/lfm.py (Pane.display_tabs):
224 * lfm/lfm.py (Pane.display_files):
225 * lfm/lfm.py (Pane.get_fileinfo_str_short):
226 * lfm/lfm.py (Pane.get_fileinfo_str_long):
227 * lfm/utils.py (encode): util functions to encode/decode filenames
228 * lfm/utils.py (decode):
230 Mon Aug 27 21:11:06 2007 Iñigo Serna <inigoserna@telefonica.net>
232 * lfm/lfm.py (Pane.manage_keys): the most expected fix to the
233 problems when maximizing windows. It was a stupid
234 curses.doupdate() missed. Andrey Skvortsov did it again!
235 Thanks, I ought you a beer.
237 Mon Aug 27 20:56:52 2007 Iñigo Serna <inigoserna@telefonica.net>
239 * lfm/__init__.py: support locale. Andrey Skvortsov
240 * lfm/lfm.py (StatusBar.display):
241 * lfm/lfm.py (Pane.display_tabs):
242 * lfm/lfm.py (Pane.display_files):
243 * lfm/lfm.py (Vfs.get_fileinfo_str_short):
244 * lfm/lfm.py (Vfs.get_fileinfo_str_long):
246 Mon Aug 27 20:03:50 2007 Iñigo Serna <inigoserna@telefonica.net>
248 * lfm/lfm.py (Pane.__calculate_dims): right pane fill to the
249 last column in terminal if their number is odd. Andrey Skvortsov
250 * lfm/lfm.py (Pane.__calculate_columns):
252 Mon Aug 27 19:58:02 2007 Iñigo Serna <inigoserna@telefonica.net>
254 * lfm/lfm.py (Lfm.quit_program): refactoring: new method
256 Mon Aug 27 17:52:18 2007 Iñigo Serna <inigoserna@telefonica.net>
258 * lfm/actions.py (select_group): clean code. Andrey Skvortsov
260 Mon Aug 27 17:20:02 2007 Iñigo Serna <inigoserna@telefonica.net>
262 * lfm/lfm.py (Vfs.get_fileinfo_str_short): clean code
263 * lfm/lfm.py (Vfs.get_fileinfo_str_long):
265 Mon Aug 27 16:53:50 2007 Iñigo Serna <inigoserna@telefonica.net>
267 * lfm/lfm.py (Pane.display_files): colorize by files
268 extension. By Andrey Skvortsov
269 * lfm/lfm.py (Pane.get_filetypecolorpair): new function
270 * lfm/lfm.py (Lfm.init_ui): added colors for files by extension
271 * lfm/config.py: added option color_files
272 * lfm/config.py: added colors for fiels by extension
274 Mon Aug 27 16:42:12 2007 Iñigo Serna <inigoserna@telefonica.net>
276 * lfm/lfm.py (Pane.display_files): replace old code with Andrey's
277 beautiful and clean code'
278 * lfm/lfm.py (Pane.__calculate_scrollbar_dims):
280 Mon Aug 27 13:47:36 2007 Iñigo Serna <inigoserna@telefonica.net>
282 * lfm/config.py (load): consider path expand. Andrey Skvortsov
284 Mon Aug 27 13:40:55 2007 Iñigo Serna <inigoserna@telefonica.net>
286 * lfm/actions.py (new_tab): Correct English messages.
288 * lfm/actions.py (close_tab):
290 Mon Aug 27 12:41:26 2007 Iñigo Serna <inigoserna@telefonica.net>
292 * lfm/compress.py (PackagerTBZ2): user -i (--ignore-zeros) flag to
293 avoid spureous warnings. Andrey Skvortsov
294 * lfm/compress.py (PackagerTGZ):
296 Tue Jul 31 01:19:11 2007 Iñigo Serna <inigoserna@telefonica.net>
298 * lfm/files.py (get_fs_info): fix crash when "df" shows entries in
299 two different lines (dev is too large, f.e. in lvm2 volumes)
301 Tue Jul 31 00:17:22 2007 Iñigo Serna <inigoserna@telefonica.net>
303 * lfm/lfm.py (Vfs.__init__): fix a stupid bug
305 Tue Jul 31 00:12:16 2007 Iñigo Serna <inigoserna@telefonica.net>
307 * lfm/lfm.py (Lfm.run): simplify code
308 * lfm/lfm.py (Pane.init_ui):
309 * lfm/lfm.py (Pane.display_tabs):
310 * lfm/lfm.py (Pane.display_cursorbar):
312 Mon Jul 30 23:11:09 2007 Iñigo Serna <inigoserna@telefonica.net>
314 * lfm/lfm.py (Lfm.init_ui): rewrite code to not repeat default
317 Mon Jul 30 12:25:15 2007 Iñigo Serna <inigoserna@telefonica.net>
319 * lfm/messages.py (EntryLine.manage_keys): added keycode 127,
320 as konsole interprets backspace as such, again Andrey Skvortsov
322 Mon Jul 30 11:57:39 2007 Iñigo Serna <inigoserna@telefonica.net>
324 * lfm/lfm.py (Pane.manage_keys): python suggests to use while 1
325 to while True in speed sensitive routines. Nicely noticed by
328 Mon Jul 30 11:54:53 2007 Iñigo Serna <inigoserna@telefonica.net>
330 * lfm/compress.py (PackagerZIP): zip flag needs to be -q instead
331 of -X, catched by Andrey Skvortsov
333 Mon Jul 30 11:52:07 2007 Iñigo Serna <inigoserna@telefonica.net>
335 * lfm/vfs.py (exit): 'ans' variable initilization was missing,
336 catched by Andrey Skvortsov
338 Sat May 14 00:10:45 2005 Iñigo Serna <inigoserna@telefonica.net>
340 * lfm/actions.py (do_execute_file): fixed bug
342 Fri May 13 00:32:59 2005 Iñigo Serna <inigoserna@telefonica.net>
344 * lfm/utils.py (do_findgrep): fixed stupid bug, status was missing
346 Fri May 13 00:24:46 2005 Iñigo Serna <inigoserna@telefonica.net>
348 * lfm/utils.py (IPC): new InterProcessCommunication API
349 * lfm/utils.py (ProcessBaseLoop): use IPC class, clean code
350 * lfm/utils.py (ProcessFunc): use IPC class, clean code
352 Thu May 12 23:50:37 2005 Iñigo Serna <inigoserna@telefonica.net>
354 * lfm/actions.py (show_dirs_size):
355 FIXED BUG: if stopped by user len(results) < len(dirs)
357 Thu May 12 00:20:21 2005 Iñigo Serna <inigoserna@telefonica.net>
359 * lfm/utils.py (ProcessBaseLoop.check_keys): fixed bug
361 Mon May 9 00:21:39 2005 Iñigo Serna <inigoserna@telefonica.net>
363 * lfm/utils.py (run_thread): old API deleted
364 * lfm/utils.py (ProcessLoop): old API deleted
366 Mon May 9 00:17:28 2005 Iñigo Serna <inigoserna@telefonica.net>
368 * lfm/vfs.py (init): adapted to new ProcessFunc, code cleaned,
369 improved error handling
370 * lfm/vfs.py (regenerate_file):
372 Mon May 9 00:14:00 2005 Iñigo Serna <inigoserna@telefonica.net>
374 * lfm/utils.py (do_compress_uncompress_file): cleaned and
375 rewritten to use ProcessUnCompressLoop
376 * lfm/utils.py (compress_uncompress_file):
377 * lfm/utils.py (do_uncompress_dir):
378 * lfm/utils.py (uncompress_dir):
379 * lfm/utils.py (do_compress_dir):
380 * lfm/utils.py (compress_dir):
382 Sun May 8 23:55:20 2005 Iñigo Serna <inigoserna@telefonica.net>
384 * lfm/utils.py (do_findgrep): adapted to new ProcessFunc, code
385 cleaned, improved error handling
386 * lfm/utils.py (do_find):
388 Sun May 8 23:49:47 2005 Iñigo Serna <inigoserna@telefonica.net>
390 * lfm/actions.py (findgrep): improve errors handling
392 Sun May 8 23:43:23 2005 Iñigo Serna <inigoserna@telefonica.net>
394 * lfm/actions.py (do_execute_file): use new ProcessFunc
396 Sun May 8 23:41:37 2005 Iñigo Serna <inigoserna@telefonica.net>
398 * lfm/utils.py (ProcessFunc): cleaned and improved
399 * lfm/utils.py (run_shell): cleaned and improved
401 Sun May 8 23:40:11 2005 Iñigo Serna <inigoserna@telefonica.net>
403 * lfm/actions.py (show_dirs_size): use ProcessDirSizeLoop
404 * lfm/actions.py (do_show_dirs_size):
406 Sun May 8 23:38:45 2005 Iñigo Serna <inigoserna@telefonica.net>
408 * lfm/actions.py (copy): cleaned and rewritten to use Process*Loop API
409 * lfm/actions.py (move):
410 * lfm/actions.py (rename):
411 * lfm/actions.py (delete):
413 Sun May 8 23:01:29 2005 Iñigo Serna <inigoserna@telefonica.net>
415 * lfm/files.py (copy): code cleaning and function arguments arranged
416 * lfm/files.py (move):
417 * lfm/files.py (delete):
419 Sun May 8 22:27:22 2005 Iñigo Serna <inigoserna@telefonica.net>
421 * lfm/utils.py (ProcessBaseLoop): new base virtual class
422 * lfm/utils.py (ProcessDirSizeLoop: new API
423 * lfm/utils.py (ProcessUnCompressLoop):
424 * lfm/utils.py (ProcessCopyMoveLoop):
425 * lfm/utils.py (ProcessRenameLoop):
426 * lfm/utils.py (ProcessDeleteLoop):
428 Sun May 1 16:42:41 2005 Iñigo Serna <inigoserna@telefonica.net>
430 * lfm/utils.py (ProcessLoop.show_win): use progressbar window
431 * lfm/utils.py (ProcessLoop.process_output):
433 * lfm/messages.py (FixSizeProgressBarWindow): new dialog
434 * lfm/messages.py (winprogress_nokey): wrapper for FixSizeProgressBarWindow
436 Sun May 1 01:18:47 2005 Iñigo Serna <inigoserna@telefonica.net>
438 * lfm/utils.py (do_uncompress_dir):
439 * lfm/utils.py (do_compress_dir):
440 FIXED BUG: delete garbage if user stops process
441 * lfm/compress.py (PackagerBase.delete_uncompress_temp):
442 * lfm/compress.py (PackagerBase.delete_compress_temp):
444 * lfm/vfs.py (regenerate_file):
446 Sun May 1 00:19:23 2005 Iñigo Serna <inigoserna@telefonica.net>
448 * lfm/utils.py (ProcessFunc.check_keys): fixed typo
450 Sat Apr 30 22:54:28 2005 Iñigo Serna <inigoserna@telefonica.net>
452 * lfm/actions.py (do_special_view_file): use run_dettached
453 and don't show crap messages from started app
454 * lfm/utils.py (run_dettached): new function
456 Sat Apr 30 16:55:14 2005 Iñigo Serna <inigoserna@telefonica.net>
458 * lfm/utils.py (do_findgrep):
459 FIXED BUG: special chars should be escaped, f.e. \ ( ) [ ]
461 Sat Apr 30 16:25:36 2005 Iñigo Serna <inigoserna@telefonica.net>
463 * lfm/actions.py (enter):
464 FIXED BUG: "enter" tries to create a vfs from a simple
465 bzipped or gzipped file
467 Sat Apr 30 13:12:08 2005 Iñigo Serna <inigoserna@telefonica.net>
469 * lfm/utils.py (do_find): FIXED BUG: crashed when no results
470 * lfm/utils.py (do_findgrep):
472 Fri Apr 29 00:55:47 2005 Iñigo Serna <inigoserna@telefonica.net>
474 * lfm/actions.py (create_link): fixed a bug
476 Fri Apr 1 00:02:14 2005 Iñigo Serna <inigoserna@telefonica.net>
478 * lfm/utils.py (do_findgrep):
479 FIXED BUG: when found a match in a binary file, the output text is
480 not formatted in the way we wanted
482 Wed Mar 30 22:42:44 2005 Iñigo Serna <inigoserna@telefonica.net>
484 * lfm/files.py (get_fileinfo_dict): fixed a typo
486 Wed Mar 30 21:40:13 2005 Iñigo Serna <inigoserna@telefonica.net>
488 * lfm/utils.py (do_findgrep): using new ProcessFunc and run_shell
489 * lfm/utils.py (do_find):
491 * lfm/utils.py (do_compress_uncompress_file): using new
492 ProcessFunc and run_shell
493 * lfm/utils.py (do_uncompress_dir):
494 * lfm/utils.py (do_compress_dir):
495 * lfm/utils.py (compress_uncompress_file): using new ProcessLoop
496 * lfm/utils.py (uncompress_dir):
497 * lfm/utils.py (compress_dir):
499 * lfm/vfs.py (init): using new utils.do_uncompress_dire
500 * lfm/vfs.py (regenerate_file): using new ProcessFunc
502 * lfm/actions.py (show_dirs_size): using new ProcessLoop
503 * lfm/actions.py (do_execute_file): using new ProcessFunc
505 Wed Mar 30 21:34:30 2005 Iñigo Serna <inigoserna@telefonica.net>
507 * lfm/utils.py (ProcessLoop): rewritten
508 * lfm/utils.py (ProcessFunc): rewritten
509 * lfm/utils.py (run_shell): rewritten, to be executed inside ProcessFunc
511 Wed Mar 30 21:31:51 2005 Iñigo Serna <inigoserna@telefonica.net>
513 * lfm/utils.py (ProcessBase): removed
514 * lfm/utils.py (ProcessShell): removed, run_shell inside ProcessFunc
516 Wed Mar 30 21:27:20 2005 Iñigo Serna <inigoserna@telefonica.net>
518 * lfm/actions.py (delete): cosmetic changes
520 Tue Mar 29 23:28:07 2005 Iñigo Serna <inigoserna@telefonica.net>
522 * lfm/messages.py (confirm_all): add a skip_all option
523 * lfm/messages.py (confirm_all): fix a silly bug ord
524 * lfm/messages.py (confirm):
526 Mon Mar 28 03:26:25 2005 Iñigo Serna <inigoserna@telefonica.net>
528 * lfm/utils.py (compress_uncompress_file): now use ProcessLoop
529 * lfm/utils.py (uncompress_dir):
530 * lfm/utils.py (compress_dir):
532 Mon Mar 28 03:26:14 2005 Iñigo Serna <inigoserna@telefonica.net>
534 * lfm/utils.py (do_compress_uncompress_file): now use ProcessShell
535 * lfm/utils.py (do_uncompress_dir):
536 * lfm/utils.py (do_compress_dir):
537 * lfm/utils.py (do_findgrep):
538 * lfm/utils.py (do_find):
539 * lfm/actions.py (do_execute_file):
540 * lfm/vfs.py (regenerate_file):
542 Mon Mar 28 03:23:53 2005 Iñigo Serna <inigoserna@telefonica.net>
544 * lfm/utils.py (ProcessBase.init_gui): obbey gui flag
545 * lfm/utils.py (ProcessBase.end_gui):
546 * lfm/utils.py (ProcessBase.show_win):
547 * lfm/utils.py (ProcessBase.animate_cursor):
548 * lfm/utils.py (ProcessBase.check_keys):
550 Mon Mar 28 03:22:57 2005 Iñigo Serna <inigoserna@telefonica.net>
552 * lfm/utils.py (ProcessShell): execute a shell command.
553 Obsoletes run_shell function
555 Thu Mar 24 01:31:47 2005 Iñigo Serna <inigoserna@telefonica.net>
557 * lfm/actions.py (show_dirs_size): use ProcessLoop
558 * lfm/actions.py (do_show_dirs_size):
560 Thu Mar 24 01:29:06 2005 Iñigo Serna <inigoserna@telefonica.net>
562 * lfm/utils.py (ProcessBase): abstract class to execute functions
563 or commands in background. It will obsolete run_thread, run_shell
565 * lfm/utils.py (ProcessFunc): execute a function
566 * lfm/utils.py (ProcessLoop): execute a loop
568 Thu Mar 24 01:26:47 2005 Iñigo Serna <inigoserna@telefonica.net>
570 * lfm/utils.py (loop_child_process): function name changed,
571 "child_process" is now "loop_child_process"
572 * lfm/utils.py (run_loop): use "loop_child_process"
573 * lfm/utils.py (get_shell_output): delete old debug print
574 * lfm/utils.py (get_shell_output2): delete old debug print
576 Wed Mar 23 01:06:46 2005 Iñigo Serna <inigoserna@telefonica.net>
578 * lfm/actions.py (do_execute_file): use run_shell
579 * lfm/actions.py (do_do_execute_file): removed, not needed anymore
581 Wed Mar 23 00:08:20 2005 Iñigo Serna <inigoserna@telefonica.net>
583 * lfm/actions.py (show_dirs_size): function rewritten using
584 run_loop, but don't work as child can't modify app data
585 * lfm/actions.py (do_show_dirs_size): new function
587 Tue Mar 22 22:03:17 2005 Iñigo Serna <inigoserna@telefonica.net>
589 * lfm/actions.py (show_dirs_size): clean code
590 * lfm/files.py (__get_size): use get_shell_output2
591 * lfm/files.py (get_fileinfo): pardir_flag and show_dirs_size
592 are boolean now, not int
593 * lfm/utils.py (get_shell_output2): new function
594 get output from a command run in shell, no stderr
596 Tue Mar 22 21:04:44 2005 Iñigo Serna <inigoserna@telefonica.net>
598 * lfm/actions.py (findgrep): clean code
599 * lfm/utils.py (do_findgrep): clean code, call run_shell now
600 * lfm/utils.py (do_find):
602 Tue Mar 22 21:01:03 2005 Iñigo Serna <inigoserna@telefonica.net>
604 * lfm/utils.py (run_shell): added return_output flag
605 if true return output, else return status
607 Tue Mar 22 20:00:33 2005 Iñigo Serna <inigoserna@telefonica.net>
609 * lfm/__init__.py (sysprogs): added xargs
611 Tue Mar 22 17:49:16 2005 Iñigo Serna <inigoserna@telefonica.net>
613 * lfm/files.py: moved 'findgrep' and 'find' functions to utils.py
614 * lfm/utils.py (do_findgrep): moved function from files.py,
615 name changed to avoid collision
616 * lfm/utils.py (do_find): moved function from files.py,
617 name changed to avoid collision
618 * lfm/actions.py (findgrep): use functions from utils.py
620 Tue Mar 22 17:30:57 2005 Iñigo Serna <inigoserna@telefonica.net>
622 * lfm/utils.py (get_shell_output): moved from old files.py:exec_cmd2
623 * lfm/files.py (exec_cmd2): moved to utils.py:get_shell_output
624 * lfm/files.py (exec_cmd): removed function
625 * lfm/preferences.py (Preferences.check_progs):
626 use utils.py:get_shell_output
628 Tue Mar 22 17:10:01 2005 Iñigo Serna <inigoserna@telefonica.net>
630 * lfm/__init__.py (sysprogs): added find, grep, egrep, which
631 * lfm/__init__.py (defaultprogs): removed find, grep, egrep
632 * lfm/actions.py (findgrep): use 'find' and 'egrep'
633 from __init__.py:sysprogs
635 Tue Mar 22 16:51:34 2005 Iñigo Serna <inigoserna@telefonica.net>
637 * lfm/__init__.py (sysprogs): hardcoding is a bad idea
638 "tar, bzip2, gzip, zip, unzip, rar, grep, find" defined here
639 * lfm/compress.py: use __init__.py:sysprogs
640 * lfm/pyview.py (FileView.__find): use __init__.py:sysprogs
642 Tue Mar 22 14:30:13 2005 Iñigo Serna <inigoserna@telefonica.net>
644 * lfm/pyview.py (FileView.__init__): grep is harcoded now,
645 no need to look for it => faster start
646 * lfm/pyview.py (FileView.__find): changed os.popen for os.popen3
647 to capture error if grep is not found
648 * lfm/pyview.py (exec_cmd): removed, not needed anymore
650 Tue Mar 22 13:23:20 2005 Iñigo Serna <inigoserna@telefonica.net>
653 FIXED BUG: make this work after last changes in run_shell
654 * lfm/vfs.py (regenerate_file):
656 Tue Mar 22 13:03:57 2005 Iñigo Serna <inigoserna@telefonica.net>
658 * lfm/utils.py (run_shell): changes to run inside run_loop
659 * lfm/utils.py (do_compress_uncompress_file):
660 * lfm/utils.py (do_uncompress_dir):
661 * lfm/utils.py (uncompress_dir):
662 * lfm/utils.py (do_compress_dir):
663 * lfm/utils.py (compress_dir):
665 Tue Mar 22 13:03:09 2005 Iñigo Serna <inigoserna@telefonica.net>
667 * lfm/utils.py (run_loop): new API to execute a function for
668 each element in a list
669 * lfm/utils.py (child_process):
671 Tue Mar 22 13:02:53 2005 Iñigo Serna <inigoserna@telefonica.net>
673 * lfm/utils.py (run_thread): some stylist changes
675 Mon Mar 21 23:34:33 2005 Iñigo Serna <inigoserna@telefonica.net>
677 * lfm/messages.py (EntryLine.show):
678 FIXED BUG: EntryLine wasn't showed completely
680 Mon Mar 21 23:24:41 2005 Iñigo Serna <inigoserna@telefonica.net>
682 * lfm/pyview.py (InternalView.init_curses):
683 FIXED BUG: crash in file info if long file name
685 Mon Mar 21 22:59:26 2005 Iñigo Serna <inigoserna@telefonica.net>
687 * lfm/lfm.py (LfmApp):
688 FIXED BUG: "lfm path1 path2" didn't work because shell lfm
689 function returned a string of args instead of a list which is
690 what we were asking for
692 Mon Mar 21 01:03:32 2005 Iñigo Serna <inigoserna@telefonica.net>
694 * lfm/actions.py (general_menu): new option: Regenerate programs
695 removed option: Save config, it's superfluous
696 * lfm/preferences.py (Preferences.__init__):
697 don't use defaultprogs directly, make a copy instead,
698 so we could regenerate them
700 Mon Mar 21 00:57:46 2005 Iñigo Serna <inigoserna@telefonica.net>
702 * lfm/lfm.py (Lfm.__init__):
703 don't check default programs at start so start is faster now
705 Sun Mar 20 23:51:36 2005 Iñigo Serna <inigoserna@telefonica.net>
707 * lfm/__init__.py (defaultprogs): tar, gzip, bzip2, zip, unzip
708 removed, these are system programs and must exist, so we don't
711 Sun Mar 20 21:24:00 2005 Iñigo Serna <inigoserna@telefonica.net>
713 * lfm/utils.py (run_shell): show error
714 FIXED BUG: get error if program finishes prematuraly
716 Sun Mar 20 19:38:55 2005 Iñigo Serna <inigoserna@telefonica.net>
718 * setup.py (setup): added forgotten lfm/compress
720 Sun Mar 20 18:04:30 2005 Iñigo Serna <inigoserna@telefonica.net>
722 * lfm/utils.py (run_shell): new function to execute command
723 in shell, run_thread will be obsoleted
725 Sun Mar 20 17:59:19 2005 Iñigo Serna <inigoserna@telefonica.net>
727 * lfm/vfs.py (init): updated to new compressing API, nicer code
729 * lfm/vfs.py (regenerate_file):
731 Sun Mar 20 17:50:59 2005 Iñigo Serna <inigoserna@telefonica.net>
733 * lfm/actions.py (cursor_right): updated to new compression API
734 * lfm/actions.py (enter):
735 * lfm/actions.py (file_menu): added RAR un/compression
737 Sun Mar 20 17:46:15 2005 Iñigo Serna <inigoserna@telefonica.net>
739 * lfm/utils.py (do_compress_uncompress_file): update to new
741 * lfm/utils.py (compress_uncompress_file):
742 * lfm/utils.py (do_uncompress_dir):
743 * lfm/utils.py (uncompress_dir):
744 * lfm/utils.py (do_compress_dir):
745 * lfm/utils.py (compress_dir):
747 Sun Mar 20 17:46:15 2005 Iñigo Serna <inigoserna@telefonica.net>
749 * lfm/compress.py: new source file, un/compressing staff
750 The new API is more modular and easier to use
751 Supported packagers: TBZ2, BZ2, TGZ, GZ, ZIP, RAR
753 Sun Mar 20 17:43:24 2005 Iñigo Serna <inigoserna@telefonica.net>
755 * lfm/utils.py (run_thread):
756 FIXED BUG: args passed to messages.win_nokey
758 Sun Mar 20 17:42:04 2005 Iñigo Serna <inigoserna@telefonica.net>
760 * lfm/__init__.py (DATE): updated
762 Sat Mar 19 15:34:05 2005 Iñigo Serna <inigoserna@telefonica.net>
764 * default.css: new file: style sheet to build html docs
766 Thu Oct 14 00:45:57 2004 Iñigo Serna <inigoserna@telefonica.net>
769 FIXED BUG: stopping vfs creation, doesn't return to original dir
771 Thu Oct 14 00:05:30 2004 Iñigo Serna <inigoserna@telefonica.net>
773 * lfm/actions.py (general_menu):
774 FIXED BUG: reload configuration after modifying it
776 Thu Oct 14 00:00:55 2004 Iñigo Serna <inigoserna@telefonica.net>
778 * lfm/messages.py (win): fixed a typo
780 Wed Oct 13 23:59:23 2004 Iñigo Serna <inigoserna@telefonica.net>
782 * lfm/lfm.py (Panel.manage_keys): speed up cursor move and try not
785 Mon Aug 2 00:28:37 2004 Iñigo Serna <inigoserna@telefonica.net>
786 * lfm/lfm.py.ok: deleted old files
789 Mon Jul 26 18:20:06 2004 Iñigo Serna <inigoserna@telefonica.net>
791 * setup.py: man pages must be installed in $PREFIX/share/man
793 Wed Jul 21 19:26:38 2004 Iñigo Serna <inigoserna@telefonica.net>
795 * lfm/files.py (fix_chars_in_filename):
796 FIX for debian bug #260401: some chars in filename make lfm crash
797 see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=260401
799 * lfm/files.py (get_fileinfo_dict): use fix_chars_in_filename
800 * lfm/lfm.py (Lfm.__show_bars):
803 Sat Jul 3 11:45:28 2004 Iñigo Serna <inigoserna@telefonica.net>
805 * lfm.1, pyview.1: man files, thanks to Sebastien Bacher for them
806 * setup.py: more metadata for pypi, install man files
808 Fri Jul 2 00:50:01 2004 Iñigo Serna <inigoserna@telefonica.net>
810 * lfm/lfm.py (Panel.__get_fileinfo_str_long): limit length of
811 owner and group strings
813 Thu Jul 1 11:50:52 2004 Iñigo Serna <inigoserna@telefonica.net>
815 * lfm/messages.py (MenuWin.__init__): fixed another crash because
816 of fucking curses.cur_set() returning ERR
818 Wed Jun 30 22:24:05 2004 Iñigo Serna <inigoserna@telefonica.net>
820 * setup.py: upgrade to version 0.91
824 Wed Jun 30 22:21:26 2004 Iñigo Serna <inigoserna@telefonica.net>
826 * README: documentation updated, use reST for easy generation of HTML
831 Mon Jun 28 00:31:55 2004 Iñigo Serna <inigoserna@telefonica.net>
833 * lfm/preferences.py (Preferences.__init__):
834 new option: show_dotfiles flag
835 * lfm/lfm.py (Panel.init_dir):
836 * lfm/files.py (get_dir):
838 Sun Jun 27 23:41:21 2004 Iñigo Serna <inigoserna@telefonica.net>
840 * lfm/preferences.py (Preferences.__init__):
841 new option: detach_terminal_at_exec flag
842 * lfm/actions.py (do_special_view_file): use detach_terminal_at_exec
844 Sun Jun 27 20:03:11 2004 Iñigo Serna <inigoserna@telefonica.net>
846 * lfm/preferences.py (Preferences.load): apps and file types can
847 be stored in configuration now
848 * lfm/preferences.py (Preferences.save):
850 Sun Jun 27 18:45:37 2004 Iñigo Serna <inigoserna@telefonica.net>
852 * lfm/pyview.py (PyView): always write debug info to pyview-log.debug
854 Sun Jun 27 18:27:49 2004 Iñigo Serna <inigoserna@telefonica.net>
856 * lfm/__init__.py (defaultprogs): now each app only has one
857 associated program, not a list of programs.
858 WARNING: this breaks old .lfmrc, but speeds up start
859 * lfm/lfm.py (Lfm.__init__): check for valid programs
860 * lfm/preferences.py (Preferences.__init__): only loads default
861 progs, but don't check them
862 * lfm/preferences.py (Preferences.check_progs): changed function
863 name from 'check_defaultprogs'
864 * lfm/actions.py (do_special_view_file): warn when can't open
865 special file and default to pager view
867 Sun Jun 27 16:34:11 2004 Iñigo Serna <inigoserna@telefonica.net>
869 * lfm/preferences.py (Preferences.load):
870 BUG FIXED: didn't load sort mode
872 Sun Jun 27 15:23:19 2004 Iñigo Serna <inigoserna@telefonica.net>
874 * lfm/messages.py (ChangePerms.manage_keys): show users and groups
875 sorted alphabetically
877 Sun Jun 27 14:57:18 2004 Iñigo Serna <inigoserna@telefonica.net>
879 * lfm/actions.py (file_menu): add support for uncompress in other panel
880 * lfm/utils.py (uncompress_dir):
881 * lfm/utils.py (do_uncompress_dir):
883 Sun Jun 27 03:10:27 2004 Iñigo Serna <inigoserna@telefonica.net>
885 * lfm/lfm.py: resizing implemented in lfm
886 * lfm/actions.py (keytable):
887 * lfm/actions.py (resize_window):
888 * lfm/lfm.py (Lfm.resize):
889 * lfm/lfm.py (Panel.do_resize):
890 * lfm/lfm.py (Lfm.__show_bars):
891 * lfm/lfm.py (Panel.show):
892 * lfm/lfm.py (Panel.__showbar):
893 * lfm/lfm.py (Panel.__calculate_columns): new useful functions
894 * lfm/lfm.py (Panel.__calculate_dims):
896 Sun Jun 27 02:10:06 2004 Iñigo Serna <inigoserna@telefonica.net>
898 * lfm/lfm.py (Lfm.__init__): eliminated deleted references to
900 * lfm/preferences.py (Preferences.__init__):
901 * lfm/preferences.py (Preferences.load):
902 * lfm/preferences.py (Preferences.save):
904 Sat Jun 26 23:49:49 2004 Iñigo Serna <inigoserna@telefonica.net>
906 * lfm/lfm.py (Panel.show):
907 - 1-panel view changed, now filename has more space
908 - file info formatting has been translated here
909 * lfm/lfm.py (Panel.__showbar):
910 file info formatting has been translated here
911 * lfm/lfm.py (Panel.__get_fileinfo_str_long): get file info
912 formatted string, 1-panel version
913 * lfm/lfm.py (Panel.__get_fileinfo_str_short): get file info
914 formatted string, 2-panel version
915 * lfm/files.py (get_fileinfo_dict):
916 - changed function name from 'get_fileinfo_str'
917 - now this function only returns info, not a formatted string
918 * lfm/files.py (get_fileinfostr_short): function eliminated, use
919 'get_fileinfo_dict' instead
921 Sat Jun 26 21:18:00 2004 Iñigo Serna <inigoserna@telefonica.net>
923 * pyview.py (FileView):
924 - resizing implemented in pyview
925 - amount of info is reduced in function of window size
926 * pyview.py (FileView.show_hex): show as much bytes as window size allows
928 Sat Jun 26 20:57:56 2004 Iñigo Serna <inigoserna@telefonica.net>
930 * messages.py (get_a_key): ESC now closes dialogs
931 * messages.py (confirm):
932 * messages.py (confirm_all):
933 * messages.py (Yes_No_Buttons.manage_keys):
934 * messages.py (EntryLine.manage_keys):
935 * messages.py (SelectItem.manage_keys):
936 * messages.py (FindfilesWin.manage_keys):
937 * messages.py (MenuWin.manage_keys):
938 * messages.py (ChangePerms.manage_keys):
939 * pyview.py (InternalView.run):
941 Sat Jun 26 16:27:34 2004 Iñigo Serna <inigoserna@telefonica.net>
943 * utils.py (compress_uncompress_file):
944 FIXED BUG: 'app' wasn't passed to 'run_thread'
945 * actions.py (Tree.run):
946 FIXED BUG: Ctrl-T Ctrl-T crashes tree view
948 Thu Dec 4 01:41:28 2003 Iñigo Serna <inigo@inigo.katxi.org>
950 * README: add " surrounding $* in bash function to allow lfm
951 start at dirs with space characters in name
953 Thu Dec 4 00:37:26 2003 Iñigo Serna <inigo@inigo.katxi.org>
955 * lfm/files.py (findgrep): fixed bug: grep with '-' char in pattern,
956 it was interpreted as grep option
958 Tue Dec 2 22:46:19 2003 Iñigo Serna <inigo@inigo.katxi.org>
960 * lfm/actions.py (select_bookmark): select bookmark from a menu.
961 Function associated to key Ctrl-D
963 Tue Dec 2 00:11:07 2003 Iñigo Serna <inigo@inigo.katxi.org>
965 * lfm/actions.py (rename): new feature
967 Tue Dec 2 00:08:57 2003 Iñigo Serna <inigo@inigo.katxi.org>
969 * lfm/actions.py (swap_panels): fixed a bug introduced when
970 lfm.py:panel.init_curses changed
972 Tue Dec 2 00:04:51 2003 Iñigo Serna <inigo@inigo.katxi.org>
974 * lfm/lfm.py: moved keys actions to actions.py file
975 * lfm/actions.py: keys actions
976 * lfm/utils.py: run_thread, un/compress functions
977 * lfm/vfs.py: vfs functions
979 Sun Apr 27 02:30:46 2003 Iñigo Serna <inigo@inigo.katxi.org>
981 * lfm/files.py (get_fileinfostr_short): fixed bug when files > 1Gb size
983 Sun Apr 27 00:26:09 2003 Iñigo Serna <inigo@inigo.katxi.org>
985 * lfm/__init__.py: coltbl is now here
987 Sun Apr 27 00:20:55 2003 Iñigo Serna <inigo@inigo.katxi.org>
989 * lfm/lfm.py (cursor_show): wrappers over curses.curs_set() with
990 * lfm/lfm.py (cursor_hide): try-except protection
992 Sat Apr 26 23:10:05 2003 Iñigo Serna <inigo@inigo.katxi.org>
994 * setup.py (classifiers): added classifiers
996 Sat Apr 26 23:08:37 2003 Iñigo Serna <inigo@inigo.katxi.org>
998 * *.py: added "# -*- coding: iso-8859-15 -*-" to conform with PEP 0263
1000 Wed Sep 4 01:04:57 2002 Iñigo Serna <inigo@lethe.infernus.org>
1002 * lfm/__init__.py (VERSION): released version 0.9
1005 Mon Sep 2 17:24:04 2002 Iñigo Serna <inigo@lethe.infernus.org>
1007 * lfm/messages.py (Entry.run): don't append '*' to historic
1008 * lfm/messages.py (DoubleEntry.run):
1010 Mon Sep 2 17:22:55 2002 Iñigo Serna <inigo@lethe.infernus.org>
1012 * lfm/lfm.py (sort): Fix bug: fix cursor bar position after sorting
1014 Tue Aug 20 16:50:57 2002 Iñigo Serna <inigo@lethe.infernus.org>
1016 * lfm/pyview.py (InternalView.__validate_buf): simplify code:
1017 if a: a = 0; else: a = 1 => a = not a
1018 * lfm/messages.py (confirm):
1019 * lfm/messages.py (EntryLine.manage_keys):
1020 * lfm/lfm.py (Lfm.run):
1021 * lfm/lfm.py (Panel.manage_keys):
1023 Tue Aug 20 16:37:23 2002 Iñigo Serna <inigo@lethe.infernus.org>
1025 * lfm/pyview.py (FileView.__move_lines): now pyview only shows last
1026 line at the end of the file. It showed blank screen before. I've
1027 written code which changes this behaviour to show last 'screen' of
1028 lines, but it is commented because I don't like it
1030 Tue Aug 20 16:16:04 2002 Iñigo Serna <inigo@lethe.infernus.org>
1032 * lfm/pyview.py (FileView.run): new feature: go to / set bookmarks
1033 * lfm/pyview.py (FileView.__init__): initialize bookmarks with -1
1034 * lfm/pyview.py (FileView.run): new feature: shell
1036 Tue Aug 20 16:13:37 2002 Iñigo Serna <inigo@lethe.infernus.org>
1038 * lfm/pyview.py (PyView): read from stdin implemented
1039 * lfm/pyview.py (FileView.__init__):
1040 * lfm/pyview.py (FileView.show): show 'STDIN' as file name and path
1041 when reading from stdin
1042 * lfm/pyview.py (read_stdin): new function
1043 * lfm/pyview.py (create_temp_for_stdin): new function
1045 Tue Aug 20 12:21:14 2002 Iñigo Serna <inigo@lethe.infernus.org>
1047 * lfm/pyview.py (FileView.run): cosmetic changes in string
1048 * lfm/lfm.py (Panel.manage_keys):
1050 Tue Aug 20 12:18:38 2002 Iñigo Serna <inigo@lethe.infernus.org>
1052 * lfm/pyview.py (FileView.show): move 'bytes' information one char left
1054 Tue Aug 20 12:11:00 2002 Iñigo Serna <inigo@lethe.infernus.org>
1056 * lfm/pyview.py (FileView.__get_lines_text): Fix bug: last char in file
1057 is not showed. Erasing '\n\r' chars when loading lines with rstrip()
1059 * lfm/pyview.py (FileView.__get_prev_lines_text):
1060 * lfm/pyview.py (FileView.__get_line_length):
1061 * lfm/pyview.py (FileView.__get_1line):
1062 * lfm/pyview.py (FileView.__get_file_info): Fix bug: number of lines
1064 * lfm/pyview.py (FileView.run): modified cursor down, page next, end
1066 Sat Aug 17 19:33:33 2002 Iñigo Serna <inigo@lethe.infernus.org>
1068 * lfm/lfm.py (run_thread): Fix bug: create temporary files with
1069 mask 0066, i.e. only owner can read/write them
1070 * lfm/lfm.py (do_compress_dir):
1071 * lfm/lfm.py (vfs_regenerate_file):
1073 Sat Aug 17 19:20:39 2002 Iñigo Serna <inigo@lethe.infernus.org>
1075 * lfm/lfm.py (vfs_init): Fix bug: create directories with perms 0700
1076 to avoid other people read them
1077 * lfm/lfm.py (vfs_copy):
1078 * lfm/lfm.py (vfs_pan_init):
1079 * lfm/lfm.py (vfs_pan_copy):
1081 Sat Aug 17 17:19:43 2002 Iñigo Serna <inigo@lethe.infernus.org>
1083 * lfm/lfm.py (LfmApp): Fix bug: when lfm exits after checking command
1084 line options, make 'lfm' shell script don't show path error
1085 * lfm/lfm.py (lfm_exit): new function
1087 Sat Aug 17 15:37:48 2002 Iñigo Serna <inigo@lethe.infernus.org>
1089 * lfm/lfm.py (compress_dir): don't compress '..' directory
1091 Sat Aug 17 15:34:47 2002 Iñigo Serna <inigo@lethe.infernus.org>
1093 * lfm/lfm.py (compress_dir): Fix bug: don't check 'tar' if un/zip
1094 * lfm/lfm.py (vfs_init):
1096 Sat Aug 17 14:26:48 2002 Iñigo Serna <inigo@lethe.infernus.org>
1098 * lfm/lfm.py (vfs_init): modified to allow zip-files vfs
1099 * lfm/lfm.py (vfs_regenerate_file):
1101 Sat Aug 17 14:17:41 2002 Iñigo Serna <inigo@lethe.infernus.org>
1103 * lfm/lfm.py (compress_dir): modified to allow compress to zip-files
1104 * lfm/lfm.py (do_compress_dir):
1105 * lfm/lfm.py (uncompress_dir): modified to allow uncompress zip-files
1106 * lfm/lfm.py (do_uncompress_dir):
1107 * lfm/lfm.py (check_compressed_tarfile):
1108 * lfm/__init__.py (defaultprogs): zip and unzip programs added
1109 * lfm/lfm.py (Panel.manage_keys): added zip functionalities to file menu
1111 Sat Aug 17 12:32:38 2002 Iñigo Serna <inigo@lethe.infernus.org>
1113 * setup.py: use python2 as default interpreter
1119 Fri Aug 16 13:37:34 2002 Iñigo Serna <inigo@lethe.infernus.org>
1121 * lfm/lfm.py (vfs_init): show correct filename when an error occurs
1122 while uncompressing file
1124 Wed Aug 14 18:55:22 2002 Iñigo Serna <inigo@lethe.infernus.org>
1126 * lfm/lfm.py (vfs_exit): added 'rebuild vfs' question / option
1127 * lfm/preferences.py (Preferences.__init__): added 'ask_rebuild_vfs'
1128 confirmation and 'rebuild_vfs' option flags
1129 * README: modified accordingly to new behaviour
1131 Wed Aug 14 18:44:40 2002 Iñigo Serna <inigo@lethe.infernus.org>
1133 * lfm/__init__.py: email address changed: <inigoserna@telefonica.net>
1140 Wed Aug 14 18:06:35 2002 Iñigo Serna <inigo@lethe.infernus.org>
1142 * lfm/lfm.py (Panel.manage_keys): Fix bug: when un/compressing files
1143 cursorbar must remain in the same file
1145 Wed Aug 14 17:11:02 2002 Iñigo Serna <inigo@lethe.infernus.org>
1147 * lfm/lfm.py (do_special_view_file): fork twice to avoid zombie processes
1148 * lfm/files.py (exec_cmd): new threaded exec command to avoid zombie
1150 * lfm/preferences.py (Preferences.check_defaultprogs):
1151 use files.exec_cmd instead of os.popen4
1152 * lfm/pyview.py (exec_cmd): idem
1153 * lfm/pyview.py (FileView.__init__):
1155 Wed Aug 14 17:10:19 2002 Iñigo Serna <inigo@lethe.infernus.org>
1157 * setup.py: execute setup with python2
1159 Mon Aug 12 23:00:10 2002 Iñigo Serna <inigo@lethe.infernus.org>
1161 Applied some good patches from Bartosz Oler (liar@furrynet.org):
1163 1. colors customization: Now you can customize the colors lfm use in
1164 the configuration file, 'colors' section. Each color is defined by
1165 a string with its name. It looks like this:
1166 element foreground_color background_color
1168 * lfm/lfm.py (Lfm.init_curses): Removed old static colors initialization
1169 * lfm/lfm.py (Lfm.run): Preferences loading has been moved from here
1170 * lfm/lfm.py (Lfm.__init__): ... to here
1171 * lfm/lfm.py (Lfm.set_color): New function that returns curses color
1172 if exists, otherwise return default.
1173 * lfm/preferences.py (Preferences.__init__): default colors
1174 * lfm/preferences.py (Preferences.load): read colors from configuration
1175 file or use default colors
1176 * lfm/preferences.py (Preferences.save): save used colors to configuration
1179 2. Allow preferences values to contain colons in the configuration file.
1181 * lfm/preferences.py (Preferences.load): Allow preferences values to
1184 3. Lack of a bookmark's definition shouldn't be an error.
1186 * lfm/preferences.py (Preferences.load): "Lack of a bookmark's
1187 definition shouldn't be an error. I.e. I have only few bookmarks
1188 and it annoyed me when lfm was printing: 'Bad bookmark blah, blah...'.
1189 Now, message is printed only if directory doesn't exist."
1191 Thu Mar 7 19:24:22 2002 Iñigo Serna <inigo@lethe.infernus.org>
1193 * lfm/lfm.py (Panel.init_dir): Fix bug: when, at start, lfm can't enter
1194 into a dir due to directory permissions
1196 Thu Mar 7 18:57:31 2002 Iñigo Serna <inigo@lethe.infernus.org>
1198 * lfm/pyview.py (FileView.__init__): Fix bug: when user hasn't permissions
1199 to read file, exit gracefully instead of crashing
1201 Wed Mar 6 13:57:56 2002 Iñigo Serna <inigo@lethe.infernus.org>
1203 * lfm/messages.py (FixSizeCommonWindow.__init__): fix len(text) problem
1205 Tue Mar 5 13:43:57 2002 Iñigo Serna <inigo@lethe.infernus.org>
1207 * README: added " to the 'cd' command in the lfm() shell function to
1208 allow changing to dir containing spaces
1210 Tue Mar 5 13:31:13 2002 Iñigo Serna <inigo@lethe.infernus.org>
1212 * lfm/messages.py (SelectItem.show): Added win refresh to assure window
1214 * lfm/messages.py (FindfilesWin.show):
1216 Tue Mar 5 13:20:41 2002 Iñigo Serna <inigo@lethe.infernus.org>
1218 * lfm/messages.py (SelectItem.show): Fix bug: crash if len(line) ==
1219 width of cursorbar window
1221 Tue Mar 5 13:00:26 2002 Iñigo Serna <inigo@lethe.infernus.org>
1223 * lfm/lfm.py (do_execute_file): eliminate extra '"'
1225 Sun Mar 3 22:19:49 2002 Iñigo Serna <inigo@lethe.infernus.org>
1227 * lfm/__init__.py (VERSION): release version 0.8
1229 Sun Mar 3 22:17:21 2002 Iñigo Serna <inigo@lethe.infernus.org>
1231 * lfm/lfm.py (do_uncompress_dir): well, it seems '-C' is not a valid
1232 option to specify output directory in not gnu tars, so change code
1234 Sun Mar 3 20:30:09 2002 Iñigo Serna <inigo@lethe.infernus.org>
1236 * lfm/lfm.py (Panel.manage_keys): eliminate 'y' feature (un/crypt)
1238 Sun Mar 3 00:24:12 2002 Iñigo Serna <inigo@lethe.infernus.org>
1240 * lfm/lfm.py (Panel.manage_keys): tree panel implemented
1241 * lfm/lfm.py (Tree): new class to implement a tree panel
1243 Sat Mar 2 13:36:17 2002 Iñigo Serna <inigo@lethe.infernus.org>
1245 * lfm/pyview.py (FileView.run): fix bug: page up / down don't scroll
1246 correctly in wrap mode if line doesn't fix in screen
1248 Thu Feb 28 23:32:36 2002 Iñigo Serna <inigo@lethe.infernus.org>
1250 * lfm/lfm: new scripts
1254 * lfm/__init__.py: contain globals
1256 Thu Feb 28 20:32:31 2002 Iñigo Serna <inigo@lethe.infernus.org>
1258 * lfm/files.py (do_copy): restore not to copy directory mode, times,
1259 owner and group attributes, because it fails when copying from not
1262 Thu Feb 28 19:06:43 2002 Iñigo Serna <inigo@lethe.infernus.org>
1264 * lfm/messages.py (win_nokey): now uses FixSizeCommonWindow
1266 Thu Feb 28 19:06:32 2002 Iñigo Serna <inigo@lethe.infernus.org>
1268 * lfm/messages.py (FixSizeCommonWindow): new message window class to
1269 show work in progress
1271 Thu Feb 28 18:25:39 2002 Iñigo Serna <inigo@lethe.infernus.org>
1273 * lfm/lfm.py (Panel.manage_keys): fix 'show same dir in two panels'
1276 Thu Feb 28 18:21:48 2002 Iñigo Serna <inigo@lethe.infernus.org>
1278 * lfm/lfm.py (vfs_copy): new functions
1279 * lfm/lfm.py (vfs_pan_copy):
1281 Thu Feb 28 18:00:00 2002 Iñigo Serna <inigo@lethe.infernus.org>
1283 * lfm/lfm.py (findgrep): panelize vfs implemented
1284 * lfm/lfm.py (vfs_regenerate_file):
1286 Thu Feb 28 17:59:21 2002 Iñigo Serna <inigo@lethe.infernus.org>
1288 * lfm/lfm.py (vfs_pan_init): new functions
1289 * lfm/lfm.py (vfs_pan_regenerate):
1291 Thu Feb 28 15:36:40 2002 Iñigo Serna <inigo@lethe.infernus.org>
1293 * lfm/lfm.py (findgrep): fix bug: if selected file has a ':' in name
1295 Thu Feb 28 14:32:27 2002 Iñigo Serna <inigo@lethe.infernus.org>
1297 * lfm/lfm.py (vfs_regenerate_file): check if it can regenerate vfs file
1300 Thu Feb 28 13:42:27 2002 Iñigo Serna <inigo@lethe.infernus.org>
1302 * lfm/files.py (move): fix bug: catching an exception after not been
1303 able to copy => it crashed when trying to delete copied files
1305 Thu Feb 28 13:33:25 2002 Iñigo Serna <inigo@lethe.infernus.org>
1307 * lfm/messages.py (CommonWindow.__init__): fix bug: if #lines of
1310 Thu Feb 28 12:22:49 2002 Iñigo Serna <inigo@lethe.infernus.org>
1312 * lfm/lfm.py (run_thread): now message appear in a dialog, clean up
1315 Thu Feb 28 11:41:17 2002 Iñigo Serna <inigo@lethe.infernus.org>
1317 * lfm/messages.py (CommonWindow): added option not to wait for a key
1318 * lfm/messages.py (win_nokey): new function
1320 Thu Feb 28 01:41:09 2002 Iñigo Serna <inigo@lethe.infernus.org>
1322 * lfm/lfm.py (Lfm.run): vfs implemented!!!
1323 * lfm/lfm.py (Lfm.show_bars):
1324 * lfm/lfm.py (Panel.show):
1325 * lfm/lfm.py (Panel.init_dir):
1326 * lfm/lfm.py (Panel.refresh_panel):
1327 * lfm/lfm.py (Panel.manage_keys):
1328 * lfm/lfm.py (Panel.show_info):
1330 Wed Feb 27 17:31:57 2002 Iñigo Serna <inigo@lethe.infernus.org>
1332 * lfm/lfm.py (do_uncompress_dir): added tar '-C' option to specify
1333 output directory. Does it work in not gnu tars?
1334 * lfm/lfm.py (vfs_init): new functions
1335 * lfm/lfm.py (vfs_exit):
1336 * lfm/lfm.py (vfs_regenerate_file):
1337 * lfm/lfm.py (vfs_join):
1338 * lfm/files.py (mktemp): new function, wrapper to tempfile.mktemp
1340 Wed Feb 27 01:26:25 2002 Iñigo Serna <inigo@lethe.infernus.org>
1342 * lfm/files.py (do_copy): change 'shutil.copytree' by own code
1343 when walking tree to fix next bug:
1344 "Overwrite dirs when moving or copying => walk dirs
1345 f.e. panel1: dir/a panel2: dir/b
1347 Now when moving dir from panel1 to panel2, the 'dir' destination
1348 is overwritten, so 'c'-file is lost. This is not the desired
1351 Tue Feb 26 15:55:13 2002 Iñigo Serna <inigo@lethe.infernus.org>
1353 * lfm/messages.py (SelectItem.show): fix bug: "messages.SelectItem,
1354 messages.FindfilesWin, messages.MenuWin, messages.ChangePerms:
1355 upperleft corner disappears"
1356 * lfm/messages.py (FindfilesWin.show):
1357 * lfm/messages.py (MenuWin.show):
1358 * lfm/messages.py (ChangePerms.show):
1360 Tue Feb 26 14:10:20 2002 Iñigo Serna <inigo@lethe.infernus.org>
1362 * lfm/messages.py (ChangePerms.manage_keys): change cursor movement
1363 behaviour, now it's circular
1365 Tue Feb 26 13:43:17 2002 Iñigo Serna <inigo@lethe.infernus.org>
1367 * lfm/pyview.py (FileView.show_chr): changing 'addch' by 'addstr'
1368 shows individual chars >= 0xA0 (meta chars) correctly, neither in
1369 reversed video or as 2 chars
1370 * lfm/pyview.py (FileView.show_str):
1371 * lfm/pyview.py (FileView.show_hex):
1373 Tue Feb 26 13:13:57 2002 Iñigo Serna <inigo@lethe.infernus.org>
1375 * lfm/pyview.py (FileView.run): fix bug: "if wrap mode => fix prev/next
1376 page & up/down cursor". Now they move to screen lines, not to physical
1378 * lfm/pyview.py (FileView.show_text_wrap): new functions
1379 * lfm/pyview.py (FileView.show_text_nowrap):
1380 * lfm/pyview.py (FileView.__get_1line):
1381 * lfm/pyview.py (FileView.__get_line_length):
1382 * lfm/pyview.py (FileView.__get_prev_lines_text):
1384 Mon Feb 25 12:47:32 2002 Iñigo Serna <inigo@lethe.infernus.org>
1386 * lfm/lfm.py (Panel.refresh_panel): fix bug: if panel2 shows 'a'
1387 directory and in panel1 'a' is moved or deleted, lfm crashes
1389 Mon Feb 25 12:10:48 2002 Iñigo Serna <inigo@lethe.infernus.org>
1391 * lfm/lfm.py (DATE): change copyright date to years 2001-2
1392 * lfm/pyview.py (DATE):
1394 Mon Feb 25 11:54:15 2002 Iñigo Serna <inigo@lethe.infernus.org>
1396 * lfm/pyview.py (FileView.show): fix bug when filename length is too big
1397 * lfm/messages.py (CommonWindow.__init__):
1399 Sat Feb 23 16:21:46 2002 Iñigo Serna <inigo@lethe.infernus.org>
1401 * lfm/lfm.py (Panel.manage_keys): after moving a file cursor goes to next
1402 file in panel, as deletion does
1404 Sun Nov 25 19:40:19 2001 Iñigo Serna <inigo@lethe.infernus.org>
1406 * lfm/lfm.py (VERSION): release of version 0.7
1407 * lfm/pyview.py (VERSION): upgraded to version 0.3
1409 Sun Nov 25 19:40:19 2001 Iñigo Serna <inigo@lethe.infernus.org>
1411 * lfm/files.py (complete): fix complete code. It works ok now
1412 * lfm/lfm.py (doEntry):
1413 * lfm/lfm.py (doDoubleEntry):
1414 * lfm/messages.py (EntryLine):
1415 * lfm/messages.py (Entry):
1416 * lfm/messages.py (DoubleEntry):
1418 Sun Nov 25 15:48:34 2001 Iñigo Serna <inigo@lethe.infernus.org>
1420 * lfm/lfm.py (do_something_on_file): change to initial behaviour:
1421 do_someting_on_file has not to capture output or been executed
1422 inside other thread. Old code remains comented
1424 Sun Nov 25 02:16:54 2001 Iñigo Serna <inigo@lethe.infernus.org>
1426 * lfm/files.py (complete): fix a bug when trying to complete something
1427 that is not a valid path
1429 Sun Nov 25 01:49:29 2001 Iñigo Serna <inigo@lethe.infernus.org>
1431 * lfm/lfm.py (do_something_on_file): capture output & option to show it
1432 * lfm/lfm.py (do_do_something_on_file): new function to be run inside
1435 Sun Nov 25 01:17:53 2001 Iñigo Serna <inigo@lethe.infernus.org>
1437 * lfm/preferences.py (Preferences.__init__): added new preference:
1438 show_output_after_exec, defaults to yes
1440 Sun Nov 25 00:27:18 2001 Iñigo Serna <inigo@lethe.infernus.org>
1442 * lfm/pyview.py (InternalView.__validate_buf): added option not to center
1444 Sat Nov 24 18:37:07 2001 Iñigo Serna <inigo@lethe.infernus.org>
1446 * lfm/lfm.py (do_something_on_file): chdir to file path before
1447 doing something on file
1449 Sat Nov 24 18:24:39 2001 Iñigo Serna <inigo@lethe.infernus.org>
1451 * lfm/lfm.py (do_uncompress_dir): remove tar 'v' flag when
1452 * lfm/lfm.py (do_compress_dir): un/compressing tar files
1454 Sun Nov 18 22:15:47 2001 Iñigo Serna <inigo@lethe.infernus.org>
1456 * lfm/lfm.py (Panel.manage_keys): fix cursor position after
1459 Sun Nov 18 18:33:07 2001 Iñigo Serna <inigo@lethe.infernus.org>
1461 * lfm/pyview.py (FileView.show_text): fixed other bug in wrapped mode
1463 Sun Nov 18 13:01:23 2001 Iñigo Serna <inigo@lethe.infernus.org>
1465 * lfm/pyview.py (FileView.__init__): if file is empty exists gracefully
1467 Sun Nov 18 12:57:09 2001 Iñigo Serna <inigo@lethe.infernus.org>
1469 * lfm/pyview.py (FileView.show): fix path printing if it's too big
1471 Thu Nov 1 15:30:06 2001 Iñigo Serna <inigo@lethe.infernus.org>
1473 * lfm/lfm.py (Panel.manage_keys): now copy, move, delete can be stopped
1475 Thu Nov 1 13:56:23 2001 Iñigo Serna <inigo@lethe.infernus.org>
1477 * lfm/files.py (__get_size): capture errors
1479 Thu Nov 1 13:01:31 2001 Iñigo Serna <inigo@lethe.infernus.org>
1481 * lfm/lfm.py (compress_dir): now compress directories can be stopped
1482 * lfm/lfm.py (do_compress_dir):
1484 Thu Nov 1 12:54:33 2001 Iñigo Serna <inigo@lethe.infernus.org>
1486 * lfm/messages.py (CommonWindow.__init__): fix a bug:
1487 when len(title) > len(text)
1489 Thu Nov 1 12:26:16 2001 Iñigo Serna <inigo@lethe.infernus.org>
1491 * lfm/lfm.py (uncompress_dir): now uncompress tar files can be stopped
1492 * lfm/lfm.py (do_uncompress_dir):
1494 Thu Nov 1 12:10:14 2001 Iñigo Serna <inigo@lethe.infernus.org>
1496 * lfm/lfm.py (run_thread.thread_quit_handler): added a 0.05 secs
1497 sleep to avoid wasting resources silly
1499 Thu Nov 1 11:55:24 2001 Iñigo Serna <inigo@lethe.infernus.org>
1501 * lfm/lfm.py (compress_uncompress_file): now un/compress can be stopped
1502 * lfm/lfm.py (do_compress_uncompress_file):
1504 Mon Oct 29 00:50:03 2001 Iñigo Serna <inigo@lethe.infernus.org>
1506 * lfm/lfm.py (compress_dir): fix bug: tar cvf - dir | gzip >dir.tar.gz
1507 when compressing directories did tar processes remain, it seems it was
1508 because of the '>' redirection awaiting eternally to completition
1510 Sun Oct 28 12:15:49 2001 Iñigo Serna <inigo@lethe.infernus.org>
1512 * lfm/lfm.py (uncompress_dir): check errors
1513 * lfm/lfm.py (compress_dir):
1515 Sun Oct 28 11:50:24 2001 Iñigo Serna <inigo@lethe.infernus.org>
1517 * lfm/lfm.py (compress_uncompress_file): check errors
1519 Sun Oct 28 11:20:42 2001 Iñigo Serna <inigo@lethe.infernus.org>
1521 * lfm/files.py (findgrep): use popen3 instead of popen and forget
1522 * lfm/files.py (find): stderr output
1524 Sun Oct 28 02:29:38 2001 Iñigo Serna <inigo@lethe.infernus.org>
1526 * lfm/lfm.py: change popen2.popen[34] by os.popen[34] functions
1528 * lfm/preferences.py:
1530 Sat Oct 27 16:24:39 2001 Iñigo Serna <inigo@lethe.infernus.org>
1532 * lfm/pyview.py (VERSION): upgraded to v0.2
1534 Sat Oct 27 16:48:39 2001 Iñigo Serna <inigo@lethe.infernus.org>
1536 * lfm/pyview.py (FileView.run): added find and find next / previous
1538 Sat Oct 27 16:23:25 2001 Iñigo Serna <inigo@lethe.infernus.org>
1540 * lfm/pyview.py (FileView.__find): new functions
1541 * lfm/pyview.py (FileView.__find_next):
1542 * lfm/pyview.py (FileView.__find_previous):
1544 Sat Oct 27 15:45:57 2001 Iñigo Serna <inigo@lethe.infernus.org>
1546 * lfm/pyview.py (FileView.__init__): check for 'grep'
1548 Sat Oct 27 15:45:16 2001 Iñigo Serna <inigo@lethe.infernus.org>
1550 * README.pyview (Keys): added find information
1552 Sat Oct 27 12:35:31 2001 Iñigo Serna <inigo@lethe.infernus.org>
1554 * lfm/pyview.py (PYVIEW_README): update help
1556 Sat Oct 20 23:27:00 2001 Iñigo Serna <inigo@lethe.infernus.org>
1558 * lfm/pyview.py (FileView.show_str): don't show '\r' in dos text files
1560 Thu Aug 23 00:59:59 2001 Iñigo Serna <inigo@lethe.infernus.org>
1562 * lfm/lfm.py (Panel.manage_keys): added compress directory to
1563 * lfm/lfm.py (compress_dir): .tar.bz2
1565 Thu Aug 23 00:42:43 2001 Iñigo Serna <inigo@lethe.infernus.org>
1567 * lfm/lfm.py (Panel.manage_keys): added README.pyview to help
1569 Thu Aug 23 00:34:09 2001 Iñigo Serna <inigo@lethe.infernus.org>
1571 * lfm/pyview.py (InternalView): allow scrolling if buffer
1572 doesn't fit in body window
1574 Thu Aug 23 00:22:19 2001 Iñigo Serna <inigo@lethe.infernus.org>
1576 * README.pyview: new file, documentation for pyview
1578 Wed Aug 22 18:28:34 2001 Iñigo Serna <inigo@lethe.infernus.org>
1580 * lfm/lfm.py (Panel.show_info): fixed a small bug when showing info
1583 Wed Aug 22 16:52:47 2001 Iñigo Serna <inigo@lethe.infernus.org>
1585 * lfm/pyview.py (FileView.__get_file_info): speed up function,
1586 before it was very slow on large files
1588 Wed Aug 22 00:22:17 2001 Iñigo Serna <inigo@lethe.infernus.org>
1590 * lfm/lfm.py (Panel.do_show_file_info): implemented 'show file info'
1592 Tue Aug 21 21:28:39 2001 Iñigo Serna <inigo@lethe.infernus.org>
1594 * lfm/pyview.py (InternalView.__validate_buf): check for lines not to
1595 be wider than screen width
1597 Tue Aug 21 20:53:43 2001 Iñigo Serna <inigo@lethe.infernus.org>
1599 * lfm/files.py (get_user_fullname): new function
1601 Tue Aug 21 20:11:30 2001 Iñigo Serna <inigo@lethe.infernus.org>
1603 * lfm/pyview.py: 'import messages' must be inside a try clause
1604 to avoid raising an exception in lfm, I suppose because lfm
1605 imports messages module before
1607 Tue Aug 21 19:28:30 2001 Iñigo Serna <inigo@lethe.infernus.org>
1609 * lfm/lfm.py (show_fs_info): new function
1610 * lfm/lfm.py (Panel.manage_keys): rewrite 'show filesystems info'
1611 to use internal viewer
1613 Tue Aug 21 01:42:15 2001 Iñigo Serna <inigo@lethe.infernus.org>
1615 * lfm/pyview.py (InternalView): new viewer class to use internally
1617 Mon Aug 20 20:32:58 2001 Iñigo Serna <inigo@lethe.infernus.org>
1619 * lfm/preferences.py (Preferences.check_defaultprogs):
1622 Mon Aug 20 20:31:37 2001 Iñigo Serna <inigo@lethe.infernus.org>
1624 * lfm/lfm.py (Lfm.run): default configuration is now saved
1627 Mon Aug 20 20:25:36 2001 Iñigo Serna <inigo@lethe.infernus.org>
1629 * lfm/lfm.py (defaultprogs): default pager changed to pyview
1630 because this is the best one ;-)
1632 Mon Aug 20 20:23:02 2001 Iñigo Serna <inigo@lethe.infernus.org>
1634 * lfm/pyview.py (View.run): implemented 'goto line / byte'
1636 Sun Aug 19 16:19:10 2001 Iñigo Serna <inigo@lethe.infernus.org>
1638 * lfm/pyview.py: start of the lfm viewer to be used both internally
1639 and externally as a standalone program -> 'pyview'
1641 Sun Aug 19 15:12:18 2001 Iñigo Serna <inigo@lethe.infernus.org>
1643 * lfm/lfm.py (Panel.manage_keys): change help behaviour to allow
1644 to read README, NEWS, TODO, ChangeLog or COPYING files
1646 Sun Aug 19 14:17:19 2001 Iñigo Serna <inigo@lethe.infernus.org>
1648 * lfm/lfm.py (do_special_view_file): new function to show special
1649 files: html, graphics, ...
1650 * lfm/lfm.py (defaultprogs): defined new programs
1651 * lfm/lfm.py (filetypes): defined new file types
1653 Sun Aug 19 12:22:11 2001 Iñigo Serna <inigo@lethe.infernus.org>
1655 * lfm/messages.py (EntryLine.manage_keys): added Ctrl-D key to
1656 delete the whole content of the EntryLine
1658 Sat Aug 18 19:36:50 2001 Iñigo Serna <inigo@lethe.infernus.org>
1660 * lfm/files.py (findgrep): fixed a bug around filename with "
1663 Sat Aug 18 19:31:01 2001 Iñigo Serna <inigo@lethe.infernus.org>
1665 * lfm/lfm.py (Panel.manage_keys): implemented help
1667 Tue Aug 7 19:43:40 2001 Iñigo Serna <inigo@lethe.infernus.org>
1669 * lfm/lfm.py (VERSION): release of version 0.5
1671 Tue Aug 7 19:02:39 2001 Iñigo Serna <inigo@lethe.infernus.org>
1673 * setup.py (DOC_FILES): setup.py must install docs
1675 Tue Aug 7 18:23:20 2001 Iñigo Serna <inigo@lethe.infernus.org>
1677 * lfm/files.py (__get_size): 'b' is not a valid flag for 'du -s'
1678 in solaris, so get Kb and convert to bytes by hand
1680 Mon Aug 6 00:11:18 2001 Iñigo Serna <inigo@lethe.infernus.org>
1682 * lfm/lfm.py (check_compressed_tarfile): new function splitted
1683 from uncompress_dir for future uses
1685 Sun Aug 5 20:52:36 2001 Iñigo Serna <inigo@lethe.infernus.org>
1687 * lfm/messages.py (FindfilesWin.manage_keys): fixed what 'enter'
1690 Sun Aug 5 20:28:23 2001 Iñigo Serna <inigo@lethe.infernus.org>
1692 * lfm/lfm.py (Panel.manage_keys): implemented 'show filesystems
1694 * lfm/messages.py (show_fs_info): new function
1695 * lfm/files.py (get_fs_info): new function
1697 Sun Aug 5 18:34:32 2001 Iñigo Serna <inigo@lethe.infernus.org>
1699 * NEWS: added a new file with changes between versions
1701 Sun Aug 5 18:23:11 2001 Iñigo Serna <inigo@lethe.infernus.org>
1703 * lfm/lfm.py (findgrep): fix a bug causing a crash when find and/or
1704 grep returns nothing
1706 Sun Aug 5 18:00:02 2001 Iñigo Serna <inigo@lethe.infernus.org>
1708 * lfm/files.py (move): when a problem appears while copying files,
1709 then don't delete original file but do it with the destination,
1710 because it is only partially written
1712 Mon Jul 23 21:27:10 2001 Iñigo Serna <inigo@lethe.infernus.org>
1714 * lfm/lfm.py (Panel.manage_keys): change x and q behaviour when
1715 exiting. Now x exits to dir. in panel, q not
1717 Mon Jul 23 20:56:18 2001 Iñigo Serna <inigo@lethe.infernus.org>
1719 * lfm/lfm.py (do_something_on_file):
1720 * lfm/lfm.py (compress_uncompress_file):
1721 * lfm/lfm.py (uncompress_dir):
1722 * lfm/lfm.py (compress_dir):
1723 * lfm/lfm.py (show_dirs_size):
1724 * lfm/lfm.py (findgrep):
1725 * lfm/lfm.py (sort): new functions to simplify Panel.manage_keys
1727 Mon Jul 23 01:21:35 2001 Iñigo Serna <inigo@lethe.infernus.org>
1729 * lfm/lfm.py (Panel.manage_keys): implement 'p' in file menu:
1730 change permissions, owner or group
1731 * lfm/messages.py (ChangePerms): new window class
1732 * lfm/files.py (get_owners): new functions
1733 * lfm/files.py (get_groups):
1734 * lfm/files.py (set_perms):
1735 * lfm/files.py (set_owner_group):
1737 Sun Jul 22 19:31:30 2001 Iñigo Serna <inigo@lethe.infernus.org>
1739 * lfm/lfm.py (Panel.manage_keys): File and General menu
1740 File menu: @, g, b, x, c
1741 General menu: /, #, s, o, c, a
1743 Sun Jul 22 14:31:36 2001 Iñigo Serna <inigo@lethe.infernus.org>
1745 * lfm/messages.py (MenuWin): new window class to show file and
1748 Sun Jul 22 13:47:23 2001 Iñigo Serna <inigo@lethe.infernus.org>
1750 * lfm/preferences.py (Preferences.check_defaultprogs): use
1751 popen2.popen3 instead of os.popen to avoid messages in
1754 Sun Jul 22 13:45:55 2001 Iñigo Serna <inigo@lethe.infernus.org>
1756 * lfm/files.py (findgrep): rewrite function not to show any
1757 error to stderr. 2>/dev/null only works in bash-type shells
1759 Sun Jul 22 03:34:40 2001 Iñigo Serna <inigo@lethe.infernus.org>
1761 * README: added info about changing directory at exit time
1763 Sun Jul 22 01:40:27 2001 Iñigo Serna <inigo@lethe.infernus.org>
1765 * lfm/lfm.py, lfm/files.py, lfm/messages.py,lfm/preferences.py:
1768 Sun Jul 22 01:28:00 2001 Iñigo Serna <inigo@lethe.infernus.org>
1770 * lfm/lfm.py (main): now lfm returns current path if exists via
1773 Sat Jul 21 23:24:54 2001 Iñigo Serna <inigo@lethe.infernus.org>
1775 * lfm/preferences.py (Preferences): now preferences class has
1777 * lfm/preferences.py (Preferences.check_defaultprogs): implemented
1778 * lfm/preferences.py (Preferences.load): implemented
1779 * lfm/preferences.py (Preferences.save): implemented
1780 * lfm/preferences.py (Preferences.edit): basic implementation
1783 Sat Jul 21 16:39:46 2001 Iñigo Serna <inigo@lethe.infernus.org>
1785 * lfm/lfm.py (Preferences.__init__): default pager changed to 'less'
1787 Fri Jul 20 19:15:31 2001 Iñigo Serna <inigo@lethe.infernus.org>
1789 * lfm/lfm.py (Panel.manage_keys): find/grep implemented,
1790 except panelize option
1791 * lfm/files.py (findgrep): new functions
1792 * lfm/files.py (find):
1793 * lfm/messages.py (FindfilesWin): new class to show find/grep
1796 Thu Jul 19 20:38:11 2001 Iñigo Serna <inigo@lethe.infernus.org>
1798 * lfm/lfm.py (Panel.manage_keys): manage home and end properly
1799 * lfm/messages.py (EntryLine.manage_keys):
1801 Thu Jul 19 18:14:00 2001 Iñigo Serna <inigo@lethe.infernus.org>
1803 * lfm/lfm.py (VERSION): version 0.4
1805 Thu Jul 19 18:00:16 2001 Iñigo Serna <inigo@lethe.infernus.org>
1807 * lfm/messages.py (confirm_all): new function
1808 * lfm/lfm.py (Panel.manage_keys): overwrite all implemented in
1811 Thu Jul 19 01:33:21 2001 Iñigo Serna <inigo@lethe.infernus.org>
1813 * lfm/files.py (complete): completition function. After a couple
1814 of days it works ok now
1815 * lfm/lfm.py (doEntry):
1816 * lfm/lfm.py (doDoubleEntry): new wrappers to parse paths to feed
1817 Entry and DoubleEntry classes with proper values for completition
1818 * lfm/messages.py (Entry):
1819 * lfm/messages.py (DoubleEntry): modified to support completition
1821 Tue Jul 17 17:20:43 2001 Iñigo Serna <inigo@lethe.infernus.org>
1823 * lfm/lfm.py (Panel.show): scroll bars in panels (not interactive)
1825 Sun Jul 15 03:15:04 2001 Iñigo Serna <inigo@lethe.infernus.org>
1827 * lfm/messages.py (Yes_no_Buttons): new class
1828 * lfm/messages.py (EntryLine): new class to ease entries with
1830 * lfm/messages.py (Entry): rewrite to use upper classes
1831 * lfm/messages.py (DoubleEntry): new class
1833 Sat Jul 14 20:12:55 2001 Iñigo Serna <inigo@lethe.infernus.org>
1835 * lfm/lfm.py (Panel.manage_keys): when some dirs are selected
1836 and 'show dirs size', only show size of the selected dirs
1838 Sat Jul 14 12:07:17 2001 Iñigo Serna <inigo@lethe.infernus.org>
1840 * lfm/lfm.py (Panel.manage_keys): added 'special regards' ;-)
1842 Wed Jul 11 19:23:15 2001 Iñigo Serna <inigo@lethe.infernus.org>
1844 * lfm/lfm.py (Panel.manage_keys): fix a problem with enter key
1846 Tue Jul 10 18:53:29 2001 Iñigo Serna <inigo@lethe.infernus.org>
1848 * lfm/lfm.py (Panel.manage_keys): fixed a problem when
1849 using files which names contain spaces
1851 Tue Jul 10 01:36:07 2001 Iñigo Serna <inigo@lethe.infernus.org>
1853 * lfm/lfm.py (Panel.manage_keys): #: show dirs size
1855 Tue Jul 10 00:49:02 2001 Iñigo Serna <inigo@lethe.infernus.org>
1857 * setup.py: using distutils
1859 Tue Jul 10 00:47:56 2001 Iñigo Serna <inigo@lethe.infernus.org>
1861 * lfm/lfm.py (Panel.manage_keys): create/edit link implemented
1863 Tue Jul 10 00:47:16 2001 Iñigo Serna <inigo@lethe.infernus.org>
1865 * lfm/files.py (modify_link):
1866 * lfm/files.py (create_link): added functions
1868 Fri Jul 6 00:30:09 2001 Iñigo Serna <inigo@lethe.infernus.org>
1870 * lfm.py (app): version 0.3
1872 Thu Jul 5 19:38:17 2001 Iñigo Serna <inigo@lethe.infernus.org>
1874 * messages.py (Entry): add historic support
1876 Thu Jul 5 18:37:29 2001 Iñigo Serna <inigo@lethe.infernus.org>
1878 * lfm.py (Panel.manage_keys): do something on file implemented
1880 Tue Jul 3 01:38:47 2001 Iñigo Serna <inigo@lethe.infernus.org>
1882 * messages.py (Entry): rewrite class using curses.pad
1884 Tue Jul 3 01:07:42 2001 Iñigo Serna <inigo@lethe.infernus.org>
1886 * messages.py (confirm): rewrite function using curses.pad
1888 Tue Jul 3 01:05:27 2001 Iñigo Serna <inigo@lethe.infernus.org>
1890 * messages.py (error):
1891 * messages.py (win):
1892 * messages.py (notyet): rewritten to use new CommonWindow class
1894 Tue Jul 3 01:06:31 2001 Iñigo Serna <inigo@lethe.infernus.org>
1896 * messages.py (CommonWindow): new class
1898 Mon Jul 2 22:25:28 2001 Iñigo Serna <inigo@lethe.infernus.org>
1900 * lfm.py (Panel.manage_keys):
1902 * files.py (move): added overwrite pref to copy and move
1904 Mon Jul 2 20:14:15 2001 Iñigo Serna <inigo@lethe.infernus.org>
1906 * lfm.py (Panel.manage_keys): added confirmation pref to delete
1908 Mon Jul 2 19:55:30 2001 Iñigo Serna <inigo@lethe.infernus.org>
1910 * lfm.py (Panel.manage_keys): touch file implemented
1912 Mon Jul 2 19:20:38 2001 Iñigo Serna <inigo@lethe.infernus.org>
1914 * lfm.py (Panel.__init_dir): sort info saved in session
1916 Mon Jul 2 18:34:07 2001 Iñigo Serna <inigo@lethe.infernus.org>
1918 * files.py (__do_sort): fix bug with size and date sorting
1920 Mon Jul 2 00:49:02 2001 Iñigo Serna <inigo@lethe.infernus.org>
1922 * files.py (__do_sort): implement mix filename cases in sorting;
1923 implement reversed name, size and date sorting; fix bug in sorting
1924 by size or date when 2 or more files have the same size or date
1926 Mon Jul 2 00:47:56 2001 Iñigo Serna <inigo@lethe.infernus.org>
1928 * files.py (sort_dir): implement mix files and dirs while sorting
1930 Mon Jul 2 00:46:16 2001 Iñigo Serna <inigo@lethe.infernus.org>
1932 * messages.py (entry.manage_keys): added Ctrl-C key to quit window
1934 Sat Jun 30 13:57:44 2001 Iñigo Serna <inigo@lethe.infernus.org>
1936 * lfm.py (Panel.manage_keys): go to file (Ctrl-S) implemented
1938 Sat Jun 30 13:43:11 2001 Iñigo Serna <inigo@lethe.infernus.org>
1940 * lfm.py (Panel.manage_keys): go to / set bookmarks implemented
1942 Sat Jun 30 13:16:41 2001 Iñigo Serna <inigo@lethe.infernus.org>
1944 * lfm.py (Preferences.__init__): start preferences support
1946 Fri Jun 29 00:43:19 2001 Iñigo Serna <inigo@lethe.infernus.org>
1948 * lfm.py (Panel.manage_keys): implemented de/select group functions
1950 Thu Jun 28 23:36:58 2001 Iñigo Serna <inigo@lethe.infernus.org>
1952 * The day of the first public release is coming, so I must start