* glayout.c (create_container): Use gtk_window_set_default_size(),
not gtk_widget_set_usize().
* gdesktop.c (get_slot_from_pos): Clamp the slot positions to be
inside the screen.
* gmain.c (gnome_check_super_user): Improved the message a bit.
* gtkdtree.c (scan_subtree): Moved the functionality to scan a
subtree to this function. Also, do not emit the DIRECTORY_CHANGED
signal here.
(gtk_dtree_select_row): Call scan_subtree() and emit the
DIRECTORY_CHANGED signal here.
(gtk_dtree_expand): Do not select the just-expanded node. Call
scan_subtree().
(gtk_dtree_collapse): Only select the node if it is an ancestor of
the currently-selected node. This should really go in the
GtkCTree sources.
(gtk_dtree_init): Bad hack: unset the GTK_CAN_FOCUS flag to avoid
the broken focusing behavior of GtkCTree.
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'.
This is a semi-big slew of changes to integrate the DESKTOP_BRANCH
into the main trunk. Now the gdesktop code creates a temprary
WPanel structure and passes it on to the core file management
functions. Also, the menu code is improved (we now use gpopup2;
gpopup should go away shortly and gpopup2 should replace it).
This makes the desktop act consistently with the file panels.
Thanks to Jonathan for his help with this branch.
* gdnd.c (perform_action): Use mc_lstat(), not mc_stat().
* glayout.c (update_panels): Do not update the panels that are
desktop panels.
* gdesktop.c (icon_is_in_area): An icon is not considered to be in
a 0x0 area.
* gpopup2.c (handle_open): Fetch the desktop icon from the
filename and call desktop_icon_info_open().
* gdesktop.c (desktop_icon_info_get_by_filename): New function to
look up a desktop icon by its filename.
* glayout.c (create_new_menu_from): Test for the ".desktop" suffix
correctly.
* gpopup2.c (handle_properties): If the file comes from a desktop
panel, always allow edition of the icon image.
1999-03-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* file.c (erase_dir): Erase metadata for directories as well.
(erase_dir_iff_empty): Likewise.
(copy_file_file): Delete/copy the metadata even for
char/block/sock/fifo files. Same thing for when copying symlinks.
(copy_dir_dir): Delete/copy the metadata.
(move_dir_dir): Delete/move the metadata.
(recursive_erase): Delete the metadata.
Miguel.
1999-02-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gcmd.c (gnome_open_terminal_with_cmd): New routine, based on the
gnome_open_terminal routine, that will allow the user to specify a
command to execute (used internally).
* gaction.c (gmc_edit_filename): Support for the GNOME editor
environment properties.
* gdesktop.c (create_desktop_dir): Support GNOME_DESKTOP_DIR
variable to configure the desktop directory.
* main.h: Added prototype for main_corba_register_server().
1999-02-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (ILIST_FROM_SW): New macro to extract the icon list
from the scrolled window.
(panel_create_icon_display): Create a scrolled window and put the
icon list inside it. Changed the rest of the code to know about
this.
* gcorba.c (do_window_close): It turns out that we *do* need to
call CORBA_free(). It was a bug in ORBit which was causing this
to crash.
Wed Jan 27 03:14:46 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib - where it wasn't done. Now we
use g_new()/g_malloc()/g_strdup()/g_free() routings. copy_strings() re-
placed by g_strconcat(), and sprintf() by g_snprintf(). Some other,
minor changes.
* gcmd.c (ep_add_callback): Set Window's position to
GTK_WIN_POS_MOUSE.
(gnome_external_panelize): ditto.
(gnome_filter_cmd): ditto.
* gdialogs.c (file_progress_query_replace_policy): Set Window's
position to GTK_WIN_POS_MOUSE.
(file_progress_real_query_replace): ditto.
(file_mask_dialog): ditto.
* gdialogs.c: Tag the strings for localization. Remove debugging
messages.
* gmain.c (gmc_window_setup_from_panel): Helper routine used to
set the GTK_WIN_POS_MOUSE on a window and set the parent with
gnome_dialog_set_parent (iff you have the WPanel * pointer to the
parent).
* gtools.c (query_dialog): Set the window position to GTK_WIN_POS_MOUSE.
* gtkdtree.c (gtk_dtree_destroy): Kill the add_entry notification hook.
(gtk_dtree_init): Install a notification function for treentry.
removal.
(entry_added_callback, entry_removed_callback): Implemented. Now
the tree is in sync with the panels and reload will update the
tree correctly.
1999-01-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
* treestore.c (tree_store_remove_entry_remove_hook): Missing
function. To remove a notification hook.
(tree_store_notify_add, tree_store_add_entry_add_hook,
tree_store_remove_entry_add_hook): New functions to notify of
additions to the treestore.
* tree.c (tree_destroy): Remove the callback hook when we go
away.
try "make clean; make".
Tue Dec 29 15:49:45 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* doc/mc.sgml, mc1.in (Color section): minor polishing
(Layout section): documented Highlight...
* gnome/gmain.c: According to the man page the color keyword for executable
files is `executable' and not `execute' -- changed.
* file.c (progress_update_one): Ignore files in subdirectories
when panel totals haven't been computed.
(erase_dir, erase_file): update progress bar (i.e. make it work
for OP_DELETE).
(panel_operate_flags): Don't compute panel totals for OP_MOVE.
When moving files on the same filesystem computing totals might
last much longer than the actual move operation.
(various places): adpations for the above changes.
* slint.c (try_alloc_color_pair): Changed hardcoded values into
defines.
* color.c, text.c: Added color "stalledlink" which is used for
stalled symbolic links. Formerly "viewunderline" was used for
this (IMO bad because function and name didn't match).
According to the man page the color keyword for executable files
is `executable' and not `execute' -- changed.
* color.c, color.h: When using SLang some color indexes are not
freely choosable (DEFAULT_COLOR clashed with A_BOLD_REVERSE).
Solved by adding holes in color_map.
* find.c (do_search): fixed possible memory leak
* gdesktop.c (file_entry_from_file): Finished implementing
file_entry_from_file().
(struct desktop_icon_info): Removed the `type' field. We now stat
the file when needed to figure out the file type.
(desktop_icon_info_event): Test whether the file is a directory by
ourselves, and if it is, open a new panel for it.
(drag_data_get): Generate the uri-list for internal desktop icon
drags as well.
* Makefile.in (codedirs): Dropped xv and tk ports from the
distribution. include idl directory.
1998-12-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
* configure.in (slang_use_system_installed_lib): Define slang
here, to avoid having this on LIBS.
1998-11-26 Herbert Valerio Riedel <hvr@hvrlab.ml.org>
* gtkedit.c: changed occurence of 'va_list *ap' to 'va_list ap'
Thu Nov 26 12:20:06 1998 Pavel Roskin <pavel_roskin@geocities.com>
* config.h.in: Removed from CVS, added to .cvsignore
* acconfig.h, macros/curses.m4, src/xcurses.c, src/tty.h,
configure.in:
- GNOME edition now compiles without any trace of the text mode
dependencies.
- We no longer link with libraries we do not use (crypt, gpm), this
fixes the recent bug reports.
- More tree updates, enhancements.
Miguel.
* gdesktop.c: We are now using the new desktop icon code. It is
not yet complete, but what is there does work. We have icon
creation, auto-layout and snapping. Next step is drag and drop
and popup menus.
* glayout.c: #ifdef out the stuff that uses the old desktop code.
I will replace it gradually.
* gmain.c: Likewise.
* gscreen.c: Likewise.
MC now depends on glib (currently only the assertions are used).
VFS structure declaration fixes.
Uses the new icon list (it is dog slow, need to fix this tonight at home).
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.
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 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
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.
* 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.
- 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.