* ext.c (quote_block): How did this ever work? People, if you
realloc() things, don't keep pointers to stuff inside the original
block.
* screen.c (do_enter_on_file_entry): Pass in the full name to
if_link_is_exe().
* dir.[ch] (if_link_is_exe): Take in the full name, not the directory
and the file entry.
1999-08-26 Federico Mena Quintero <federico@redhat.com>
* gscreen.c (panel_clist_drag_motion): Pass the full name to
gdnd_validate_action().
(panel_icon_list_drag_motion): Likewise.
(panel_tree_drag_motion): Likewise.
* gdnd.c (gdnd_perform_drop): Renamed the "directory" argument to
"dest_full_name" for clarity.
(gdnd_validate_action): Likewise. Pass in the full name to
if_link_is_exe().
(drop_on_file): Do not compute the full name, since we are already
get it from the caller.
(drop_on_file): Pass in the full name to if_link_is_exe().
* gscreen.c (panel_tree_drag_data_received): Free the pathname.
* gdesktop.c (icon_drag_data_received): Pass the full name of the
file to gdnd_perform_drop(), not just the desktop directory.
* gscreen.c (editing_icon_list): New function to figure out
whether an icon in the icon list is being edited. This is a
FANTASTICALLY UGLY HACK, but we cannot add new functions to the
icon list at this point as it would break forwards compatibility.
Sigh. BUGFIX: GNOME bug tracker #382, #1065.
* glayout.c (gnome_panel_desktop_menu): Added some underline
accelerators.
* gdesktop.c (desktop_arrange_icons_items): Renamed to the desktop
namespace. Added underline accelerators.
(handle_arrange_icons_name): Made static.
(handle_arrange_icons_type): Likewise.
(handle_arrange_icons_size): Likewise.
(handle_arrange_icons_access): Likewise.
(handle_arrange_icons_mod): Likewise.
(handle_arrange_icons_change): Likewise.
(desktop_arrange_icons): Made static.
(strip_tearoff_menu_item): Made it return the number of items in
the menu, not the list of children.
(desktop_icon_info_destroy): Remove the icon from the icon hash
table.
(text_changed): Update the icon hash table information.
* gdesktop.h: Cleaned up some unused prototypes.
* gview.c (view_status): Use the correct g_snprintf() format
argument.
* gcmd.c (sort_get_func_from_type): Indented according to the MC
conventions. People, *PLEASE* follow the Gnome Programming
Guidelines, especially when modifying existing code.
* gdesktop.c (swap): Likewise.
(auto_pos): Likewise.
(get_icon_auto_pos): Likewise.
* gtkedit/syntax.c (upgrade_syntax_file): Mark error strings for
translation.
* gtkedit/editmenu.c (edit_about_cmd): Mark text in "about" for
translation as it used to be.
* po/POTFILES.in: Removed symbolic links, and outdated
gmc-window.[ch] and olddnd.c. These don't repport any new strings,
increase compile time and make po files large. Basically adds
gaction.c, g,mount, smbfs.c to the pre-previous file.
* po/es.po: Added new strings with latest editor changes. Added
strings in gaction.c. Merged with a new mc.pot after the changes
in POTFILES.in.
* gnome/gaction.c (mainly gmc_unable_to_execute_dlg): Moved g_strconcat
to g_strdup_printf, to get compact strings and make coherent
translations. Translate atomic actions (open, edit, view) when
calling this function.
* src/menu.c: (create_menu): Adjust "#ifdef ENABLE_NLS" so that menus
get the right size even when NLS is disabled.
1999-08-08 Norbert Warmuth <nwarmuth@privat.circular.de>
* po/POTFILE.in: Removed gpopup.c as it is not compiled.
* gnome/gconf.h (PORT_STATIC_IN_STRING_FILE_XTIME): new port specific
feature. The Gnome edition first calls all string_file functions
and then uses the return values of these functions. Therefore additional
static buffers in string_file_[acm]time are needed.
* src/screen.c (string_file_[amc]time): These three functions use
file_date which returns a pointer to a static buffer. In the
Gnome edition this buffer has to be coppied to a static buffer
which isn't used in the other two functions (Fix Bug #1766).
* src/util.c, util.h: Moved some constants to util.h
* vfs/tar.c (read_header): Don't segfault when a symlink points to the
root directory.
1999-08-04 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/widget.c (push_history): Add SMB Link to the list of input dialogs
where urls are input without vfs prefix.
Translate the titles of these input dialogs only once.
Removed Gnome specific code because the Gnome edition doesn't use
the input history any more.
* src/util.c (strip_password): Add /#smb: to the list of urls which might
be input with password.
* src/poptalloca.h: New file with definitions for alloca. Note: alloca
is defined as malloc on systems which fail to support alloca. Don't
include this file if you frequently use alloca.
* src/findme.c, src/popt*.c: include poptalloca.h
* src/Makefile.in: added poptalloca.h
* src/menu.c (create_menu): set minimum menu width to 20 characters as
it used to be (this was part of davids patches but I haven't
applied it, yet).
* gnome/gcmd.c (gnome_about_cmd): Change strings in gmc "about" to
static as they only translated once.
* src/menu.c (create_menu, menubar_drop_compute, menubar_paint_idx):
Discount '&' for hotkeys when checking menu widths to avoid the
extra blank space.
Moved this accounting from the drawing to the creating function.
* src/widget.c: Translate History box tittle.
* po/es.po, po/es_ES.po: added translation for history box title
1999-08-01 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/vfs.c: Don't close a function definition with "};". SunCC from
2.5.1 chokes on the extra semicolon.
(mc_munmap): Don't dereference function pointer when checking for
NULL (this check is supposed to prevent a segfault instead of
causing one). This haven't got noticed up to now becaue there's no
file system with mmap but without munmap.
* popt.c, popt.h, poptconfig.c, popthelp.c, poptparse.c:
updated to the version found in the popt module
* features.inc: added report information for smbfs
* gnome/gmc-chargrid.c (update_strip): Paint every character with the
assigned fore and background color instead of using the colors of
the first character for the whole line.
1999-06-24 smil@linuxfan.com
* src/view.c (view_update_bytes_per_line, display): show correctly the
offset of the file (full 8 digit), display offset in bold colour
(view_labels): use goto_addr instead of goto_line in hex mode
(goto_addr): New function. Goto offset address in hex mode.
* src/view.h: use unsigned long for hexedit cursor position in file
* file.c (move_dir_dir): Give an error when an attempt is made to
move an empty directory into itself.
1999-06-14 Wayne Roberts <wroberts1@cx983858-b.orng1.occa.home.com>
* vfs/smbfs.c: New file. Implements the Samba-based file system.
* vfs/vfs.h: Declare vfs_smbfs_ops, vfs_file_is_smb.
* vfs/vfs.c (vfs_file_is_smb): implemented.
(vfs_init) register smbfs.
* vfs/samba: Incorporate SAMBA source code required for smbfs
1999-05-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
* Make.common.in (confdir): Define confdir as sysconfdir. This
should fix the problem we had with FSSTND distributions.
David for the ChangeLog entries).
1999-06-22 David Martin <dmartina@usa.net>
* gnome/gnome-file-property-dialog.c (switch_metadata_box): Tag some
strings for localization.
* gnome/gnome-open-dialog.c (gnome_open_dialog_new): Don't assemble
label_string from seperate strings (makes it easier to translate).
* src/view.c (display): added view_gotoxy's in order to make hex mode
work in the gnome edition.
* gtkedit/gtkedit.c (tb_items): Mark strings for localization.
1999-06-22 Norbert Warmuth <nwarmuth@privat.circular.de>
* gnome/gview.c (viewer_size_changed): Update internal viewer state used
in hex mode.
And some fixes to the bug reported on mc-bugs ("Two Big Bugs in
Quickview@mc").
1999-06-22 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/cmd.c (quick_view_cmd): Change panel when the file we want to
view isn't in the current panel (prevents a "file not found"
error).
* src/menu.c (menubar_execute): De-activate the menubar previous to
invoking the callback. This is needed to make change_panel in
quick_view_cmd work (the activated menubar doesn't allow unfocus,
i.e. dlg_one_down|up don't change anything).
* src/view.c (do_view_init): improved error handling w.r.t quick view
(mc used to dump core when the file to view couldn't be opened).
* src/user.c (user_menu_cmd): Allow national characters as hotkeys.
Don't dump core when the menu file contains only empty lines
* src/view.c (search, block_search): Use the correct column for the
percent display while searching.
Fri Jun 18 11:49:05 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/ftpfs.c (resolve_symlink_with_ls_options): Some ftp servers don't
make a difference between "LIST -la" and "LIST -lLa". If we find such
a server don't use -lLa when resolving symbolic links.
* complete.c (complete_engine): Put an #ifndef HAVE_GNOME around
the completion/query engine. Make the Gnome version just beep
instead. We do not have the completion/query engine for Gtk.
1999-06-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gwidget.c (x_update_input): Unblock the changed signal *after*
we call gtk_editable_changed().
* gnome/gdesktop-icon.h:
* gnome/gmc-chargrid.c: Replace gdk_font_load() with
gdk_fontset_load(), and change the default font names.
1999-06-01 Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
* util.c (is_printable): in GNOME all characters are printable.
Mon May 17 07:30:48 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* configure.in: Added check for getpt ()
* src/subshell.c (pty_open_master): use getpt () if available to open
the master side of the pty. getpt () is a glibc extension and is
needed when glibc 2.1.x is used with a (linux) kernel without unix98
style ptys (if there is no /dev/ptmx getpt falls back to bsd style
ptys).
* src/filegui.c (check_progress_buttons): Don't update the Gpm mouse
cursor when we check for events. It causes a flickering cursor on a
different virtual console.
* src/util.c (strip_home_and_password): Don't split the path in the
middle of a directory, e.g. "/home/bofh" will not be translated to
"~h" (fixes the bug reported by Alex Fortuna <alex@rdc.ru>)
* find.c: The origin of the bug is in the function do_search (file
find.c). It limits the number of subdirectories to scan by the
number stat.st_nlink-2, or infinite if st_nlink<2. On tar vfs,
st_nlink is always 1, so it should be the second case.
But before doing stat, do_search does opendir. And opendir on tar
vfs (vfs_s_opendir in vfs/direntry.c) increases the st_nlink value
in the stat data! So mc_stat called after mc_opendir on tar vfs
returns st_nlink==2 instead of 1. This is interpreted as if the
directory had no subdirs, thus subdirs are not searched in.
Changing the order of calls to mc_stat and mc_opendir fixes the
problem.
* src/ext.c (exec_extension): Use tempnam instead of tmpnam (AIX doesn't
like the lattern when compiled with -mthreads).
* src/user.c (execute_menu_command): ditto.
Wed Apr 21 22:04:30 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* gtkedit/editcmd.c (edit_save_file): MAD knows about tempnam, no
need to fool it by strdup'ing the return value of tempnam.
Wed Apr 21 21:59:50 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/extfs.c (extfs_open): tempnam returns a malloced string, no need
to strdup it
(various places): use free instead of g_free to free string returned
by tempnam.
`--with-tm-x-support'
This option enables minimal X Window support in the text edition. It
enables MC to query the status of the modifiers CONTROL and SHIFT
when invoked in a terminal emulation under X11. That's necessary
to recognice key combinations like C-HOME or S-Cursor key.
Wed Apr 21 20:37:32 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* configure.in: New option --with-tm-x-support, use MCCFLAGS and
MCLIBS for build flags which are specific to the text edition.
* INSTALL: Added documentation for --with-tm-x-support
* src/Makefile.in: use MCCFLAGS and MCLIBS
Wed Apr 21 20:19:45 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/key.c (get_modifier): Query the state of the modifier keys when
running inside a terminal emulation under X11.
* src/key.c (init_textmode_x11_support, done_textmode_x11_support): new
functions, only used in the text edition. Connect to and disconnect
from the X Server when DISPLAY is set.
* src/key.h: added prototypes for the new functions
* src/main.c (main): call (init|done)_textmode_x11_support
* src/view.c (do_view_init): Enable viewing of files with negative
st_size (This reverts part of a patch I commited recently. Miguel
provided a better fix for this issue).
* treestore.c (tree_store_save_to): Moved the functionality from
tree_store_save() to here.
(tree_store_save): Save the tree in the default location in an
atomic fashion.
(tree_store_load_from): Moved the functionality from
tree_store_load() to here.
(tree_store_load): Load the tree from the default location.
* treestore.h (MC_TREE_TMP): Added a #define for the temporary
name we'll use when saving the tree. Moved the #defines from
tree.h over to here.
* main.c (main): Use tree_store_load() and tree_store_save().
Removed the mc_tree_store_load/save() versions.
* tree.c (load_tree): Use tree_store_load().
(save_tree): Use tree_store_save().
st_size < 0 ...
Fri Apr 16 07:50:59 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/view.c (do_view_init): Don't view files with negative file size.
Added some error checking (I'm not sure whether this is needed).
* src/wtools.c (message): Use g_vsnprintf instead of vsprintf.
* configure.in: Linking from $srcdir/slang is broken when configure
isn't called with an absolute path. Link from ../$srcdir/slang if
configure was invoked with a relative path.
* gscreen.c (panel_setup_drag_scroll): Made it not return
anything, since scrolling is independent from any other
prelighting actions.
(panel_tree_drag_begin): Do not print debugging message.
(panel_drag_data_get): Assert that we were requested a valid data
type.
(panel_create_tree_view): Only specify GTK_DEST_DEFAULT_DROP for
the tree, since we want to present the correct feedback when the
user is hovering over the blank area in the tree.
(panel_build_selected_file_list): Made it return char *.
(panel_tree_drag_end): Free dtree->drag_dir, not dtree->current_path.
(tree_drag_open_directory): Use panel->drag_tree_node instead of
the coordinates hack.
1999-04-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (panel_setup_drag_scroll): Made it not return
anything, since scrolling is independent from any other
prelighting actions.
(panel_tree_drag_begin): Do not print debugging message.
(panel_drag_data_get): Assert that we were requested a valid data
type.
* slang/slutty.c (SLsys_getkey): handle EOF on stdin (return
SLANG_GETKEY_ERROR on EOF instead of returning garbage)
* slang/Makefile.in (clean): remove the symbolic link slang.h on the
distclean target and not on the clean target.
Tue Apr 13 07:14:10 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/slint.c (getch): Quit MC when SLang_getkey returns an error. Looking
at the code that's only the case when we read EOF from stdin.
This fixes the problem where MC consumes a lot of cpu time while
reading EOF from stdin in a tight loop. This situation arises when the
terminal line/connection drops without MC being sent SIGHUP.
Tue Apr 13 06:07:05 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* configure.in: Some AC_ARG_WITH macros haven't checked $withval, i.e.
--with-PACKAGE and --without-PACKAGE gave the same results.
* main.c (_do_panel_cd): If we are using GNOME, and the panel is a
desktop panel, open up a new panel for the contents.
gnome/
* gdesktop.c (create_panel_from_desktop): Assign selected_index
when we find the last selected icon.
(desktop_icon_info_open): Desktop directory open case moved to
main.c to handle both general and action cd commands.
vfs/
* extfs.c (extfs_unlink):
(extfs_mkdir):
(extfs_rmdir):
(remove_entry): New functions.
(vfs_extfs_ops): Add unlink, mkdir and rmdir functions to table.
Add descriptions for these to the extfs README.
* gscreen.c (panel_icon_list_button_press): Ignore double clicks.
(panel_widget_motion): Don't do anything if the button state does
not match the button we are expecting.
* gtkflist.c (gtk_flist_button_press): Remove pending selections
when we receive a double click.
* gaction.c: #include "view.h"
everywhere; every time you invoke a file.
* src/screen.c (do_enter_on_file_entry): split GNOME version and
non-gnome version.
(parse_display_format): listen to the warning.
* gscreen.c: make sure that we bring up an open_with if
open it.
* gcmd.c (gnome_select): new selection dialog.
* gdesktop-init.c (desktop_init_at): do not use access for it is
poor when you are root.
1999-04-07 Jonathan Blandford <jrb@redhat.com>
* screen.c (do_enter_on_file_entry): added a consistent behaviour
for GNOME stuff.
* gcmd.c: marked message for translation.
1999-04-06 David Martin <dmartina@usa.net>
* info.c (text out of box and locale layout).
* util.c: If gmc uses strftime() why mc doesn't?
* view.c: a) Tune status line so it does fit in a Quick View Panel
b) Let Hex View resize cleanly. I think it's fixed for panel
re-split and SIGWINCH signal in xterm. gmc still fails. There was
a tiny risk of division by zero when pressing F4 in a very small
box. True hard work... Must try and check it.
1999-04-06 David Martin <dmartina@usa.net>
* Updated es.po
* gmetadata.c (gmeta_del_icon_pos): New function to delete the
icon position metadata from a file.
* gcmd.c: Removed unused function gnome_quit_cmd().
1999-04-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
* main.c (main): Call mc_tree_store_save() when the program
terminates.
1999-04-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gprefs.c: Add new page for desktop properties.
1999-04-05 Ronald de Man <deman@win.tue.nl>
* gnome-file-property-dialog.c (create_general_properties): Use
local time here.
1999-04-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
* setup.c: Save desktop information.
* cons.saver.c (main): dup2() may be interrupted; take this into
account. Do we need to fcntl() stderr, or is it enough to close()
it before recreating it?
are almost complete (i.e. to handle all nitty gritty cases), but they
seem to be working OK right now. SM should be much more stable now.
Please tell me if you find any weird behavior - Federico
1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop-icon.c (desktop_icon_realize): Remove the
WM_CLIENT_LEADER property from icon windows so that window
managers will not store SM information for them.
* gnome-open-dialog.c: Added missing #includes.
* gdesktop-init.c (desktop_init_at): Removed an unused variable.
* gdesktop.h: Added some missing prototypes.
* gmain.h: Added some missing prototypes.
* Makefile.in: Added gsession.[ch] to the list of sources.
* gmain.c (create_panels): Consider whether we have a CORBA server
and session management.
* gdesktop.c: #include "gdesktop-init.h"
* gdesktop.c: Added a missing cast to GNOME_DIALOG.
* gmain.c (create_panels): Removed the run_desktop global
variable.
* glayout.c (create_container): Set the wmclass of the panel to
include its unique ID.
* gsession.[ch]: New file with the functions that deal with
session management.
* glayout.c (gnome_exit): Use session_set_restart().
* gcorba.c (corba_init): Now returns an int with an error value.
(corba_init_server): Initialize the server properly.
Fixed all the object implementation code.
(corba_create_window): New function used to create a window with
the CORBA server.
* gmain.c (gnome_check_super_user): Now the check for running as
root is done here. There should be no GUI code in src/.
1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* dlg.c (dlg_run_done): Do not call the callback of a NULL current
widget.
* setup.h: Added missing prototype for setup_init().
* filegui.c (check_progress_buttons): Added a missing return
value.
* dlg.c (remove_widget): Added a missing return value.
* main.c: Removed the global directory_list variable.
Removed the main_corba_register_server() function.
* main.h: Removed the global run_desktop variable.
* panel.h: Now the panel structure has a unique numerical ID used
for session management.
* screen.c (panel_new): Maintain a unique ID for each panel.
* main.c (maybe_display_linksdir): Handle display of the desktop
init dir here.
(main): Call gnome_check_super_user().
(init_corba_with_args): Call corba_init_server().
* main.c (init_corba_with_args): Do CORBA initialization here. Also
removed the global force_activation option.
1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* vfs.c (vfs_add_current_stamps): Only do stamping of the panels
if they exist.
* mcserv.c: #include <sys/wait.h>
(get_client): Put `#ifdef __EMX__' around an otherwise-unused
variable.
* utilvfs.c (vfs_split_url): Fix NULL <-> 0 confusion when
comparing characters.
* ftpfs.c (retrieve_dir): Removed unused variable dot_dot_found.
* extfs.c (extfs_init): Assign `key' to c, not `&key'.
* configure.in: Deleted duplicate VFS checks. GNOME_VFS_CHECKS
now contains all VFS checks.
* src/util.c (is_printable): Character 155 is non printable even when
full eight bit output is enabled (on the linux console 155 is
interpreted as "ESC [").
* vfs/vfs.h (vfs_translate_url): Fixed the macro which is used when
compiling without vfs.
* macros/gnome-vfs.m4: Add --with-vfs option. GNOME_VFS_LIBS still needs
to be fixed but that's not a problem because there's no libvfs, yet.
* Make.common.in: There were conflicting definitions of mclibdir
(one for installation, one for source). Now the source one is
called mcsrclibdir.
* doc/Makefile.in: Use mcsrclibdir where appropriate.
1999-03-24 Federico Mena Quintero <federico@nuclecu.unam.mx>
* Makefile.in: Use mcsrclibdir where appropriate.