* main.c (translate_url_to_new_syntax): Translate ftp:// to an
absolute path instead of a relative path (fix to "hotlist" bug
reported by Andrej). This means we drop the "return to last dir"
feature for ftpfs (when leaving ftpfs with ".." returns to the
directory visited before entering the ftpfs).
Mon Sep 28 21:55:13 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/find.c: Changed hotkey of the continue-button (both Chdir and
Continue used `C').
* po/*.po: remade because one msgstr in find.c changed
* src/Makefile.in: search config.status in builddir and not in rootdir,
i.e. make it compile for builddir != srcdir
* vfs/vfs.h (struct vfs): renamed errno to verrno because glibc2
defines errno as macro (#define errno (*__errno_location ()))
* vfs/Makefile.in: search config.status in builddir and not in srcdir/..,
i.e. make it compile for builddir != srcdir
* Makefile.in: After creating symlinks invoke another instance of
make to build libvfs.a. Otherwise make will not know how to build
the object files if symlinks have been created.
Added target cleansourcelinks (invoked with make distclean).
* setup.c: save and restore new global variable/option
ftp_use_unix_list_options
Tue Sep 15 20:31:32 1998 Norbert Warmuth <k3190@fh-sw.de>
* ftpfs.c (ftp_use_unix_list_options): New global variable/option.
If true we try to use 'LIST -la <path>'. When it fails we use the
two commands 'CWD <path>' and 'LIST' instead.
(resolve_symlink): rewritten. Don't get a second directory listing
with `LIST -lLa'. Instead use the cache to get the file stat of
symbolic links. If the directory the symlink points to isn't
already in the cache the directory listing will be fetched and
stored in the directory cache (without resolving symlinks
recursively).
The new method to resolve symlinks is faster if symlinks
the same directory or the directory the symlink points to
is already in the cache.
This function was small and nice until I discovered that it was
broken for symlinks to symlinks. Now it looks ugly and perhaps I
will revert it to use "LIST -lLa" again. With a fast connection it
doesn't matter which methode we use but with a slow connection I
wouldn't hesitate to burn more cpu cycles on the client side.
(retrieve_dir): Added parameter to tell whether to resolve
symlinks (don't resolve symlinks in directory listings retrieved
while resolving symlinks).
When we don't get a directory listing with 'LIST -la <path>' then
try to get it with `CWD <path>; LIST'.
Tue Sep 15 20:27:29 1998 Norbert Warmuth <k3190@fh-sw.de
* ftpfs.c (login_server): s/ftpfs_get_host/my_get_host/
(retrieve_file_start2): Don't create target file O_EXCL, in
copy_file_file we check existance of the target file and know
that we want to truncate it (this change was already done a
while back but it was reverted with the vfs-split).
Tue Sep 15 20:15:42 1998 Norbert Warmuth <k3190@fh-sw.de>
* ftpfs.h (struct connection): added boolean which indicates that
the ftp server doesn't unterstand Unix ls options
* ftpfs.h (struct dir): added enum to store symlink status of the
in memory directory cache (directory has no symbolic links;
symbolic links but not yet resolved; symbolic links which are resolved)
Tue Sep 15 20:02:08 1998 Norbert Warmuth <k3190@fh-sw.de>
* shared_ftp_fish.c, fish.c: updated references to retrieve_dir to
honour the additional boolean parameter
* file.c (move_dir_dir): Fixed severe bug reported by Andrew Pechenov
<zx80@demo.ru> (losing files when moving directories cross filesystem
boundaries): make sure erase_list is emptied always not only when we
deleted files.
Added single file filesystem (sfs)
Added vfs_flags so library users can disable selected filesystems
Minor shuffling of functions so garbage collection works for library
* mc-local.m4 (AC_STRUCT_LINGER): Moved into macros/linger.m4.
* autogen.sh: Include linger.m4 in aclocal.m4.
* Makefile.in (GNOME_M4_FILES): Include linger.m4.
* Makefile.in (aclocal.m4): Depend on all source files. Include
gnome-vfs.m4 and gnome-undelfs.m4.
(GNOME_M4_FILES): New macro.
* autogen.sh: Include gnome-vfs.m4 and gnome-undelfs.m4 in
aclocal.m4.
* configure.in: Use GNOME_VFS_CHECKS and GNOME_UNDELFS_CHECKS
macros instead of in-line checks. Create vfs/Makefile from
vfs/Make-mc.in.
* main.c (translate_url_to_new_syntax): translate the common
ftp url syntax to the syntax used by the new vfs code.
(_do_panel_cd): First translate the path if necessary. This makes
it possible to enter ftp://host on the commandline and in the
directory hotlist. We might need to move the translation code
to the vfs layer if there are other places where we want to enter
ftp://host.
Mon Jun 1 16:00:19 1998 Norbert Warmuth <k3190@fh-sw.de>
* vfs/ftpfs.c (ftpfs_fill_names): use right character to seperate
prefix and username
to blame first when it breaks something.
Mon Jun 1 12:33:08 1998 Alexander V. Lukyanov <lav@yars.free.net>
* configure.in: allowed to use `configure --with-included-gettext'
on systems (like solaris) that have their own libintl
Mon Jun 1 14:19:20 1998 Bakeyev I. Timur <timur@comtat.kazan.ru>
* vfs/vfs.c (parse_ls_lga): allow a bit wider range of listings.
* vfs/vfs.c (is_time, is_year): new functions
Mon Jun 1 12:47:50 1998 Norbert Warmuth <k3190@fh-sw.de>
* vfs/ftpfs.c (ftpfs_forget): Use the new ftpfs prefix.
* po/it.po: deleted additional "\n" in one msgstr
Sun May 31 10:23:01 1998 Norbert Warmuth <k3190@fh-sw.de>
* key.c (define_sequence): If a sequence clashes the last
definition made will be used. This makes it possible to override
wrong definitions in terminfo/termcap database with learn keys (or
the appropriate entries in mc.lib and ~/.mc/ini).
* widget.c (show_hist): Don't display the listbox partly
off screen (the left panel's history started in column - 2).
* keyxdef.c: include tty.h instead of myslang.h as suggested by
Tamasi Gyorgy <gt_cosy@usa.net>
Fri May 29 15:41:19 1998 Alexander V. Lukyanov <lav@yars.free.net>
* widget.c (update_input): this patch allows entering 8-bit
characters in input fields without screwing attributes. (the
same old sign extension...)
Wed May 27 22:23:48 1998 Ed Cogburn <ecogburn@greene.xtn.net>
* lib/xterm.ti: The 'xterm-color' definition needs 'sgr0'. The tic
program from ncurses 4.2 doesn't like the xterm.ti file that comes
with mc.
Wed May 27 15:29:01 1998 Alexander V. Lukyanov <lav@yars.free.net>
* key.c (get_key_code): characters with high bit set were input
as 0x80 char when use_8th_bit_as_meta was set
* ext.h (MC_USER_EXT): New name for the per-user extension file
(this needs redoing to concatenate this + the system stuff instead
of the overwrite stuff we have now). Now it is called the ~/.mc/ext-n
The VFS code can now be used by other applications (if you compile the
libvfs.a target and link against this).
Syntax has changes internally from the url-like syntax to a new syntax
that does not have ambiguities. A default conversor for the new syntax
will be provided in the future, also dealing with the user ~/.mc/ext files
is currently in a non-optimal state.
Keep an eye on this mailing list.
Miguel.
* editdraw.c (print_to_widget): Ifdef'd SLang specific code in order
to make it compile with ncurses. Syntax highlighting in the
internal editor is already disabled when SLang isn't used.
1. Selecting text in an input line and typing a char
now does the expected thing (Bug #17)
2. Drag and drop betwen icon view was broken (Bug #16
(This is a bug introduced by the fact that when Icon
View was introduced, I left the testing for the view
mode here and there)
Extra stuff: runtime warnings fixed when creating a new window;
moved the "new window" option to the "file" menu, it makes more
sense there. Force event flushing when I change the progress
status for vfs code.
Miguel
* utilunix.c, util.h (errno_dir_not_empty): deleted
Sat May 23 22:29:57 1998 Norbert Warmuth <k3190@fh-sw.de>
* file.c (check_dir_is_empty): New function which takes a path and
returns -1 on error, 1 if there are no entries besides "." and
".." in the directory path points to, 0 else. This function
actually opens and reads the directory and doesn't do tricks we
used to do with rmdir.
* file.c (erase_dir, erase_dir_iff_empty): Use check_dir_is_empty
to detect non empty directories. The old code tried to remove the
directory and decided on errno whether the failure of rmdir was
caused by a non empty directory or whether there was a different
error.
Unfortunatly not every filesystem sets errno to EDIRNOTEMPTY if
you try to delete a non empty directory. Namely the linux user
space nfs server sets errno to EIO, Suns nfs server sets it to
EEXIST and the AIX nfs server sets it to ??? (Steve reported
problems on AIX so I guess AIX sets errno to a value we currently
don't check).
1998-05-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gwidget.c (x_create_input): Disable the use of the GNOME entries
for now, as they are very slow. We need to figure out what is
wrong with this.
With this change, dialog boxes close quickly instead of taking
ages to close.
* gscreen.c, gdesktop.c (file_popup_add_context, file_popup):
Share the context menu code in gdesktop.c and gscreen.c. The
desktop pop up menus now include all of the stuff that would have
appeared in the Panel.
* gdesktop.c (desktop_icon_remove): Remove the file associated
with this desktop entry if it is on the ~/desktop directory.
* menu.c (menubar_event): Don't set menubar->selected to the
invalid value -1. Fix for the bug reported by root@liepa.soften.ktu.lt
* menu.c (menubar_drop_compute): removed the check for inrange
items which isn't necessary any longer.
Wed May 20 16:27:56 1998 Norbert Warmuth <k3190@fh-sw.de>
* widget.c (history_put): input line history was defunct because
there was an #ifndef where an #ifdef should be.
Btw. PORT_WIDGET_WANTS_HISTORY seems incomplete because a lot of
history code is included even when this define is undefined.
* lib/mc.ini.in: s/reges/regex/
* main.c (process_args): return void, the return value was only
used once but wrong (-h displayed help twice).
(handle_args): -h: don't display help twice
(print_usage): Don't print program name and version, that's
already done by version(0).
* menu.c (menubar_paint_idx): Highlight Hotkeys also on slow
terminals (hotkeys were not displayed at all).
We now just need to get some nice icons.
I am also revamping a little the toolbar, to have a switch to
icon mode and switch to listing mode icons. To make people
happy. More on this tomorrow.
Miguel.
* edit/syntax.c: Disable debug messages on stderr.
* edit/edit.h: Added missing _()
Sun May 10 14:51:03 1998 Norbert Warmuth <k3190@fh-sw.de>
* ftpfs.c (__ftpfs_chdir): CWD command wasn't sent at all. This
optimation is wrong because for directories containing spaces we
have to "CWD <pathname>" and "LIST -la" instead of
"LIST -la <pathname>".
I implemented a different optimation. Now ftpfs_chdir only stores
the new working directory and sets a flag. __ftpfs_chdir is called
when we really want to change the directory on the ftp server.
(resolve_symlink): Log the directory listing to the logfile.
* ftpfs.h (struct ftpfs_connection): Added a (per connection)
cwd_defered flag.
Sun May 10 13:27:50 1998 Norbert Warmuth <k3190@fh-sw.de>
* widget.c (handle_char): Don't try to to delete default text in
input widget more than once. Right after MC's start copy_filename
(ESC Enter) failed because a flag wasn't cleared while characters
were stuffed into the commandline (Andrej reported this bug).
* main.c (copy_readlink): usr mc_readlink instead of readlink
* file.c: Changed default for the copy/move option "dive into
subdir if exists" to off (note: this was only possible after the
change in setup.c).
(copy_dir_dir): Activated the previously uncommented code which
implements "Dive into subdirs". Even when there's no case where we
actually would like that behaviour it is a documented feature.
Though I don't wanted to change the default behavour. Hence the
option change.
(file_mask_defaults): set dive_into_subdirs
(file_mask_dialog): Fix for debian Bug #20727: Move operation with
"[ ] Dive into subdir if exists" and destination filename not
wildcarded. If destination is an existing directory then files
will be moved into this directory. If destination is not an
existing directory then src file will be renamed (one file
selected) or an error will be displayed (more than one file
selected).
(file_mask_dialog): made the option "Using shell patterns" local
to the current copy/move operation, i.e. this option is always
initialized with the global options's value. Previously it affected
the global Options/Configuration/shell Patterns.
Another possiblilty would be to make the global option a default
option on startup and keep changes in the copy/move dialog
(without saving these changes with save setup).
* setup.c: Don't save and load options which can be changed
outside the options menu. For example I don't like that
preserve_uid_gid and dive_into_subdirs from the copy/move dialog
are saved and restored (strange, what about the other options from
this dialog?).
It would be much cleaner to make these option read-only. This way
one could edit ~/.mc/ini to provide default option setting on
startup and "Save setup" wouldn't have side effects outside the
option's menu.
Sun May 10 13:24:20 1998 Norbert Warmuth <k3190@fh-sw.de>
* doc/mc.1.in, doc/mc.sgml, mc.hlp: Updated to reflect new default
for dive into subdirs.
1. My icons suck.
2. Keyboard handling is not finished.
3. Save current-mode, load current-mode is not
implemented yet.
4. Listing mode is not working, as I have hardcoded
the icon view for now.
5. Will finish this tomorrow. Not much is missing.
6. No, this is not the final implementation.
7. Yes, later I will put some scheme for using
more icons as discussed in the ethernal "Re: Icons"
thread.
Miguel.
1998-05-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_icon_list_realized): Add drag and drop support
to the icon list view;
1998-05-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_fill_panel_icons): New function: Fill up the
icon list.
(x_create_panel): Change in the approach: we create both of the
widget views at creation time and we now carefully show every
component. I attach everything to the table, but not necesarly
show it.
- Fix for the gmc crashes when no window is open and you
start a program.
- Bad attempts at fixing the sigwinch propagation.
- Internationalization fixes from Alex (ru.po and
bunch of updates to the text mode edition to deal
wiht this).
Miguel.
1998-05-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gwidget.c (x_update_input): Keep the cursor always visible.
* gview.c (view): Use a buttonbar widget.
* gwidget.c (buttonbar_clicked): Provide a trivial implementation
of the buttonbar that only responds to key sequences.
* gmain.c (dialog_panel_callback): Call midnight_callback to get
the main bindings working.
* gdesktop.c (perform_drop_manually): Use p to walk the dropped
data. This is an important bug fix.
* gmain.c (idle_destroy_window), main.c: Session management now
supports not showing a toplevel window (in case all of the windows
were closed).
1998-05-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
* view.c (view_quit_cmd): Use dlg_stop.
* main.c (ctl_x_cmd): Implement ctl-x handling as a state of the
key press events. Drop the usage of mi_getch to acomplish this
task.
(midnight_callback): Deal with the current map depending on the
c-x state.
* background.c (message_1s1d): the unprocessed string with %d was
passed to message_1s; fixed small memory leak
* widget.c (button_callback): WIDGET_CURSOR: make cursor position
dependend from button type (fixes the off by one bug in advanced
changeown).
O_EXCL in retrieve_file_start2 then I will find a different fix.
Mon May 4 10:27:49 1998 Norbert Warmuth <k3190@fh-sw.de>
* ftpfs.c (retrieve_file_start2): Don't create target file O_EXCL,
in copy_file_file we check existance of the target file and know
that we want to truncate it.
Mon May 4 10:21:31 1998 Norbert Warmuth <k3190@fh-sw.de>
* file.c (copy_file_file): Schedule deletion of short target file
only when we created or truncated the target file and not already
when we decided to overwrite an existing file.
panel, the old way of using it was an historic relic.
- This now works properly with the GNOME edition.
- Finished/fixed the implementation of the desktop-remove-icon
functionality.
- Raster's new multi-ok window. For some reason this is not getting
loaded. I am compiling gdb 4.17 now, as it is better for egcs
output.
Miguel.
Now in wrap mode the End key and cursor up key behave much better
(e.g. when viewing binary files with lots of wrapped lines).
It's not perfekt but it's better than it used to be.
Tue Apr 28 06:52:24 1998 Norbert Warmuth <k3190@fh-sw.de>
* gnome/gcmd.c (gnome_open_terminal): Changed my_system(1,...) to
my_system(EXECUTE_AS_SHELL,...)
Tue Apr 28 06:06:03 1998 Norbert Warmuth <k3190@fh-sw.de>
* vfs/extfs.c (extfs_open, extfs_close): Changed my_system(1,...)
to my_system(EXECUTE_AS_SHELL,...), this fixes the broken copyin and
copyout in 4.1.32.
Tue Apr 28 06:11:08 1998 Norbert Warmuth <k3190@fh-sw.de>
* view.c (toggle_wrap_mode, toggle_hex_mode): Force recalculation
of bottom_first (we mustn't use an already calculated and cached
value because it is invalid for the new mode and the End key would
not move to the end of the file).
* configure.in: Renamed the option `--with-our-slang' to
`--with-included-slang' (this one looks better because we also
have an `--with-included-gettext').
Make the option `--with-ext2undel' recognice a given path.
* cmd.c (view_file_at_line): In plain view (F13) set the default
magic flag to zero in order to view the file content unprocessed
(esp. don't uncompress files if they are compressed). The
view_simple_cmd got broken when the default magic flag in view.c
was changed from 0 to 1.
* view.c (do_view_init, goto_line): Set wrap mode temporary off
to make goto line number work, i.e. `line number' now always means
line number in file and not line number on screen (in wrap mode
one long line wrapped once is displayed in two lines on the screen).
That's important when the viewer is invoked from the find file
dialog to display even in wrap mode approxiamtly the part of the
file where we found the content we searched for.
(move_forward2): In wrap mode lines were sometimes counted wrong
causing cursor up to move more than one line.
(move_backward2): Fixed the movement in wrap mode.
(change_viewer): Always re-init viewer when we have a filename,
i. e. if the viewer is invoked with simple_view_cmd then we can switch
with the F8 key between unprocessed file content und uncompressed
file content.
(view_init): re-init view also when magic flag was altered
fix a bug in the panel-widget selection.
i18n changes from Andrej Borsenkow.
Menus renamed, better texts -- thanks Havoc.
lav's fixes for curses compilation.
Miguel
* slint.c: Applied the patch from Bill Nottingham <wen1@cec.wustl.edu>
to make it link against SLang >=1.0.
I reviewed the diffs to the part of SLang we use and there are no
further changes to MC necessary (one function's return value
changed it's meaning but we don't use this return value).
* configure.in: Undone the change which prevented linkage against
SLang >=1.0
* configure.in: Don't try to link MC against SLang >= 1.0. I will
remove this restriction when I'm sure that it's save to use the new
version (the documentation to SLang mentions some changes of
return values).
with with this commit. This also addresses a bunch of the comments
from the status.shtml from DrMike.
Miguel.
1998-04-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
* screen.c (GT): Assign two spaces for the minimum size of the
"type" field for the GNOME edition. This gives some extra space
for the icon that gets displayed.
* dlg.c (remove_widget): New function: used to remove a widget
from an existing Dlg_head;
(destroy_widget): Destroy a specific Widget.
(add_widgetl): Extended to deal with the fact that a running
Dlg_head can become empty.
* panelize.c (l_call): Update the input line every time the user
selects the entry with the mouse (pretty common in the gnome
edition).
* hotlist.c (add_new_group_input): Removed an extra field that was
causing problems.
* find.c (find_parameters): Tree button is gone for gnome until we
get the tree function working on gnome.
* cmd.c (save_setup_cmd): Per Elliot's suggestion, do not pop up a
dialog box to inform the user about the saved setup.
1998-04-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gcmd.c (gnome_close_panel): Implement the close-the-panel
functionality.
* gscreen.c (x_panel_destroy): Implement the gnome mode way of
destroying the panel.
* gview.c (view_status): Add cacheing of the information status,
to avoid excessive flicker. It would be better if GtkLabel did
not flicker though.
(scrollbar_moved): Scroll correctly. We now use
view_move_backward and view_move_forward to adjust the scrollbar
contents. This displays the scrollbar correctly.
* gwidget.c (x_listbox_select_nth): This may be invoked before the
widget has been created, work around this problem.
* gscreen.c (show_dir): Set the title bar for the window to the
current directoy. Reported by both Mike and Elliot.
* layout: Updated to the new hotlist dialog box.
* src/hotlist.c: changes to hotlist boxes i18n.
* src/panelize.c: changes to panelize boxes i18n.
* src/wtools.c (query_dialog): Take care about possible '&' in
button names while calculating window sizes and button positions.
* screen.c (string_file_nlinks): The buffer was too small and we
were overwriting parts of it.
* subshell.c (do_subshell_chdir): Memory leak fix.
* find.c (do_search): Do not use undefined order of evaluation.
* user.c: Do not use undefined order of evaluation.
* dlg.c (init_dlg): Do init the default return value.
2. Load/Save desktop-icon transparent state.
3. Add arrange icons code.
4. Add snap to grid option (default now).
5. Fixed viewer crash.
Still left to do:
- Nice config dialog to set the above variables.
* gwidget.c (x_create_input): return 1 if the widget has been
initialized manually (there was no return value)
(x_create_buttonbar): to few arguments to sprintf (button number
was missing); return a value.
Sun Apr 12 02:48:26 1998 Norbert Warmuth <k3190@fh-sw.de>
* xv/xvscreen.c: removed duplicate (conflicting) definition
of do_enter()
* text.c (edition_post_exec), cmd.c (view_other_cmd): Don't change
the keypad mode when we don't use the alternate plus minus. Pavel
forgot an if-clause when he replaced the escape sequences (or
another point of view: I forgot one if-clause at different place).
Fri Apr 10 10:35:06 1998 Norbert Warmuth <k3190@fh-sw.de>
* file.c (file_mask_dialog): When the shell patterns option
was off source_mask was freed twice.
- Double click should work.
- Dragging to other panels shoudl work
- Scrollbar in the viewer
- Entry widgets get their text selected at startup
- Prompts for command if default action does not exist for a filename
- Updated spanish translation.
Plus some other bugs I fixed.
Miguel
* src/find.c: changes to find_parameters/find_file i18n.
* src/widget.c: new function introduced, button_scan_hotkey();
button_new() and button_set_text() fixed to use mentioned function.
* src/key.[ch], src/dlg.c: changes to make recognition of ESC char as
ALT(c) possible for 8-bit chars. (By replacing 'A'/'Z' comparisons with
call to isalpha() in the way proposed by Norbert).
* src/boxes.c: changes to display box i18n
* src/learn.c: changes to learn key dialog i18n
- Nicer dialog destruction (no flicker)
- refresh of panels after a drop.
- Pause after run is gone in the gnome edition.
- Improved layout for options dialog box.
- Checkbox widgets are implemented, they now work.
Miguel.
* configure.in: ALL_LINGUAS test added, to allow specify list
of languages to be installed by setting env variable before
configure. If it is empty, it defaults to full list.
* src/menu.h menu_entry.{hot_pos, is_dupped} dropped
* src/menu.c: consistency fixes: pull-down menu items are now
accessible either with arrow keys or with hotkeys, denoted with &
(and highlighted). (key combinations, placed to the right of items
intended to be used from outside the menus). Freeing menu entries
removed as it no longer needed
* src/main.c, edit/editmenu.c: menubar init code is changed to conform
above fixes.
* edit/edit.h: use of "Cancel" in error_dialogs replaced with
"Dismiss", to avoid collisions in translation of "Cancel" in other
places with this case.
* src/boxes.c: select_format() and it's support removed, as it is
obsoleted by input line history feature. display_init()/display_callback
fixed to suite i18n changes. sort_box() - alike.
* src/option.c: pause_options added &'s and gettext calls to expand
statically assigned values.
* src/widget.c: (radio_callback) hotkey recognition is changed to
&-notation, rather than simple uppercase.
* src/dlg.c: (dlg_try_hotkey) plain symbol comparison replaced with
call to isalpha(), this fixes errorneous exit from input line, when
button hotkey is 8-bit NLS char.
* tk/tkmenu.c (menubar_arrange, destroy_menu): Added small stubs in order
to make it compile.
* tk/Makefile.in: Use tkmenu* instead of menu*
* src/TODO: Removed obsolete entries: Similar entries in tree view
are displayed correct; user specific files has been moved
to ~/.mc/
Added: Check what to do with menubar_arrange/destroy_menu stubs
in tk/tkmenu.c; the interal editor (not portet yet) adds entries
to the wrong menubar
* key.c, key.h (numeric_keypad_mode, application_keypad_mode): New
functions which encapsulate two hardcoded escape sequences from main.c.
* main.c (main): Use the two new functions from key.c
* main.c, screen.c: Moved all file selection keys from the default
keymap to the keymap for panels in listing mode.
Changed *_selection_cmd to *_selection_cmd_panel in panel_keymap
(functions in panel_keymap get a WPanel * as first parameter,
i.e. the indirection with cpanel isn't necessary).
* main.c (midnight_callback): Keys '*' and '-' were not treated
when only_leading_plus_minus==0;
Optimized the if-clauses a little bit (i.e. removed duplicate
checks). More optimation is possible but it would make the whole
stuff completly unreadable.
* key.c (correct_key_code): KP_ADD, KP_SUBTRACT and KP_MULTIPLY
will be translated to +, - and * only if the option
alternate_plus_minus is turned off.
* learn.c (learn_keys): Turn alternate_plus_minus temporarily on
to avoid translation of KP_ADD, KP_SUBTRACT and KP_MULTIPLY in
correct_key_code/make sure keypad is in application mode (makes it
possible to learn this keys).
* cmd.c (reverse_selection_cmd_panel): New function (renamed from
reverse_selection_cmd, takes a WPanel * as parameter, references to
cpanel changed to panel/the passed parameter).
reverse_selection_cmd now simply calls this function with cpanel.
This pair was missing among the *_selection_cmd* functions.
* cmd.h: Added function prototypes.
* main.c, screen.c, dirhist.c, dirhist.h, main.h, widget.c,
main.h and others?: Directory history added. The previous
directory history code was removed. The directory history now
loads and saves using the same routines as the input widget. The
keys meta-y, and meta-u are used to go backward and forward
through the history. The buttons to the right and left of the
current directory display on the panel can be used as well. The
v button brings up a history, but no key is assigned to this.
Discussion as to correct color and shape of these buttons is
open. show_hist() in widget.c is made generic to be called for
any widget. Help pages still needed to be added for the
directory history.
* menu.c (destroy_menu): Implement destroy_menu for all of the
ports as a routine that frees the menu entries if
internationalization has been enabled.
* wtools.c (quick_dialog_skip): Do not i18n any string that is empty.
Sun Mar 29 23:02:09 1998 Alex Tkachenko <alex@bcs.zp.ua>
* src/menu.[ch]: new member to menu_entry (hot_pos) introduced to make
internationalized version of menu use externally defined hotkeys
(denoted with preceding &). create_menu() fixed to load intl text of
the entries. Some fixes around menu.c to enable usage of reloaded
hotkeys.
* main.c, editmenu.c: menu initialization code fixed to conform new
menu structure. editmenu init code includes N_(..) now.
* menu.c, layout.c, editwidget.c: bar menu items displacement is made
dynamically upon initialization and window size changes. Mouse event
processing is fixed accordingly.
Sat Mar 28 13:18:36 1998 Alex Tkachenko <alex@bcs.zp.ua>
* src/screen.c: (repaint_file) last patches to format_file() in the
same file broke appearance of panels in brief mode -- fixed.
* extfs/hp48: Added an usage summary. The HP48 external filesystem was
contributed by Christofer Edvardsen <ce@earthling.net>.
* subshell.c (init_subshell): Added ':q' to $cwd in the precmd for
tcsh. It prevents command and filename substitution (e.g. for
a directory named "[word] words")
* view.c (view_done): Set monitor off before deleting the view
file dialog.
* gnome/gtools.c (translate_gdk_keysym_to_curses): renamed KEY_BACKTAB
to KEY_BTAB (the name ncurses uses)
* gnome/Makefile.in: Install the icon-files and the layout-file from $srcdir.
* autogen.sh: added support for builddir != srcdir
* doc/Makefile.in: The manual pages are generated files and
located in the builddir and not in the srcdir.
* src/find.c (find_file): Use the same hotkey for the panelize button
as we use with the external panelize command.
* src/myslang.h: --with-ncurses didn't compile: renamed
KEY_BACKTAB to KEY_BTAB (the name ncurses uses)
* src/dlg.c (dlg_key_event): likewise
* src/tkmain.c (x_init_dlg): added dummy function to make it
compile
* vfs/Makefile.in, extfs/extfs.ini, extfs/hp48: New external
filesystem to view and copy files to/from the HP48.
Now it should be possible to build and install gnome edition with
builddir != srcdir.
* gdesktop.c (desktop_create_launch_entry): Support for the "Drop"
target in mc.ext now.
* Add support for dragging the icons on the desktop.
(desktop_icon_make_draggable): new function.
(drop_from_event): simplify.
(my_create_transparent_text_window): Get the motion notify event.
(drops_from_event): create a vector based on thge drop event.
(drop_cb): splitted, call url_drop for regular drops, otherwise it
is a icon drop.
(artificial_drag_start): new routine, used now by gscreen.c and
gdesktop.c
(drop_on_directory): Check result value of operation.
(desktop_icon_set_position): sane interface.
(stop_desktop): Flush all of our state to disk.
Warning in gnome/gmain.c suppressed
"VERSION." is included instead of "VERSION" for Borland C++, otherwise it assumes VERSION.h
Mouse is not enabled for Windows NT edition
Warning about missing hotlist was shown incorrectly on NT and Linux console
* gscreen.c (filter_item_activate): Make it convert the glob
pattern to a regexp if appropriate.
1998-03-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
* util.c (convert_pattern): Now the internal buffer is malloc()ed
instead of being static. This is required for long patterns.
(regexp_match): Free the pattern after calling convert_pattern().
* file.c (file_mask_dialog): Free the source_mask after calling
convert_pattern().
* cmd.c: Internal edit is used by default. vi may be
confusing for some users.
* tree.c: tree_rmdir_cmd() should not return any value,
because it is not analyzed for errors.
* main.c: NT code: use O_BINARY instead of _O_BINARY
* util.c: DO not test for arguments that do not make sense under
Windows NT.
* file.c: utime.h always included for Windows NT port.
* view.c: Events are flushed only if the ports supports it.
Lots of Windows/NT changes, but I will let Pavlov write the ChangeLog
entries.
Mon Mar 16 13:05:47 1998 Pavel Roskin <pavel@absolute.spb.su>
* tkview.c: Include stdio.h; Minor spelling corrections added.
Today:
- New Menu layout! Weeee!.
- More mc commands exposed to the GNOME edition.
- Use gnome stock pixmap buttons.
- Use gnome stock for the menus.
- Now it is possible to quit the program :-)
- Various other bits.
If you can test it, I would appreciate it.
-Miguel.
* screen.c (chdir_other_panel, chdir_to_readlink): Use passed
panel instead of cpanel (removed mixed use of panel and cpanel).
* main.c, screen.c: Deleted F13 from the default keymap, added F13
and F14 to the panel's keymap (the keymap for panels in listing
mode). These two keys are only useful for panels in listing mode.
It seems there are even more candidates for such a move. Especially
select_cmd and unselect_cmd which appeared recently for the GNOME
edition in screen.c act unexpected for panels in tree-mode.
* cmd.c (view_simple_cmd): Added WPanel* to the parameter list.
(edit_cmd_new): No need to get a panel because it is not used.
* panelize.c: Changed hotkey of the Panelize button (Alt-p is
already used by the input line history). I wonder if I should
change it in the find dialog, too (just to have a unique hotkey
for the panelize button).
Context menu rearranged
Removed dead code
Shapped drag and drop
Different drag and drop icons depending on single/multiple drags
Artificial dnd is here (Thanks Elliot!)
cwd displays something interesting
Beginning of the internal viewer status display.
-miguel.
is enabled; virtual fs setup dialog box is up; save setup; mkdir
link command is hossed. It is more than hossed for some stoopid
reason, the thing is selecting the first file in the panel
just after I talked to it. No matter how argumentative I get
with the code. Have to fix next.
Commit the bits I forgot to commit yesterday.
-miguel.
* src/complete.c: obsolete hack for OS/2 and NT removed.
Completion works for NT now (not very good)
* src/main.c: HOME variable is respected by NT and OS/2
versions. If it is missing, we use LIBDIR on OS2_NT and "/"
on Unix.
* src/key.h: SHIFT_PRESSED is set to 0x0010 on NT. This value
doesn't conflict with definitions for ALT and CTRL, but it is
SDK-compatible.
* vfs/vfs.h: Minor changes for OS/2. EMX defines mkdir with
2 arguments
* vfs/tcputil,c, vfs/utilvfs.c: signal.h was includes twice.
* vfs/Makefile.in: undelfs.h is not used and should disapper
* slang/slos2tty.c: new file, copied from SLang-0.99.38,
needed for OS/2 port
* slang/Makefile.in: added slos2tty.c
* vfs/extfs/README: annoying spell errors corrected
* src/main.c: --termcap disabled for OS2_NT because it doesn't
(and cannot) work. ARCH_FLAGS is not needed anymore.
* src/text.c: most includes removed. Added a warning is someone
compiles this file with HAVE_X. Improved color scheme for
consoles with 16 background colors (e.g. OS/2). Hack for OS/2
removed.
* src/util.c, src/util.h: STRCOMP and MC_ARCH_FLAGS are moved
to util.h. It may be useful to use them for filenames' completion
on OS2_NT
* gscreen.c (panel_create_filter): The filter control is now a
nice GnomeEntry. It does not work due to gmc trapping key events;
I'll look into it tomorrow.
(internal_select_item): Fixed broken behavior. Now uses GtkCList properly.
default_filters: new structure with pre-defined glob patterns.
This is actually broken, because it will only work when
easy_patterns is enabled. I have to figure a way to make it work
with regexp mode as well.
* doc/mc.1.in, mc.hlp: updated (these files haven't been updated
at the last change to mc.sgml)
* doc/mc.sgml: spelling error corrected
* Makefile.in: renamed all references of mc.1 to mc.1.in
* find.c (locate_egrep): Don't use an absolute path if egrep isn't
found at the usual places. Then execvp will search the directories
passed in the environment PATH variable (a little bit slower but
better than a defunct find content).
* tree.c: removed the include file I mistakenly added with my
last patch.
- Layout file is now installed and used properly. That means
that you can actually run the code.
- Buttons actually work in the GtkTed and the regular use
thanks to GrossHack(tm).
- File operations are working! Weee! Copy and Move work as
well as the warning dialog boxes for all kind of stuff;
- Progressive display is pretty cool, you have to see it.
- Dragging files to desktop icons now allows you to copy/move
(supported both the remove and local cases, with the obvious
optimizations).
Still missing:
- Using Elliot's shaped windows for dnd.
- Allowing the arbitrary placement of desktop icons by dnd.
- dropping files into .desktop files.
- drop support on the panels (right now they only work right
as drag sources).
Weeeeeee! Total excitement. Total and absolute.
Miguel.
* vfs/ftpfs.c (changetype): Removed the hack which always forced
sending the command "TYPE I" when changing to binary transfer mode
was requested even when MC thought the connection was already in
binary mode (bucket->isbinary == 1). The correct fix is now in
login_server.
* vfs/ftpfs.c (login_server): Set the transfer mode stored in
the bucket to UNKNOWN (the bucket might be reused and the old
transfer mode isn't valid any longer).
* screen.c (panel_key): Cleanup: deleted if-clause with -1 (EV_NONE)
which isn't delivered to widgets by the dialog manager; always
return 1 when key was handled; removed the function keys from the
panel's keymap (the function keys are always handled by the
buttonbar); don't eat characters below ' ' (C-l and Shift-F3 now
work even when quick search was started); characters between 32 and
255 start quick search if there is no commandline (no C-s necessary
to start search).
* tree.c (tree_key): likewise