flags moved out of CFLAGS as recommended by GNU coding
standards.
* configure.in: Don't add GLIB_CFLAGS to CFLAGS.
* Make.common.in: XINC eliminated. GLIB_CFLAGS is now added to
XCPPFLAGS.
* INSTALL (Random notes on porting to other architectures):
Completely rewritten. Recommended using CFLAGS instead of XINC.
"make distclean" breaks.
* edit/Makefile.in, gnome/Makefile.in, gtkedit/Makefile.in,
slang/Makefile.in, src/Makefile.in, vfs/Make-mc.in: $(RMF)
replaced with "rm -f" - the stangard says that "rm" is portable.
Ditto $(MV). Adjusted *clean targets to match those in
Automake. Removed "cross" target.
gtkedit/Makefile.in, slang/Makefile.in, src/Makefile.in,
vfs/Make-mc.in: preserve timestamp on "make distdir", otherwise
mc.pot becomes out of date in the tarball.
Put links to the build directory. Don't link headers, change
includes accordingly. gdialogs.o removed from OOBJS. Link
only sources we need. Obsolete comments removed or updated.
* Makefile.in (CFLAGS): -I$(rootdir)/src removed from CFLAGS -- it
breaks compilation on glibc2.1 systems because glibc includes
src/features.h instead of it's own features.h. Run `make
cleansourcelinks; make sourcelinks' in case mc doesn't find it's
include files.
* gmount.c (create_device_link): Fix memory leak. Also, make sure
the icon is dead before making the link. This is necessary in
case your metadata database gets fubarred.
* gtkdtree.c (gtk_dtree_construct):
* gscreen.c (panel_create_tree_view): don't set the tree's line
style
* gprefs.[ch] (create_prop_box): only set the parent if the parent
exists
(create_prop_box): only show the custom tab if we have a parent
panel
(gnome_configure_box_with_desktop): add a param for optionally
doing the desktop prefs
(gnome_configure_box): wrap the other function
* gdesktop.c (set_desktop_icons): show icon properties
(desktop_popup_items): add an item to configure icons
* gpopup2.c (handle_empty_trash): Finished trash can. Now I just
need an icon.
2000-06-15 Jonathan Blandford <jrb@redhat.com>
* gpopup2.c: Add "Move to Trash" as an option to the popup menu.
Also, "Empty Trash" as appropriate.
* gscreen.c (file_list_popup): Removed New File command. It
wasn't working, and didn't do anything useful, anyways. Added
"Empty Trash" to the options for the menu.
* gdesktop.c (get_icon_snap_pos): Icons no longer count themselves
in the slot count.
* gdesktop.c (desktop_reload_icons): Icons are no longer
auto-arranged every time the user logs in (or in IceWM, the weird
icon focusing problems are fixed). An old and broken version of
the snap-to-grid patch was committed to CVS, causing these
problems.
* src/user.c: Add macro %k it is block file name
Add macro %e it is error file name
Add macro %i it is cursor column indent of spaces, only for edit
Add macro %y, it is syntax of current file in editor, only for edit
Add condition y , it is syntax pattern of current file in edit
Add macro %x it is extension of current file
Add macro %m it is current menu filename
2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
* gtkedit/editcmd.c: Modify External Formatter (was C indent formatter) .
Autocreate a scripts in home, from templates /usr/lib/mc/edit.indent.rc,
edit.ispell.rc, etc. Remove leading and trailing spaces into _(""),
(the message of David H. Martin <dmartina@usa.net>)
2000-05-05 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
* src/user.c: Add condition (x filename) into mc.menu .
for "Open next a free console" and like.
2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
src/user.c: fix segfault in chunk_alloc of glibc, when into condition
of .mnu we have quoted space. (~.mc/menu: + f \.\ test$).
2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
* gtkedit/edit.c:
Add ability user edit menus: system: /usr/lib/mc/cedit.menu,
* gtkedit/editmenu.c: home: ~/.cedit.menu, local: .cedit.menu
Marked block is access now from an user edit menu
Access ~/.cedit/cooledit.block for insert to cursor place from
user edit menu.
Created system cedit.menu
2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
* gtkedit/editdraw.c:
Improved a status string of cool editor for best understand,
and to add char,hex view.
2000-05-04 Richard Hestilow <hestgray@ionet.net>
* gnome/gdesktop.c: Fixes snap to grid.
* gaction.c (gmc_open_filename): Usae open.flags to determine
whether we need a terminal.
(gmc_open_filename): Fix the logic to make it work properly with
.desktop and .kdelnk files.
* gdesktop.c, gdnd.c, gaction.c, gicon.c,
gnome-file-property-dialog.c, gpopup.c, gpopup2.c, gprefs.cgmain.h,
setup.c: Add option of using GNOME "magic" routines to determine file
types. This makes MC intelligently look at the data in the file to see
what type of file it is, rather than looking at the filename extension.
This slows down MC quite a bit, so it has been made an optional
preference item. Type detection is expected to improve as mime-magic
matures.
* configure.in: Massive changes to build system to permit
gnome-2.0 compilation. From here on out, you need gnome-2.0 or
greater installed.
You will prolly not be able to get this to work.
* gaction.c (gmc_open_filename): Use gnome_mime_needsterminal()
instead of gnome_mime_type_or_default(). This was a thinko.
Thanks to Aaron Lehmann <aaronl@vitelus.com> for pointing this
out.
* gdesktop.c (desktop_arrange_icons): Return immediately if there
are no icons in the desktop. BUGFIX: bugs.gnome.org #3789.
(desktop_popup): Desensitize the "arrange icons" commands if there
are no icons in the desktop.
* make_thumb.c: close symlink hole
* *.c: add return_val_if_fail, it is better than crashing. Sorry
about that *image = NULL, but gcc should be able to optimize
out in non-debugging case.
* gpopup2.c (create_actions): Now the Mount/Unmount/Eject device
code will be lumped together with the other MIME_ACTIONS, even
thought they're not controlled there.
* gmain.c, gmain.h: add a '--disablerootwarning' flag which
disable the iritating "You're running gmc as root." dialog box.
(idealy, that box should also contain a "don't show this
message again" checkbox; any objection?).
* gcorba.c (corba_activate_server): New function. Activate the
POA manager here, when we are actually ready to process requests,
instead of at the beginning of initialization.
* gmain.c (create_panels): Call corba_activate_server().
* gscreen.c (panel_chdir): Clear the lists if the chdir operation
was not successful.
* gtkflist.c (gtk_flist_button_press): Only emit the open_row
signal if we are not on the empty area.
* gscreen.c (x_create_panel): Do not change the dialog head's
current pointer.
* gmain.c (x_init_dlg): Only call x_focus_widget() if there is a
current widget.
(non_corba_create_panels): Removed the nasty hack that created a
dummy panel and destroyed it in the idle loop. Wheeeeeee!
1999-09-21 Federico Mena Quintero <federico@redhat.com>
* dlg.c (init_dlg): Walk the list of widgets only if it exists.
(dlg_broadcast_msg_to): Use safer list-walking code for if someone
inserts a widget inside the message broadcast.
* dlg.c (init_dlg): Walk the list of widgets only if it exists.
1999-09-21 Federico Mena Quintero <federico@redhat.com>
* gmain.c (x_init_dlg): Only call x_focus_widget() if there is a
current widget.
* gdesktop.c (handle_recreate_default_icons): New option to
re-create the default set of icons.
* gdesktop-init.c (gdesktop_links_init): Create the link to the
user's home directory here.
1999-09-20 Federico Mena Quintero <federico@redhat.com>
* gcorba.c (WindowFactory_get_windows_by_directory): Fill in the
sequence correctly.
* gsession.c (load_panel_info): Doh. Fix test for presence of the
cwd info.
(load_session_info): If we could not load the panel info, do not
insert bogus data in the list.
* gsession.c (load_panel_info): Doh. Fix test for presence of the
cwd info.
(load_session_info): If we could not load the panel info, do not
insert bogus data in the list.
The following is a patch from Volker Braun
<volker.braun@physik.hu-berlin.de> to fix column resizing in the
file panels.
* gcustom-layout.c (custom_layout_apply): Set the
default_user_format to the new format.
* gscreen.c (panel_fill_panel_list): Set the column widths
according to the previously stored values.
Nuked the old and hideous panel_file_list_configure_contents().
(panel_file_list_configure): Connect to resize_column in the clist.
(panel_create_file_list): Do not connect to size_allocate.
(x_create_panel): Set the column width array for this panel. Set
the user format from the default one if it exists.
* gsession.c (PanelInfo): Added information about column widths
and the user format.
(save_panel_info): Save the complete information.
(load_panel_info): Load the complete information.
(free_panel_info): Free the user format.
(idle_create_panels): Set the user format and column widths.
1999-09-20 Federico Mena Quintero <federico@redhat.com>
The following is a patch from Volker Braun
<volker.braun@physik.hu-berlin.de> to fix column resizing in the
file panels.
* setup.c (options): Declare the column width option values.
(save_configure): Save the default user format.
(load_setup): Load the default user format.
* panel.h (WPanel): Added a field for the column widths.
* lib/startup.links: Changed the news link to Gnotices
1999-09-19 David Martin <dmartina@usa.net>
* gtkedit/editcmd.c (edit_print_string): Use unsigned char so that
8 bit chars from strftime get displayed when inserting date.
* lib/mc.ext.in: Add entries for bzip2 compressed pages as used in
Mandrake 6.0. The generic entry for bzip2 moved to the end of the
file to avoid interferences. In this one I changed the extension check
to a type check (as used for gzip) which might give problems in some
systems.
* src/user.c (check_patterns): char* is used instead of char [] in sizeof
* src/util.c (string_perm): prefix named pipes by 'p' and not by `s'
1999-09-19 David Martin <dmartina@usa.net>
* gtkedit/editcmd.c (edit_print_string): Use unsigned char so that
8 bit chars from strftime get displayed when inserting date.
* lib/mc.ext.in: Add entries for bzip2 compressed pages as used in
Mandrake 6.0. The generic entry for bzip2 moved to the end of the
file to avoid interferences. In this one I changed the extension check
to a type check (as used for gzip) which might give problems in some
systems.
* configure.in: Use -Tlatin1 to format man pages when available and
"view" 8 bit chars.
1999-09-19 Norbert Warmuth <nwarmuth@privat.circular.de>
* gtkedit/edit.h: Include files reordered in order to make it compile with
--with-debug
* gtkedit/editcmd.c (menu_save_mode_cmd): calculate dialog width
dependent on lenght of translated strings to display.
* src/mad.c, mad.h, util.c, util.h: Move mad-functions from util.[ch]
to mad.[ch]
* src/option.c: Include files reordered in order to make it compile with
--with-debug
* src/mad.c (mad_init): New function. Initialize debug FILE pointer to
stderr (moved to a function because not on every system stderr is
a constant).
(mad_set_debug): added const qualifier
* src/main.c (main): call mad_init
* po/*.po: s/defination/definition/
* gnome/Makefile.in ($(MAGICDEV_GENERATED)): Make it compile with $buildir
!= $srcdir.
* vfs/ftpfs.c (ftpfs_set_debug), vfs.h: added const qualifier.
* vfs/mcserv.c: removed definition of mad_strconcat which is also
in mad.c.
* smbfs.c: #define NO_CONFIG_H before including the samba
includes; this way it will not re=define HAVE_LIBREADLINE. This
situation sucks. Should we change the names of the widget.h
history_*() functions?
1999-09-17 Federico Mena Quintero <federico@redhat.com>
* gmain.c (x_init_dlg): Display a warning if the GtkTed code path
is ever reached.
(xtoolkit_create_dialog): Likewise.
(x_add_widget): Likewise.
* Remove the magicdev autoconf test in favor of just
including the idl file. Otherwise we have a dependency
loop between this and magicdev.
1999-09-16 Owen Taylor <otaylor@redhat.com>
* gmount.c: Remove the HAVE_MAGICDEV conditional.
* Makefile.in magicdev.idl: Add the magicdev.idl file
here to avoid creating dependency loops.
this dialog doesn't look perfect but at least it doesn't break gmc.
1999-09-14 Norbert Warmuth <nwarmuth@privat.circular.de>
* gnome/layout: Added the new samba password dialog.
* src/widget.[ch] (input_new): added const qualifier
* src/util.c (wipe_password): Check for NULL.
1999-09-14 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/smbfs.c (various places): Store filenames in memory with the unix
character set and convert it back to the dos character set when filenames
are passed back to the samba server. If samba is configured correctly
this will fix the problems with filenames which contain national characters.
(bucket_set_authinfo): Set domain, username and password which will
be used to log on and authenticate against the samba server and remember this
information on a host/share basis. If set use PASSWD to get the
password. If already authenticated against the host and share use this
information. If already authenticated against host and IPC$ use this
information. If neither of the former is true ask the user how to
log on.
(authinfo_get_authinfo_from_user): New function. Query the user for
domain, username and password to use for authentication.
(authinfo_free): New function. Free memory in authentication structure.
(authinfo_free_all): New function. Free the list used to remember
authentication information.
(authinfo_compare_host_and_share, authinfo_compare_host): New functions.
Helper functions used to search the authentication list.
(authinfo_add): New function. Add one authentication entry to the
authlist.
(authinfo_remove): New function. Remove one entry from the authlist.
(free_bucket): Free memory associated with one bucket.
(smbfs_get_free_bucket): Initialize the complete connection array
with 0. Free the memory allocated for a bucket and initialize the
bucket before reusing it.
(smbfs_open_link): use new functions to get authentication information
(get_stat_info, smbfs_stat): remove unused variables.
* Makefile.in (MAGICDEV_OBJS): Built common/stubs
for magicdev if we found it.
* gmount.c (automounter_is_running): If we detected
magicdev support at compile time, use a CORBA query
to detect if it is running.
* gcorba.c (WindowFactory_get_windows_by_directory): Set the
length of the sequence we are returning.
* gmount.c (setup_devices): is_block_device_mounted expects
mount point, not device.
* gtkdtree.c (scan_subtree): Do not set the current path here,
just load the subtree.
(gtk_dtree_get_row_path): Removed the column argument, since it
was never used.
(scan_subtree): Added a path argument that can be calculated
upstream.
(gtk_dtree_expand): Compute the path for scan_subtree().
(gtk_dtree_select_row): Compute the path for scan_subtree(), and
set the tree's current path here. This is the right thing;
setting the current path is completely orthogonal from scanning a
subtree.
* gtkdtree.c (gtk_dtree_class_init): Sigh. Create a new signal,
called "possibly_ungrab", used to request the client to ungrab the
mouse at the proper time. This is required because the stupid
clist button press handler grabs the mouse, and we don't want that.
(gtk_dtree_select_row): Emit the possibly_ungrab signal here.
* gscreen.c (panel_tree_drag_motion): Set the
panel->drag_tree_dragging_over flag.
(panel_tree_drag_leave): Unset said flag.
(panel_tree_possibly_ungrab): Ungrab the mouse here.
* gmount.c (setup_devices): See if our supported automounter,
magicdev, is running and only create links for mounted CD-ROMs if
so.
(automounter_is_running): For now just return TRUE; we have to
wait for magicdev to export a CORBA server.
* gcorba.c (corba_init_server): Initialize the POA here instead of
in register_servers().
* gmc-client.c: New file. This is a small program to which you
can pass arguments to call the GMC CORBA interface for you. You
can do stuff like create a directory window, rescan the desktop,
etc.
* mc.keys.in.in: changed image/x-xcf to be image/x-gimp. Also,
associated gimp with the various actions. This prolly should be
done distributed with gimp, but it's more useful here.
* gscreen.c: Added it here too.
* glayout.c: Add File-new option here
* gcmd.c (gnome_newfile_cmd): Added new routine. Invoke when you
want to create a new file.
* gdnd.c (file_has_drop_action): New function to test whether a
file has the drop-action metadata or MIME action property.
(gdnd_validate_action): Take the drop-action metadata/MIME
property into account.
(gdnd_can_drop_on_file): New function to see whether a
non-directory file can take drops.
* gscreen.c (drop_on_panel): New helper function to drop stuff on
a panel. This uses gdnd_can_drop_on_file so that we have the
correct behavior. This enables dropping on executables and files
with the drop-action metadata/MIME property again.
(panel_icon_list_drag_data_received): Use drop_on_panel().
(panel_clist_drag_data_received): Use drop_on_panel(). Normalize
the Y coordinate to the clist_window.
* 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.
* gdesktop-prefs.[ch]: New files that handle the desktop
preferences page. Now we have a nice way to configure the
position of desktop icons.
* gprefs.c (create_prop_box): Use desktop_prefs_new() to create
the desktop preferences page.
(apply_page_changes): Do not update the desktop here.
(apply_callback): Take the desktop page into account.
* gdesktop.c (desktop_use_shaped_text): Renamed from
desktop_use_transparent_text.
* Makefile.in: Added gdesktop-prefs.[ch] to the list of sources.
* gmain.c (default_edition_colors): "brightred" is not a standard
X color; use "red" instead.
(get_color): Take into account the result of gdk_color_parse().
* 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.
* gscreen.c (panel_fill_panel_list): Select or unselect the rows
as appropriate, not just select them. This is needed because the
clist changes the selection under us when appending rows.
Finally, do not call select_item() at the end; just reset the
panel->selected value.
(panel_fill_panel_icons): Likewise.
(tree_drag_open_directory): Disabled the auto-collapse
functionality yet again, since it has numerous problems. BUGFIX:
GNOME bug tracker #1656.
* gcmd.c (gnome_reverse_selection_cmd_panel): Re-enabled this
function. The reverse selection bug was somewhere else after all.
* glayout.c (gnome_panel_edit_menu): Re-inserted the item for
reverse selection. It was pointing to the wrong callback, that is
why it never worked.
* 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.
The two following entries are BUGFIX: GNOME bug tracker #1789.
* gscreen.c (panel_fill_panel_list): Do not allow selection of "..".
(panel_icon_list_select_icon): Likewise.
* glayout.c (gnome_panel_edit_menu): Removed the Invert Selection
command. It is completely broken for the expected GNOME
semantics.
* gnome-file-property-dialog.c (perm_group_new): If the file
belongs to an unknown user/group, use the group's number as a
string for the entry box. BUGFIX: GNOME bug tracker #1414.
(perm_owner_new): Do the same thing for the user.
* 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.
* 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.