1998-10-28  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* Makefile.in: Fixed for gdesktop-icon.

	* gdesktop-icon.[ch]: Renamed from desktop-icon.[ch], per Miguel's
	request.

	* desktop-icon.c (reshape): Position the icon text item correctly.

1998-10-27  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* desktop-icon.c (desktop_icon_new): Do now reshape more than
	needed by splitting the set_icon and set_text functions apart.

1998-10-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdesktop.c (desktop_icon_set_position): Do not lower the
	window.  The gnome-compliant wm will know what to do with windows
	on the Desktop layer.
	(post_setup_desktop_icon): Likewise.

	* desktop-icon.c (create_window_shape): Fetch the mask of the
	image "by hand", as we cannot rely on the canvas item having
	created it yet.

	* desktop-icon.c (desktop_icon_realize): Doh.  We need to
	initialize the gnome_win_hints before we set any of the hints.

1998-10-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdesktop.c (create_desktop_icon): Renamed from
	my_create_transparent_text_window.  Now uses the DesktopIcon
	widget for its work.
	(get_desktop_icon_for_dentry): Renamed from
	get_transparent_window_for_dentry.  Uses the DesktopIcon widget.
	(get_desktop_icon_for_di): Renamed from
	get_transparent_window_for_di.
	(desktop_icon_properties): Do not size_request the icon, since now
	we can get its dimensions directly from the DesktopIcon structure.

	* desktop-icon.[ch]: New file that takes care of desktop icons.
	It provides the spiffy widget that is used for them.

	* Makefile.in: Added desktop-icon.[ch] to the list of sources.
	MC should use Automake, I think.

1998-10-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (panel_create_icon_display): Small size adjustment.

	* glayout.c (create_container): Small size adjustment.

	* gmain.c (xtoolkit_create_dialog): Center windows.

1998-10-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (x_select_item): Force a canvas update when an icon
	has been selected. 

1998-10-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (panel_drag_data_get): New routine to provide data
	with the new DnD protocol.
	
	* gmain.c (dialog_key_pressed): If an icon has the focus, then do
	not process any of our events.
	Only stop the signal if we actually handled the event.
	(dialog_key_pressed): 

1998-10-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (panel_icon_renamed): Add support for renaming files. 

1998-10-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c: Use the new icon list. 

1998-09-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c: Hook to invoke the editor from the context menu.

Fri Sep 18 13:51:16 1998  Pavel Roskin <pavel_roskin@geocities.com>

	* Makefile.in: Consequent "make" should not rebuild gmc every time

Mon Aug 31 10:46:32 1998  Owen Taylor  <otaylor@redhat.com>

	* gscreen.c (display_mini_info): Removed calls to
	gtk_clip_label_set() hack, since its cut-n-paste code didn't work
	with new GTK's. If excessive resizes are a problem, they can be
	solved by adding an adjustment around the label, and calling
	gtk_container_set_resize_mode().

1998-08-20  Raja R Harinath  <harinath@cs.umn.edu>

	* gdesktop.c: Include "mad.h", for xmalloc.
	* gkey.c: Likewise.
	* gscreen.c: Likewise.
	(panel_create_file_list): Use `g_free', not `free'.

Wed Aug 19 19:45:16 EDT 1998 The Rasterman <raster@redhat.com>

	* gdesktop.c - changed dnd setting routine for desktop icon to set
          events on child window...
        * gtrans.c - chnaged routines to make window with child rawing area
	  and set shape on parent window

1998-08-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (panel_make_local_copies_and_transfer): Fix.

1998-07-04  Carsten Schaar  <nhadcasc@fs-maphy.uni-hannover.de>

	* gmain.c (session_management_setup): Replaced
 	'gnome_client_new_default' with 'gnome_master_client'.

1998-06-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gwidget.c (x_update_input): The previous hack was not
	required, the right fix was to change Gtk.

1998-06-22  Manish Vachharajani <mvachhar@vger.rutgers.edu>

	* gwidget.c: Don't call gtk_entry_scroll_adjust, it is a private member
	
1998-06-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdesktop.c (drop_cb): Mhm.  Negotiation of the drop type was not
	quite like I expected.  Anyways, fixed a bug: we need to take
	text/plain drops on the launch icons on the desktop.

1998-06-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdesktop.c (desktop_setup_icon): Assign the dentry->geometry
	from the drop position.   New .desktop files are now placed on the
	site they were dropped.
	(drop_cb): Use proper prototype.

Sun May 31 13:19:59 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a (one
	reference wasn't converted, yet).

1998-05-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gwidget.c (x_create_input): Set the entry's visibility if it is
	a password field.

1998-05-26  Marc Ewing <marc@redhat.com>

	* Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a

1998-05-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gmain.c (session_save_state): Perform shutdown if `shutdown'
	flag is set.

1998-05-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gwidget.c (entry_release): Enhanced our marked handler for input
	lines. 

	* gdesktop.c (desktop_create_directory_entry): Fix, make a
	g_strdup copy of the name. Fixes bug report #78.
	(desktop_icon_context_popup): Simplified this routine as we are
	using file_popup now anyways.

1998-05-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* glayout.c: Move the New window menu entry from ``Window'' to
	``File''. 

	* gwidget.c (x_unfocus_widget): Fix wartning.

	* glayout.c (set_hintbar): Call flush events after setting the
	hintbar. 

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.

1998-05-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (load_dnd_icons): Remove the code and the icons that
	we had here privately.  Use new gnome-stock functionality
	instead. 

1998-05-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (panel_drag_request): All of the drag_request code is
	now shared by both the Icon View and the Listing view;
	New drag request type:  file:ALL.  If the user is looking at a
	remote site, and the target application does not have VFS support
	it should not list url:ALL but file:ALL as the accepted drop
	type. 

	This will make copies of the remote files and pass the files to
	the application.  

1998-05-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtrans.c (set_window_text): Pass new justification parameter to
	gnome_icon_paint_text().

	* gpageprop.c (item_properties): Restore the arrow cursor for the
	desktop icon windows.

	* gdesktop.h (desktop_icon_t): Removed unused title field.

	* gtrans.c (set_window_text): Made it use the new
	GnomeIconTextInfo functions.

1998-05-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gscreen.c (panel_create_icon_display): Set some good separator
	characters for the file icon list.

1998-05-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gprop.c (perm_owner_new): Forget about history for now.

	* gpageprop.c (item_properties), gprop.c: Add executable editing
	(command, and terminal).  Save the dentry after modification 

1998-05-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gprop.c (change_icon): Test for gp, as the combobox emits the
	"changed" signal when shutting down.  Great.

	* gdesktop.c (desktop_reload): Missing mc_closedir
	(desktop_setup_icon): Fix memory leak.
	(get_desktop_icon): Fix memory leak.
	(desktop_create_directory_entry): Set the size of the exec
	vector. 
	(desktop_create_launch_entry): Same.

	We now create launch entries instead of trying to support
	regular dropped stuff on the desktop, this makes things easier and
	more consistent.

1998-05-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gscreen.c (x_select_item): Test for full icon visibility instead
	of partial visibility only.

1998-05-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (create_popup_submenu): Use continue, not break on
	this loop. 

Sat May 16 02:29:51 1998  Tom Tromey  <tromey@cygnus.com>

	* gdesktop.c (url_dropped): `exec' field of desktop entry now a
	vector.
	(dentry_execute): Likewise.
	(desktop_icon_remove): Likewise.
	(get_transparent_window_for_dentry): Likewise.
	(desktop_create_directory_entry): Likewise; also initialize
	exec_length.

1998-05-16  Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>

	* gscreen.c (create_popup_submenu): fixed bug which caused it to require
	0 instead of 1 marked files for F_SINGLE file_actions.
	* gscreen.c (file_popup): first item in the menu displays "..." when
	multiple files are selected.

Thu May 14 23:31:15 1998  Tom Tromey  <tromey@cygnus.com>

	* gmain.c (session_save_state): Use "+" instead of "%s" in format
	specification.  Free `argv'.

1998-05-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gtrans.c (create_transparent_text_window): Removed the hack to
	lower the window on exposes.  Guess what happens when you have two
	icons on the same spot.

Thu May 14 02:02:56 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* Makefile.in (EXTRALIBS): add @LINTL@

1998-05-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gtrans.c (set_window_text): draw pixmaps without transparency
	correctly. 

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. 

	* gblist.c (blist_select_row): New widget derived from GtkClist.
	replace select_row and unselect_row with null functions, as the
	gmc code takes care of the rest. 

1998-05-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdesktop.c (desktop_icon_drag_start): Do not attempt to use
	icons if we could not load the images for the icon.

	* 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-04-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gtrans.c (make_transparent_window): Put hack back.

	* gcache.c (image_cache_load_image): Federico spooted the problem:
	I have to duplicate my keys for the hash.

	* gmain.c (create_panels): Create one panel per directory
	specified.  For some strange reason the code hangs if you start up
	more than one panel at once.  This is not a gmc bug, it appears to
	be an Imlib/gtk/gdk interaction.  I am for now creating one panel
	in the main program execution thread and the rest during the idle
	handler. 
	
	(session_save_state): Added session management support. 

1998-04-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gprop.c (gprop_general_new): Added an simple icon preview to the
	icon selector.

1998-04-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdesktop.c: Finish desktop_icon_remove implementation. 

	* glayout.c (update_panels): GNOME specific Implementation of the
	update_panels routine. 

Tue Apr 28 06:52:24 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* gcmd.c (gnome_open_terminal): Changed my_system(1,...) to
	my_system(EXECUTE_AS_SHELL,...)

1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* glayout.c (layout_panel_gone): Removed debugging information.
	Renamed "Panel" to "Window" to make it less confusing to users. 
	Moved the "New window" from the "File" menu to the "Window" menu.

	* gmain.c (dialog_panel_callback): Walk the list of panels to
	determine to which panel the activated widget belongs. 

1998-04-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gwidget.c (x_create_radio): Fix the WRadio widgets. 

1998-04-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* glayout.c (create_container): Add wmclass.

1998-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdesktop.c (desktop_reload): Show all of the widgets on a reload
	operation.

	* gscreen.c (x_panel_update_marks): Do only set the marks if the
	widget has been created

	* glayout.c (assign_other): Keep track of all of the opened
	panels.  We were never removing them from the containers list.
	This fixes a number of problems.

	* gwidget.c (x_dialog_stop): Only call gtk_main_quit if this
	dialog did not inlcude the DLG_GNOME_APP flag, as those windows
	did not launch a gtk_main event loop.
	
	* gcmd.c: Try various terminal programs in the PATH before giving
	up 
	
	* glayout.c: Unselect command is unselect_cmd, not select_cmd

	* gcmd.c (gnome_quit_cmd): Add quit confirmation.

	* gdesktop.c (perform_drop_manually): Check the type for the
	source file (directory/file) and perform the proper operation.
	Before this we always did a *_file_file operation.
	(perform_drop_manually): Use copy_dir_dir correctly
	(desktop_setup_default): Use copy_dir_dir correctly

	* gwidget.c (x_create_label): Remove debugging labels.

	* gscreen.c: Do not show the view/view unfiltered if the
	selectioned item is a directory.

	* gwidget.c (x_radio_toggle): Never commit non-compilable code.

1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gwidget.c (remove_hotkey, x_create_radio): Radio buttons should
	not display the special Hotkey specificator.

	* 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. 

1998-04-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtrans.c (create_transparent_text_window): Destroy the cursor
	properly.

1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gview.c (x_init_view): Initialize view->sadj.

	* gdesktop.c (start_desktop): use destkop_load instead of
	desktop_reload. 
	(desktop_load): This reloads + shows every widget on the
	desktop_icons list.

1998-04-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdesktop.h: Added extern declarations for the
	want_transparent_icons and want_transparent_text variables.

	* gtrans.c (set_window_text): Now we use the new global variables
	want_transparent_icons and want_transparent_text to decide how to
	paint the pixmap and mask.  The want_transparent_* variables can
	thus be configured for the smartness/speed of your X server when
	using shaped windows.

Fri Apr 12 02:40:41 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* 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.

1998-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (x_create_panel): Added back and forward buttons.  I
	need a "Home" icon too. 

	* gwidget.c (x_create_input): Make the selection if the input has
	not yet been touched.

	* gscreen.c (panel_action_open): If opening an item fails, try
	panel_action_open_with.

	* gview.c: Implement the viewer scrollbar. 

1998-04-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (panel_drop_data_available): Reload the panel contents
	upon a drop. 

	* gmain.c (gnome_dlg_send_destroy): Hide the widgets just before
	they are going to get destroyed, to avoid the shutdown
	flickering. 
	(x_destroy_dlg_start): New routine/hook invoked when the destroy
	has just started
	(x_set_idle): Cancel the idle handlers properly.

	* gwidget.c (x_create_check): Finish the checkbox implementation.

	* gdesktop.c (get_desktop_icon): Fix this routine: it was
	cretating a file name when the filename was not set properly.

1998-04-01  Marc Ewing  <marc@redhat.com>

	* gscreen.c: Added #include <gdk/gdkprivate.h>

1998-03-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gcache.c: Added an Image cache for all of the imlib-loaded
	images to avoid destroying/reloading the images.
	
	* gdesktop.c, gtrans.c: Use the image cache.

1998-03-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (x_create_panel): Show the GnomeApp when we are done
	packing all of our information.

	* gmain.c (create_panels): do not show any of the windows yet.

1998-03-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (x_fill_panel): Colors are properly displayed now. 

	Use the clipped labels.
	
	* gcliplabel.c, gcliplabel.h: Derived label that does label
	clipping (it does not request the allocation for the whole string,
	but settles with whatever is provided in the size_allocation).

1998-03-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtrans.c (create_transparent_text_window): Set the window's
	cursor to the normal top-left arrow.

Mon Mar 23 01:40:35 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* gtools.c (translate_gdk_keysym_to_curses): renamed KEY_BACKTAB
	to KEY_BTAB (the name ncurses uses)

	* Makefile.in: Install the icon-files and the layout-file from $srcdir.

1998-03-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdesktop.c (icon_properties): 
	* gpageprop.c (item_properties): Modified to accept dentry title
	changes as well.
	(item_properties): Fixed base and fname confusion in call to
	concat_dir_and_file().

	* gprop.c (gprop_general_new):
	(gprop_general_get_data): Renamed to general from icon.  The
	general Gprop now lets you enter the title and icon filename for a
	dentry.

1998-03-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdesktop.c (icon_properties): Whoops, actually save the dentry.
	(post_setup_desktop_icon): Moved the icon positioning call outside
	of this function so that property-changed icons will not move on
	the desktop.

	* gdesktop.c (desktop_icon_context_popup): It is not necessary to
	set the menu position.
	(desktop_icon_context_popup): gtk_signal_connect_object_after to the menu
	items with gtk_widget_destroy as a callback so that we can destroy
	the menu widget appropriately.

1998-03-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (display_mini_info): Implement mini status. 

1998-03-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdesktop.c (get_transparent_window_for_dentry): New function,
	creates the proper transparent icon window for a dentry.
	(post_setup_desktop_icon): New function, does post-setup stuff for
	a desktop icon (setting it as a drop target, positioning it, etc.).

	* gpageprop.c (item_properties): Now the dentry parameter is a
	desktop_icon_t instead.
	We now return a bitmask that indicates what stuff changed.  The
	caller can use this information to decide what to update, repaint, etc.

	* gdesktop.h: Moved the icon_t and desktop_icon_t structures here.

	* gpageprop.c (item_properties): Insert icon control if appropriate.

	* gprop.c (gprop_icon_new): 
	(gprop_icon_get_data): Renamed from gprop_dir_*().

	* gscreen.c (panel_action_properties): Re-reads panel only if necessary.

	*gpageprop.c (item_properties): now returns TRUE if something got
	changed, FALSE otherwise.  This should be used to decide whether
	to re-read the panel or not.

	* gpageprop.c: #include "../vfs/vfs.h".
	#include "dialog.h".

	* gprop.c (gprop_dir_new): 
	(gprop_perm_new): 
	(gprop_general_new): Connect to the destroy signal of the toplevel
	widget and destroy the Gprop structure on the callback.

Wed Mar 18 23:09:35 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (panel_file_list_select_row): Use control/shift click
	to add files to the selection.

Wed Mar 18 22:32:53 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (panel_action_properties): Make Federico's
	page-properties code functional.
	 
	* gpageprop.c: New file, implements most of the page properties on
	top of the gprop.c code. 

Wed Mar 18 20:35:45 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* 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. 
	
1998-03-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gscreen.c: Removed tests for the gprop stuff.
	(file_popup): It is not necessary to show the popup menu.

	* gprop.c (perm_group_new):
	(perm_owner_new): Fill the combo lists with users and groups,
	respectively.

	* gprop.h: New files gprop.[ch].  These create the property pages
	for desktop entries.

	* Makefile.in: Added gprop.[ch] to the rules.

	* glayout.c: Put gnome_about_cmd as a callback for the About menu item.

Tue Mar 17 22:40:36 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
	
	* gdesktop.c (desktop_setup_icon): Lots of changes to accomodate
	dropping icons on the root window.
	
	(do_symlinks): Implement symlink action.

	(icon_delete, desktop_icon_context_popup): Implement icon context
	menus.  only deleting an icon is working right now. 

	* gscreen.c: Load the drag and drop icons from the installation
	directory.
	
	* Makefile.in (install_gmc): Install our icons. 

Tue Mar 17 02:38:37 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdesktop.c (desktop_setup_default): Create a default desktop
	entry on the root window for the Home directory if not mc.desktop
	exists -yet-

	Get drops on the root window to work.   Joy and hapiness!

Tue Mar 17 00:43:50 1998  Tom Tromey  <tromey@cygnus.com>

	* glayout.c (gnome_panel_about_menu): "About" item now a stock
	menu item.

1998-03-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gscreen.c (filter_item_activate): Make it convert the glob
	pattern to a regexp if appropriate.

Sat Mar 14 17:13:26 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gmain.c (gnome_dlg_send_destroy): New signal handler for
	"delete_event".  I return TRUE (ie, do not kill this window), and
	manually queue que destruction of this window. 

	* gtools.c (query_dialog): Do not allow resizing; do not destroy
	the dialog ourselves, this is properly handled by dlg.c now
	(pack_button): Do not use the defaults: we do not want growing
	buttons;

Fri Mar 13 16:01:28 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gwidget.c (buttonbar_clicked, x_create_buttonbar): Button bar
	widget implemented.

	* gtools.c: Implement the non-modal version of the message
	routine.
	
	* gview.c: Create a GnomeApp widget to contain the viewer.

	* gmain.c (xtoolkit_create_dialog): Add a new mode where the
	container window is a GNOME_APP window. 

1998-03-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gscreen.c (x_select_item): Make it use GTK_VISIBILITY_FULL
	instead of a plain boolean value.
	* gwidget.c (x_listbox_select_nth): Likewise.

	* gscreen.c (filter_items): New global variable full of filters.
	Please, someone fill in the regexp parts, as I was too lazy to do
	them :-)
	(panel_create_filter): Now the filter has a very nice button that
	pops up a menu for selecting the filter.

Thu Mar 12 22:11:23 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gwidget.c (x_update_input): Use GnomeEntry widgets instead of
	the GtkEntry.

	* gwidget.c (listbox_select): Fix for the listbox selection with
	the mouse.
	(x_create_button): Use stock pixmaps.
	
	* gcmd.c: Moved all of the _cmd routines from glayout to this
	place.
	(save_panel_types): Provide GNOME implementation.
	
	* glayout.c: New and improved menu layout.  Use stock pixmaps.
	
1998-03-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gmc-chargrid.c (gmc_char_grid_draw): Someone teach me how to
	subtract.  Fixed a stupid offsetting bug.
	(update_region): Added clipping of region bounds.

	* gmc-chargrid.c: Changed the struct attr with pointers mess with
	something saner.
	Added an in_resize flag to avoid calling our internal signal
	handlers recursively.
	(gmc_char_grid_draw): Added proper draw handler for our case; the
	widget's window does not fill its allocation.
	(paint): New wrapper for update_region(); it converts window
	coordinates to row/column character coordinates.
	(gmc_char_grid_expose): Use paint().

1998-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gmc-chargrid.c (update_strip): Doh.  Fixed painting of
	background rectangles.
	(gmc_char_grid_expose): Fixed off-by-one errors in area
	calculation.  Ripped off the code from gtkterm to do this :-)
	(free_attrs): New internal convenience function.

Thu Mar 12 00:08:06 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gview.c (view_percent): Added status display.
	
Wed Mar 11 22:35:02 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gwidget.c (entry_release): Now the WEntrys track the current
	selection.p
	(x_update_input): Repaint the widget after changing the position.
	
	* gscreen.c (x_fill_panel): Remember the selected item on the
	panel before filling it up, as gtk_clist emits a select_item
	signal when filling it up, which changes the current selection
	(and thus some routines that invoke the reload panel option
	fail). 
	
	(create_popup_submenu): Implement context sensitive menus (regular
	files, and symlinks).
	
	(panel_realized): Use a different icon when we are dragging a
	group of files.

	(panel_artificial_drag_start): Add Elliot's Artificial drag start
	support.
	
1998-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gmc-chargrid.c (gmc_char_grid_get_size): New public function.
	(gmc_char_grid_put_text): New public function.  It is the same as
	gmc_char_grid_put_str, but can take any arbitrary string plus its
	length.
	(gmc_char_grid_put_char, gmc_char_grid_put_str,
	gmc_char_grid_put_text): These functions now take a background
	pixel parameter --- the GmcCharGrid widget now supports fg/bg attributes.

	* gmc-chargrid.h: Changed colors field to attrs.

	* gmc-chargrid.c: New Character Grid widget for the file viewer.
	This is a very lean and fast widget for displaying a grid of
	monospaced characters.  Just like a crippled-down terminal.

Tue Mar 10 23:46:29 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (x_adjust_top_file): We no longer adjust the top
	displayed filename.
	
	(panel_build_selected_file_list): Fix for the transfered data.
	
	(panel_drop_data_available): Now drop support uses the new
	coords.x and coords.y fields from the DropDataAvailableEvent to
	find out which directory receives the drop.

	* glayout.c: added: configure_box, configure_vfs
	(get_other_type): Return the correct value.
	
1998-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gscreen.c (panel_file_list_size_allocate_hook): Now we
	connect_after to the size_allocate signal and block the handler.
	Things are still not perfect, though.

	* gtools.c (message): Added return NULL.  This needs to be fixed.
	(translate_gdk_keysym_to_curses): FIXME: Replace KEY_BACKTAB by '\t'
	while KEY_BACKTAB is added somewhere else.
	(translate_gdk_keysym_to_curses): return -1 as last resort.

	* glayout.c (get_current_index): Add g_assert_not_reached() for
	fatal case.

	* gmenu.c (menubar_new): Cast g_menubar to unsigned long.

	* gwidget.c (x_create_input): Cast entry to GTK_OBJECT.

	* gkey.c (find_select_closure_callback): Fix = -> == typo.

Tue Mar 10 00:10:32 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gscreen.c (panel_drop_data_available): Now drop support uses the
	new coords.x and coords.y fields from the DropDataAvailableEvent
	to find out which directory receives the drop. 

	* gwidget.c (x_radio_focus_item): Add support for focusing radio
	buttons.

Mon Mar  9 15:12:00 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gtools.c (translate_gdk_keysym_to_curses), dlg.c
	(dlg_key_event): Support for backtab.

	* gwidget.c: highlight properly the focused radio entry.
	
	* gmain.c (x_init_dlg): After setting up the X widget, set the
	Gtk focus to h->current;

1998-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gscreen.c (x_panel_select_item): Set the colors of the row.

	* gmain.c (xtoolkit_init): Changed gnome_init() to new version.
	(xtoolkit_init): Call gnome_init() properly.  Also, return 0.

Sat Mar  7 15:24:49 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gwidget.c (entry_click): Focus the entry on clicks.

Fri Mar  6 20:50:19 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gmain.c (create_panels): New per-port variable, used to flush
	all of the pending X events.

	(x_set_idle): Implement idle functions, now the find command works
	properly. 
	
	* gwidget.c (x_create_radio): Connect to the "toggled" signal to
	keep track of the radio button.

	(listbox_select): callback for the select and double click
	actions. 
	(x_update_input): This can be invoked before the
	widget X resources have been allocated.  Take care of this.

	(x_create_input): update the cursor position as well.

	(x_list_insert, x_create_listbox, x_list_delete_nth,
	x_listbox_select_nth): implement the Listbox widget. 

	* gconf.h:  New configuration options: 
	PORT_HAS_PANEL_ADJUST_TOP_FILE and
	PORT_HAS_PANEL_RESET_SORT_LABELS
	
1998-03-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gmain.c (get_color): Make it use GdkColorContext correctly.

	* 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.

Thu Mar  5 23:54:58 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdesktop.c (drop_on_panel): New function;  Used by the directory
	icons and by regular panels to support drag targets;

	* gscreen.c (panel_drop_data_available): Performs the drop action
	on a panel.  It needs fixing, as the DropDataAvailabelEvent does
	not provide any information as to where the drop actually
	happened. 

	(fixed_gtk_widget_dnd_drag_set, fixed_gtk_widget_dnd_drop_set):
	Only set the main window of the clist to be the source/target of
	the drag and drop code.  The little square at the end did not make
	much sense as a drop/drag spot.
	
1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gmain.h: Added prototype for x_filter_changed().
	Added #include "panel.h".

	* gconf.h (PORT_HAS_FILTER_CHANGED): New flag for conditional compilation.

Wed Mar  4 22:43:00 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gtools.c (query_dialog): Rewritten to use the MC dialog/widget code. 

	* gutil.c (my_system), acconfig.h: By default gnome will not have
	a subshell (at least for now) and will now exec everything
	asyncronously by default.

	* gscreen.c: Exactly what was I thinking when I used the
	g_panel_contents structure will remain a mistery for future
	programming psycologists.  It was a huge mistake.

	* gdesktop.c: Use the new icon/text display routine from
	Federico. 

Tue Mar  3 21:03:52 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gmain.c (x_destroy_dlg): Call gtk_grab_remove when destroying
	the dialog. 

	* gmain.c (x_focus_widget): Handle special case of toplevels.

1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gscreen.c: Some hackish changes to work around idempotence bugs
	in gtk_clist_select_row().

