1 2001-06-15 Pavel Roskin <proski@gnu.org>
3 * gtkflist.c: Include <stdlib.h> for abs().
5 * gdesktop-icon.c: Reorder includes - local after system.
6 * gdesktop-prefs.c: Likewise.
7 * gsession.c: Likewise.
8 * gdesktop-init.c: Likewise. Include "x.h".
12 * gcmd.c (get_nickname): Warning fix - label at the end of
14 (gnome_external_panelize): Likewise.
15 * gdialogs.c (file_delete_query_recursive): Likewise.
17 * gmain.c (beep): Remove.
19 * gdesktop.c (): Include gprefs.h to avoid a warning.
21 * gmount.c (setup_devices): Remove nfs_count - NFS directories
24 2001-06-14 Pavel Roskin <proski@gnu.org>
26 * gmain.c (try_alloc_color_pair): Remove.
28 2001-06-11 Andrew V. Samoilov <sav@bcs.zp.ua>
30 * gmain.c (x_set_dialog_title): title constified.
31 (xtoolkit_create_dialog): Don't hardcode layout file location.
33 2001-06-06 Pavel Roskin <proski@gnu.org>
35 * Makefile.in: Don't use terms.o.
36 * glayout.c: Remove unused global variables. Set command_prompt
39 * gprefs.c [!USE_VFS]: Disable VFS code to allow compilation.
41 * gmc-client.c (main): Warning fix.
43 2001-06-04 Pavel Roskin <proski@gnu.org>
45 * gmcd.c (gnome_filter_cmd): Set default regex filter to "^.*$".
47 (set_cursor_busy): Warning fix.
49 2001-06-02 Pavel Roskin <proski@gnu.org>
51 * Makefile.in: Don't use hotlist.o. Remove annoying message.
53 2001-06-01 Pavel Roskin <proski@gnu.org>
55 * gmain.c (x_init_dlg): Warning fix.
57 * Makefile.in: Don't use key.o.
59 2001-05-29 Pavel Roskin <proski@gnu.org>
61 * Makefile.in: Don't use boxes.o.
63 * gcmd.c (gnome_listing_cmd): Remove, it unused.
64 (gnome_compare_panels): Likewise.
66 * Makefile.in: Don't use subshell.o.
68 2001-05-26 Pavel Roskin <proski@gnu.org>
70 * glayout.c (gnome_panel_layout_menu): Status bar messages for
71 "Sort By" and "Filter View" were incorrect.
73 2001-05-25 Pavel Roskin <proski@gnu.org>
75 * gmain.c (gnome_check_super_user): Add option not to show the
76 root warning again. From Ximian patches.
78 * gmain.c: Include libgnomeui/gnome-window-icon.h if needed.
79 (gnome_check_super_user): Better warning for root. From Ximian.
80 (idle_destroy_panel): Remove.
82 2001-05-23 jacob berkman <jacob@ximian.com>
84 * mc.keys.in.in: fix missing trailing @ in audio/x-xi entry
86 2001-05-20 Pavel Roskin <proski@gnu.org>
88 * gmount.c: Fix warning "extra token after endif".
90 2001-05-14 Pavel Roskin <proski@gnu.org>
94 * gcliplabel.c: Likewise.
95 * gcliplabel.h: Likewise.
98 * gpageprop.c: Likewise.
99 * gpageprop.h: Likewise.
102 * Makefile.in: Adjust for the above.
103 * glayout.c: Don't include the above headers.
104 * gpopup2.c: Likewise.
105 * gscreen.c: Likewise.
107 * gcorba.c: Add "const" when needed to match FileManager.idl.
109 * gtools.c (message): Use g_vsnprintf(). Make the "text"
112 2001-04-30 Pavel Roskin <proski@gnu.org>
114 * directory.xpm: Remove.
115 * Makefile.in: Remove directory.xpm.
117 2001-04-20 Miguel de Icaza <miguel@ximian.com>
119 * gdesktop.c (new_terminal): Use gnome_open_terminal, and do not
122 * gcmd.c (gnome_open_terminal_with_cmd): When launching
123 gnome-terminal, pass the --start-factory-server --use-factory
126 2001-04-14 Federico Mena Quintero <federico@ximian.com>
128 * gdesktop.c (desktop_icon_set_busy): Use a pretty arrow instead
129 of GDK_TOP_LEFT_ARROW.
130 (click_proxy_button_press): Likewise.
132 * gcmd.c (set_cursor_normal): Set the cursor to NULL so that we
133 pick up the cursor that the window manager set for us.
135 * gscreen.c (panel_tree_scan_begin): Use set_cursor_busy().
136 (panel_tree_scan_end): Uset set_cursor_normal().
138 2001-04-11 Miguel de Icaza <miguel@ximian.com>
140 * gdesktop.c (should_hide_nautilus_file): New function, used to
141 decide if things should be hidden (handles nautilus home key,
142 trash key, and .nautilus-metafile.xml for now)
144 (desktop_reload_icons): Hook up above function.
146 * gdesktop-init.c (migrate): New function to help migrate metadata
149 * gscreen.c (file_list_popup): Changed here too.
151 * gdesktop-init.c (gdesktop_links_init): Migrate from Trash to
152 Trash.gmc to integrate with Nautilus on the same computer.
154 * gcmd.c (create_trash_panel): ditto
156 * gpopup2.c (check_trash_func): Rename trash directory to Trash.gmc
158 2001-04-06 Miguel de Icaza <miguel@ximian.com>
160 * gdesktop.c (do_rescan): Added automatic desktop reloading.
162 2001-04-06 Pavel Roskin <proski@gnu.org>
164 * gscreen.c (tree_size_allocate): Don't call save_setup() if
165 auto_save_setup is 0.
167 * Makefile.in: Add dependencies between gmc and static libraries
170 * layout: New widget "findfile-Widget-find-case-check".
172 2001-02-28 Christian Meyer <chrisime@gnome.org>
174 * application.x-gnumeric.desktop: Added German strings.
176 Wed Jan 10 15:52:51 2001 Jonathan Blandford <jrb@redhat.com>
178 * gdesktop-init.c (gdesktop_links_init): allow I18N of trash.
180 2000-10-19 Martin Bialasinski <martin@internet-treff.uni-koeln.de>
182 * gscreen.c (toolbar): Fixes misspelling of "hierarchy".
184 2000-09-21 Pavel Roskin <proski@gnu.org>
186 * Makefile.in: Don't use $< in explicit rules - this should fix
187 non-GNU makes. Removed GNOME_IDLDIR - it wasn't used.
189 2000-09-14 Pavel Roskin <proski@gnu.org>
191 * Makefile.in: Compile our own mad.o. Don't link object files.
192 Put links to the build directory. Don't link headers, change
193 includes accordingly. gdialogs.o removed from OOBJS. Link
194 only sources we need. Obsolete comments removed or updated.
196 * Makefile.in: Don't make softlinks to the libraries
198 2000-09-12 Andrew V. Samoilov <sav@bcs.zp.ua>
200 * glayout.c (run_cmd): Memory leak fix: cmd released after use
202 2000-08-31 Pavel Roskin <proski@gnu.org>
204 * directory-ok.xpm gpopup.c i-device.png image.metadata.in
205 make-thumb.c mc.metadata.in multi-ok.png multi-ok.xpm multi.xpm
206 not.png olddnd.c: removed
208 2000-08-29 Norbert Warmuth <nwarmuth@privat.circular.de>
210 * Makefile.in (CFLAGS): -I$(rootdir)/src removed from CFLAGS -- it
211 breaks compilation on glibc2.1 systems because glibc includes
212 src/features.h instead of it's own features.h. Run `make
213 cleansourcelinks; make sourcelinks' in case mc doesn't find it's
216 2000-08-23 Pavel Roskin <proski@gnu.org>
218 * Makefile.in: Don't do anything with *.inc - they are gone
220 2000-08-22 Pavel Roskin <proski@gnu.org>
222 * Makefile.in: Don't use info.o, chmod.o, chown.o, achown.o,
223 @XCURSES@ and option.o
225 2000-08-21 Jonathan Blandford <jrb@redhat.com>
227 * gmount.c (create_device_link): Fix memory leak. Also, make sure
228 the icon is dead before making the link. This is necessary in
229 case your metadata database gets fubarred.
231 2000-08-08 Miguel de Icaza <miguel@gnu.org>
233 * gdesktop.c (new_terminal): Add patch from Duncan Mak to use the
234 gnome terminal factory server
236 2000-08-03 Pavel Roskin <proski@gnu.org>
239 * gtree.h: Added prototype for sync_tree()
241 2000-07-17 Andrew V. Samoilov <sav@bcs.zp.ua>
243 * gdesktop-init.c (desktop_init_at): fname released after use
244 (desktop_load_init_from): don't release icon if it is null
245 (gdesktop_links_init): ditto
247 2000-07-03 Jonathan Blandford <jrb@redhat.com>
249 * gdesktop-init.c (gdesktop_links_init): set the initial icon of
250 the trashcan, and make the trashcan.
252 2000-06-20 Jacob Berkman <jacob@helixcode.com>
254 * gtkdtree.c (gtk_dtree_construct):
255 * gscreen.c (panel_create_tree_view): don't set the tree's line
258 * gprefs.[ch] (create_prop_box): only set the parent if the parent
260 (create_prop_box): only show the custom tab if we have a parent
262 (gnome_configure_box_with_desktop): add a param for optionally
263 doing the desktop prefs
264 (gnome_configure_box): wrap the other function
266 * gdesktop.c (set_desktop_icons): show icon properties
267 (desktop_popup_items): add an item to configure icons
269 2000-05-06 Jacob Berkman <jacob@helixcode.com>
271 * gmain.c (xtoolkit_get_main_dialog):
272 (xtoolkit_create_dialog):
273 (x_create_panel_container): set the default icon
275 2000-06-16 Jonathan Blandford <jrb@redhat.com>
277 * gpopup2.c (handle_empty_trash): Finished trash can. Now I just
280 2000-06-15 Jonathan Blandford <jrb@redhat.com>
282 * gpopup2.c: Add "Move to Trash" as an option to the popup menu.
283 Also, "Empty Trash" as appropriate.
285 * gscreen.c (file_list_popup): Removed New File command. It
286 wasn't working, and didn't do anything useful, anyways. Added
287 "Empty Trash" to the options for the menu.
289 2000-05-24 Arik Devens <arik@helixcode.com> and Ian Peters <itp@helixcode.com>
291 * gdesktop-init.c (desktop_load_init_from): don't crash on
292 recreating icons, iterating over NULL pointer.
294 2000-05-15 Andrew Post <apost@cbmi.upmc.edu>
296 * gdesktop.c (get_icon_snap_pos): Icons no longer count themselves
299 * gdesktop.c (desktop_reload_icons): Icons are no longer
300 auto-arranged every time the user logs in (or in IceWM, the weird
301 icon focusing problems are fixed). An old and broken version of
302 the snap-to-grid patch was committed to CVS, causing these
305 2000-05-14 Andreas Hyden <a.hyden@cyberpoint.se>
307 * application.x-gnumeric.desktop: Added Swedish translation.
309 2000-05-14 Andreas Hyden <a.hyden@cyberpoint.se>
311 * gimp.image.desktop: Added Swedish translation.
313 2000-05-08 Miguel de Icaza <miguel@helixcode.com>
315 * gnome-file-property-dialog.c (create_general_properties): Tag
316 the strftime format for translation to let the localization
317 efforts to localize the time display.
319 2000-05-06 Jacob Berkman <jacob@helixcode.com>
321 * gsession.c (session_set_restart): restart with priority 40 so we show
322 up in the splash screen
324 2000-04-23 JP Rosevear <jpr@arcavia.com>
326 * gview.c (view): Constify file parameter to match prototype and fix
329 2000-04-18 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
331 * gcmd.c (gnome_open_terminal_with_cmd): Allow translating of
334 2000-04-04 Jacob and Miguee, The Debugging Machines <debugging_machines@helixcode.com>
336 * gdesktop.c (click_proxy_button_press): Federico should make sure
337 he releases the server grab before he starts pooping up menus on
340 2000-03-13 Miguel de Icaza <miguel@helixcode.com>
342 * gaction.c (gmc_open_filename): Usae open.flags to determine
343 whether we need a terminal.
344 (gmc_open_filename): Fix the logic to make it work properly with
345 .desktop and .kdelnk files.
347 2000-02-03 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
349 * gicon.c (gicon_init): make missing icons back fatal (prevents
352 2000-02-01 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
354 * gicon.c (gicon_init): make missing icons non-fatal error
356 * gmain.c, gdesktop.c: added option not to display desktop icons
357 (desktop_popup): don't handle clicks when --nodesktop
359 2000-01-26 Federico Mena Quintero <federico@helixcode.com>
361 * gmc-client.c (options): Added the --arrange-desktop-icons
363 (arrange_desktop_icons): Implemented.
365 * gcorba.c (Desktop_arrange_icons): Implemented.
366 (Desktop_class_init): Put the function in the desktop_epv.
368 * gdesktop.c (desktop_arrange_icons): Made public.
370 * gnome-file-property-dialog.c (align_label_new): Renamed from
371 label_new() to avoid a conflict with widget.h.
373 2000-01-02 Federico Mena Quintero <federico@helixcode.com>
375 * gaction.c (gmc_open_filename): Use gnome_mime_needsterminal()
376 instead of gnome_mime_type_or_default(). This was a thinko.
377 Thanks to Aaron Lehmann <aaronl@vitelus.com> for pointing this
380 1999-12-28 Matthias Warkus <mawa@iname.com>
382 * mc.keys.in.in: Added a whole slew of new icons.
384 1999-11-29 Federico Mena Quintero <federico@redhat.com>
386 * gdesktop.c (desktop_arrange_icons): Return immediately if there
387 are no icons in the desktop. BUGFIX: bugs.gnome.org #3789.
388 (desktop_popup): Desensitize the "arrange icons" commands if there
389 are no icons in the desktop.
391 1999-11-01 Pavel Machek <pavel@ucw.cz>
393 * make_thumb.c: close symlink hole
395 * *.c: add return_val_if_fail, it is better than crashing. Sorry
396 about that *image = NULL, but gcc should be able to optimize it
397 out in non-debugging case.
399 1999-10-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
401 * gdesktop-init.c (desktop_init_at): Put an equal sign between the
404 1999-10-20 Federico Mena Quintero <federico@redhat.com>
406 * gdesktop.c (text_changed): Do not try to rename the file if the
407 name did not change. BUGFIX: GNOME bug tracker #2851.
409 1999-10-06 Jonathan Blandford <jrb@redhat.com>
411 * gpopup2.c (create_actions): Now the Mount/Unmount/Eject device
412 code will be lumped together with the other MIME_ACTIONS, even
413 thought they're not controlled there.
415 1999-10-06 Norbert Warmuth <nwarmuth@privat.circular.de>
417 * gmain.c, gmain.h: removed disable_root_warning. This variable
418 wasn't defined anywhere.
420 1999-09-30 Vincent Renardias <vincent@ldsol.com>
422 * gmain.c, gmain.h: add a '--disablerootwarning' flag which
423 disable the iritating "You're running gmc as root." dialog box.
424 (idealy, that box should also contain a "don't show this
425 message again" checkbox; any objection?).
427 1999-09-29 Federico Mena Quintero <federico@redhat.com>
429 * gcorba.c (corba_activate_server): New function. Activate the
430 POA manager here, when we are actually ready to process requests,
431 instead of at the beginning of initialization.
433 * gmain.c (create_panels): Call corba_activate_server().
435 1999-09-22 Federico Mena Quintero <federico@redhat.com>
437 * gscreen.c (panel_chdir): Clear the lists if the chdir operation
440 * gtkflist.c (gtk_flist_button_press): Only emit the open_row
441 signal if we are not on the empty area.
443 * gnome-open-dialog.c (gnome_open_dialog_new): Expand the tree
444 when we are done generating it.
446 1999-09-21 Federico Mena Quintero <federico@redhat.com>
448 * gdesktop.c (desktop_reload_icons): Do not call x_flush_events()
451 * gsession.c (create_panel_from_info): The widgets are not created
452 yet, so just set the panel->list_type field.
454 * gscreen.c (x_create_panel): Do not change the dialog head's
457 * gmain.c (x_init_dlg): Only call x_focus_widget() if there is a
459 (non_corba_create_panels): Removed the nasty hack that created a
460 dummy panel and destroyed it in the idle loop. Wheeeeeee!
462 1999-09-20 Federico Mena Quintero <federico@redhat.com>
464 * gsession.c (save_panel_info): Save the panel's list type.
465 (idle_create_panels): Set the panel's list type.
467 * gdesktop.c (handle_recreate_default_icons): New option to
468 re-create the default set of icons.
470 * gdesktop-init.c (gdesktop_links_init): Create the link to the
471 user's home directory here.
473 * gcorba.c (WindowFactory_get_windows_by_directory): Fill in the
476 * gsession.c (load_panel_info): Doh. Fix test for presence of the
478 (load_session_info): If we could not load the panel info, do not
479 insert bogus data in the list.
481 The following is a patch from Volker Braun
482 <volker.braun@physik.hu-berlin.de> to fix column resizing in the
485 * gcustom-layout.c (custom_layout_apply): Set the
486 default_user_format to the new format.
488 * gscreen.c (panel_fill_panel_list): Set the column widths
489 according to the previously stored values.
490 Nuked the old and hideous panel_file_list_configure_contents().
491 (panel_file_list_configure): Connect to resize_column in the clist.
492 (panel_create_file_list): Do not connect to size_allocate.
493 (x_create_panel): Set the column width array for this panel. Set
494 the user format from the default one if it exists.
496 * gsession.c (PanelInfo): Added information about column widths
498 (save_panel_info): Save the complete information.
499 (load_panel_info): Load the complete information.
500 (free_panel_info): Free the user format.
501 (idle_create_panels): Set the user format and column widths.
503 1999-09-20 Federico Mena Quintero <federico@redhat.com>
505 * gdesktop.c (desktop_rescan_devices): Call gmount_setup_devices().
507 * gdesktop-init.c (gdesktop_links_init): Renamed from
508 gdesktop_init(). Only set up customizable links here.
510 * gdesktop.c (create_desktop_dir): Do the default setup of desktop
513 * gmount.c (option_has_owner): New function to see if a mount
514 entry has the "owner" flag and its uid matches our euid.
515 (is_block_device_mountable): Use option_has_owner().
516 (get_mountable_devices): Likewise.
518 1999-09-17 Federico Mena Quintero <federico@redhat.com>
520 * gmain.c (x_init_dlg): Display a warning if the GtkTed code path
522 (xtoolkit_create_dialog): Likewise.
523 (x_add_widget): Likewise.
525 1999-09-16 Owen Taylor <otaylor@redhat.com>
527 * gmount.c: Remove the HAVE_MAGICDEV conditional.
529 * Makefile.in magicdev.idl: Add the magicdev.idl file
530 here to avoid creating dependency loops.
532 1999-09-14 Norbert Warmuth <nwarmuth@privat.circular.de>
534 * layout: Added the new samba password dialog.
536 1999-09-13 Owen Taylor <otaylor@redhat.com>
538 * Makefile.in (MAGICDEV_OBJS): Built common/stubs
539 for magicdev if we found it.
541 * gmount.c (automounter_is_running): If we detected
542 magicdev support at compile time, use a CORBA query
543 to detect if it is running.
545 * gcorba.c (WindowFactory_get_windows_by_directory): Set the
546 length of the sequence we are returning.
548 * gmount.c (setup_devices): is_block_device_mounted expects
549 mount point, not device.
551 1999-09-13 Miguel de Icaza <miguel@gnu.org>
553 * glayout.c: Add C-w for sopwith.
555 1999-09-13 Federico Mena Quintero <federico@redhat.com>
557 * gtkdtree.c (scan_subtree): Do not set the current path here,
558 just load the subtree.
559 (gtk_dtree_get_row_path): Removed the column argument, since it
561 (scan_subtree): Added a path argument that can be calculated
563 (gtk_dtree_expand): Compute the path for scan_subtree().
564 (gtk_dtree_select_row): Compute the path for scan_subtree(), and
565 set the tree's current path here. This is the right thing;
566 setting the current path is completely orthogonal from scanning a
569 * gtkdtree.c (gtk_dtree_class_init): Sigh. Create a new signal,
570 called "possibly_ungrab", used to request the client to ungrab the
571 mouse at the proper time. This is required because the stupid
572 clist button press handler grabs the mouse, and we don't want that.
573 (gtk_dtree_select_row): Emit the possibly_ungrab signal here.
575 * gscreen.c (panel_tree_drag_motion): Set the
576 panel->drag_tree_dragging_over flag.
577 (panel_tree_drag_leave): Unset said flag.
578 (panel_tree_possibly_ungrab): Ungrab the mouse here.
580 1999-09-11 Owen Taylor <otaylor@redhat.com>
582 * gcorba.c (Window_close): Fixed typo in cast.
584 1999-09-10 Federico Mena Quintero <federico@redhat.com>
586 * gmount.c (setup_devices): See if our supported automounter,
587 magicdev, is running and only create links for mounted CD-ROMs if
589 (automounter_is_running): For now just return TRUE; we have to
590 wait for magicdev to export a CORBA server.
592 * gcorba.c (corba_init_server): Initialize the POA here instead of
593 in register_servers().
595 1999-09-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
597 * gnome-file-property-dialog.c (apply_uid_group_change): Fix more
600 1999-09-09 Federico Mena Quintero <federico@redhat.com>
602 * gcorba.c (WindowFactory_close_invalid_windows): Doh. Walk the
603 list properly, since it may change as we delete windows.
605 1999-09-09 Federico Mena Quintero <federico@redhat.com>
607 * gmc-client.c: New file. This is a small program to which you
608 can pass arguments to call the GMC CORBA interface for you. You
609 can do stuff like create a directory window, rescan the desktop,
612 * gcorba.c (register_servers): Create the window factory and
615 1999-09-08 Federico Mena Quintero <federico@redhat.com>
617 * gcorba.c: Major re-arrangement and beautifying. Use nicer and
618 shorter identifier names.
619 (WindowFactory_rescan_directory): New method to rescan all the
620 panels that pertain to the specified directory.
621 (WindowFactory_close_invalid_windows): New method to close all the
622 panels that have unreachable directories.
623 (WindowFactory_get_windows_by_directory): New method to get a
624 sequence of all the panels that are showing the specified directory.
625 (Desktop_rescan): New method to rescan the desktop.
626 (Desktop_rescan_devices): New method to rescan the mountable devices.
628 * gmc.gnorba: Fixed the GOAD IDs to be something non-ad-hoc.
629 Added the Desktop interface.
631 1999-09-06 Federico Mena Quintero <federico@redhat.com>
633 * gtkdtree.c (gtk_dtree_size_allocate): Do the "visibility" test
636 1999-09-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
638 * gtkdtree.c (gtk_dtree_size_allocate): Small change to improve
639 the non-tree loading feature of gmc.
641 1999-09-05 <jrb@redhat.com>
643 * mc.keys.in.in: changed image/x-xcf to be image/x-gimp. Also,
644 associated gimp with the various actions. This prolly should be
645 done distributed with gimp, but it's more useful here.
647 1999-09-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
649 * gscreen.c: Added it here too.
651 * glayout.c: Add File-new option here
653 * gcmd.c (gnome_newfile_cmd): Added new routine. Invoke when you
654 want to create a new file.
656 1999-09-01 Federico Mena Quintero <federico@redhat.com>
658 * gscreen.c (panel_icon_renamed): Do nothing if the name did not
661 1999-08-30 Federico Mena Quintero <federico@redhat.com>
663 * gdnd.c (file_has_drop_action): New function to test whether a
664 file has the drop-action metadata or MIME action property.
665 (gdnd_validate_action): Take the drop-action metadata/MIME
666 property into account.
667 (gdnd_can_drop_on_file): New function to see whether a
668 non-directory file can take drops.
670 * gscreen.c (drop_on_panel): New helper function to drop stuff on
671 a panel. This uses gdnd_can_drop_on_file so that we have the
672 correct behavior. This enables dropping on executables and files
673 with the drop-action metadata/MIME property again.
674 (panel_icon_list_drag_data_received): Use drop_on_panel().
675 (panel_clist_drag_data_received): Use drop_on_panel(). Normalize
676 the Y coordinate to the clist_window.
678 1999-08-26 Federico Mena Quintero <federico@redhat.com>
680 * gscreen.c (panel_clist_drag_motion): Pass the full name to
681 gdnd_validate_action().
682 (panel_icon_list_drag_motion): Likewise.
683 (panel_tree_drag_motion): Likewise.
685 * gdnd.c (gdnd_perform_drop): Renamed the "directory" argument to
686 "dest_full_name" for clarity.
687 (gdnd_validate_action): Likewise. Pass in the full name to
689 (drop_on_file): Do not compute the full name, since we are already
690 get it from the caller.
691 (drop_on_file): Pass in the full name to if_link_is_exe().
693 * gscreen.c (panel_tree_drag_data_received): Free the pathname.
695 * gdesktop.c (icon_drag_data_received): Pass the full name of the
696 file to gdnd_perform_drop(), not just the desktop directory.
698 1999-08-23 Federico Mena Quintero <federico@redhat.com>
700 * gdesktop-prefs.[ch]: New files that handle the desktop
701 preferences page. Now we have a nice way to configure the
702 position of desktop icons.
704 * gprefs.c (create_prop_box): Use desktop_prefs_new() to create
705 the desktop preferences page.
706 (apply_page_changes): Do not update the desktop here.
707 (apply_callback): Take the desktop page into account.
709 * gdesktop.c (desktop_use_shaped_text): Renamed from
710 desktop_use_transparent_text.
712 * Makefile.in: Added gdesktop-prefs.[ch] to the list of sources.
714 1999-08-19 Richard Hestilow <hestgray@ionet.net>
716 * gicon.h: define ICON_IMAGE_WIDTH and ICON_IMAGE_HEIGHT
717 for default icon size. Currently set at 48 by 48.
719 * gicon.c (gicon_get_icon_for_file): Scale down images that are too
720 large. Scales down to a size <= DESKTOP_ICON_WIDTH by
721 DESKTOP_ICON_HEIGHT. Correctly composites arrows on user-selected
722 icons. Shows gnome-warning for unreachable symlinks with no user
725 * gdesktop-icon.c (desktop_icon_reshape): dicon->height is now a
726 MAX of total height (icon height + spacing + text height) and
727 DESKTOP_SNAP_X, so that all icons are of a uniform height and small
728 icons center nicely. Rest of function modified to take this into
729 account. create_window_shape is now called last of all,
730 so dicon's various x/y/width/height fields are up to date.
731 (create_window_shape): Determine drawing coordinates based on
732 dicon->icon & dicon->text coordinates, instead of calculating them
733 by hand (Needed for size changes).
734 (set_text): Modified to take the size changes into acount.
736 PATCH FROM volker.braun@physik.hu-berlin.de:
738 * gprefs.c, setup.c, gdesktop.[ch]: Added option
739 desktop_use_transparent_text (Default is FALSE)
741 * gdesktop-icon.c (create_window_shape:
742 * gdesktop.c (click_button_proxy_press): Modified to take into
743 account transparent text.
745 1999-08-16 Federico Mena Quintero <federico@redhat.com>
747 * gmain.c (default_edition_colors): "brightred" is not a standard
748 X color; use "red" instead.
749 (get_color): Take into account the result of gdk_color_parse().
751 1999-08-13 Federico Mena Quintero <federico@redhat.com>
753 * gscreen.c (rename_file_with_context): Moved the try_rename()
754 function from gdesktop.c over to here, and renamed it for general
756 (panel_icon_renamed): Use rename_file_with_context(). BUGFIX:
757 GNOME bug tracker #1582.
759 * gscreen.c (panel_fill_panel_list): Select or unselect the rows
760 as appropriate, not just select them. This is needed because the
761 clist changes the selection under us when appending rows.
762 Finally, do not call select_item() at the end; just reset the
763 panel->selected value.
764 (panel_fill_panel_icons): Likewise.
765 (tree_drag_open_directory): Disabled the auto-collapse
766 functionality yet again, since it has numerous problems. BUGFIX:
767 GNOME bug tracker #1656.
769 * gcmd.c (gnome_reverse_selection_cmd_panel): Re-enabled this
770 function. The reverse selection bug was somewhere else after all.
772 * glayout.c (gnome_panel_edit_menu): Re-inserted the item for
773 reverse selection. It was pointing to the wrong callback, that is
776 1999-08-12 Federico Mena Quintero <federico@redhat.com>
778 * gtkdtree.c (scan_subtree): Scan the subtree unconditionally, as
779 it is completely orthogonal from the selection status.
780 (gtk_dtree_select_row): Maintain the dtree->last_node field here.
781 This fixes the expand/select the same row sequence. BUGFIX: GNOME
784 1999-08-12 Jonathan Blandford <jrb@redhat.com>
786 * gpopup2.c (handle_unmount): We refresh when we unmount/mount a cdrom.
788 * gscreen.c (queue_reread_cmd): We refresh when we make a change.
790 1999-08-12 Federico Mena Quintero <federico@redhat.com>
792 The two following entries are BUGFIX: GNOME bug tracker #1789.
794 * gscreen.c (panel_fill_panel_list): Do not allow selection of "..".
795 (panel_icon_list_select_icon): Likewise.
797 * glayout.c (gnome_panel_edit_menu): Removed the Invert Selection
798 command. It is completely broken for the expected GNOME
801 * gnome-file-property-dialog.c (perm_group_new): If the file
802 belongs to an unknown user/group, use the group's number as a
803 string for the entry box. BUGFIX: GNOME bug tracker #1414.
804 (perm_owner_new): Do the same thing for the user.
806 * gdialogs.c (file_mask_dialog): Destroy the dialog if it was
807 closed by the window manager, as well.
808 (file_op_context_create_ui): Make the operation window modal so
809 that the user cannot fiddle with other windows while files are
810 being operated on. BUGFIX: GNOME bug tracker #1035.
812 1999-08-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
814 * gdialogs.c (file_mask_dialog): Sigh, disabled background
815 operations, since they are completely hosed. Re-aligned the
816 widgets in the dialog. BUGFIX: GNOME bug tracker #1412, #1416.
818 1999-08-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
820 * gscreen.c (editing_icon_list): New function to figure out
821 whether an icon in the icon list is being edited. This is a
822 FANTASTICALLY UGLY HACK, but we cannot add new functions to the
823 icon list at this point as it would break forwards compatibility.
824 Sigh. BUGFIX: GNOME bug tracker #382, #1065.
826 * glayout.c (gnome_panel_desktop_menu): Added some underline
829 * gdesktop.c (desktop_arrange_icons_items): Renamed to the desktop
830 namespace. Added underline accelerators.
831 (handle_arrange_icons_name): Made static.
832 (handle_arrange_icons_type): Likewise.
833 (handle_arrange_icons_size): Likewise.
834 (handle_arrange_icons_access): Likewise.
835 (handle_arrange_icons_mod): Likewise.
836 (handle_arrange_icons_change): Likewise.
837 (desktop_arrange_icons): Made static.
838 (strip_tearoff_menu_item): Made it return the number of items in
839 the menu, not the list of children.
840 (desktop_icon_info_destroy): Remove the icon from the icon hash
842 (text_changed): Update the icon hash table information.
844 * gdesktop.h: Cleaned up some unused prototypes.
846 * gview.c (view_status): Use the correct g_snprintf() format
849 * gcmd.c (sort_get_func_from_type): Indented according to the MC
850 conventions. People, *PLEASE* follow the Gnome Programming
851 Guidelines, especially when modifying existing code.
853 * gdesktop.c (swap): Likewise.
854 (auto_pos): Likewise.
855 (get_icon_auto_pos): Likewise.
857 1999-08-08 Richard Hestilow <hestgray@ionet.net>
862 * gdesktop.[ch] (mostly auto_pos and desktop_arrange_icons):
863 Reworking of the desktop's Arrange Icon code -- in addition to
864 being able to sort by various criteria now (name, file size, etc),
865 there are now 3 options (Right to Left, Bottom to Top, Rows instead
866 of Columns) controlling layout positioning. (Located in the "Desktop"
869 1999-08-08 David Martin <dmartina@usa.net>
871 * gaction.c (mainly gmc_unable_to_execute_dlg): Moved g_strconcat
872 to g_strdup_printf, to get compact strings and make coherent
873 translations. Translate atomic actions (open, edit, view) when
874 calling this function.
876 1999-08-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
878 * gdesktop.c (try_rename): New function to rename a desktop icon's
879 file by using a file operation context.
880 (text_changed): Use try_rename() instead of fiddling with the VFS
881 directly. BUGFIX: GNOME bug tracker #707. Also, destroy the old
882 icon before updating the desktop.
884 1999-08-06 Norbert Warmuth <nwarmuth@privat.circular.de>
886 * gconf.h (PORT_STATIC_IN_STRING_FILE_XTIME): new port specific
887 feature. The Gnome edition first calls all string_file functions
888 and then uses the return values of these functions. This needs
889 some static buffers in string_file_[acm]time. Therefore additional
890 static buffers in string_file_[acm]time are needed.
892 1999-08-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
894 * gnome-file-property-dialog.c (perm_group_new): Set the correct
895 group name in the group entry box. BUGFIX: Red Hat bugzilla #3244.
897 * gmount.c (get_mountable_devices): Return the list in getmntent()
898 order. BUGFIX: Red Hat bugzilla #3621.
900 * gprefs.c (help_callback): New help callback for the preferences
901 dialog. It loads the "gmcprefs.html" section from the GMC user's
902 guide. We need a better framework for this; we need to be able to
903 map DocBook identifiers (<foo id="bar">) to HTML files or
904 whatever. BUGFIX: Red Hat bugzilla #3194.
906 1999-08-01 David Martin <dmartina@usa.net>
908 * gcmd.c (gnome_about_cmd): Change strings in gmc "about" to
909 static as they only translated once.
911 1999-08-01 <jrb@redhat.com>
913 * glayout.c: moved Preferences to a settings menu.
915 1999-07-17 Karsten Weiss <karsten@addx.au.s.shuttle.de>
917 * mc.keys.in.in: changed "x11amp" references to "xmms" (xmms is
918 the new name of x11amp).
920 1999-07-13 Miguel de Icaza <miguel@gnu.org>
922 * gnome-file-property-dialog.c (perm_group_new): the return values
923 from the group functions in libc return pointers to static buffers
924 in the library. Duplicate all return values and free them at the
927 1999-07-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
929 * gdesktop.c (icon_drag_data_received): Use desktop directory here
930 not the fullname when invoking gdnd_perform_drop as this is what
933 * gnome-file-property-dialog.c (perm_group_new): Patch from
934 Germano Leichsenring <germano@jedi.cs.kobe-u.ac.jp> that fixes the
935 display of groups for non-root users.
937 1999-07-07 <jrb@redhat.com>
939 * mc.keys.in.in: updated a few values.
941 1999-07-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
943 * gcorba.c (corba_create_window): Ensure that the directory we
944 pass to the CORBA server is not NULL.
946 * gscreen.c: Removed a bunch of unused functions for filters.
948 1999-06-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
950 * gscreen.c (x_select_item): Removed icon list hacks.
952 1999-06-24 Norbert Warmuth <nwarmuth@privat.circular.de>
954 * gmc-chargrid.c (update_strip): Paint every character with the
955 assigned fore and background color instead of using the colors of
956 the first character for the whole line.
958 1999-06-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
960 * gsession.c (create_default_panel): Use directory specified in
963 * gcorba.c (corba_create_window): Pass the directory we receive or
964 cwd if this value is NULL.
966 * gmain.c (non_corba_create_panels): Use parameter for startup
967 directory (use the this_dir external directory for this).
968 (create_panels): Pass this_dsir to non_corba_create_panels and
971 1999-06-22 David Martin <dmartina@usa.net>
973 * gnome-file-property-dialog.c (switch_metadata_box): Tag some
974 strings for localization.
976 * gnome-open-dialog.c (gnome_open_dialog_new): Don't assemble
977 label_string from seperate strings (makes it easier to translate).
979 1999-06-22 Norbert Warmuth <nwarmuth@privat.circular.de>
981 * gview.c (viewer_size_changed): Update internal viewer state used
984 1999-06-17 Federico Mena Quintero <federico@nuclecu.unam.mx>
986 * gdesktop.c (set_icon_wmclass): New function to set the wmclass
987 and wmname for desktop icons. This lets them be managed correctly
988 by WMs who try to manage X11R5 clients decently.
989 (text_changed): Call set_icon_wmclass().
990 (desktop_icon_info_new): Call set_icon_wmclass().
992 * gdesktop-icon.c (desktop_icon_realize): Do not clear the
993 WM_CLIENT_LEADER property.
995 1999-06-14 Federico Mena Quintero <federico@nuclecu.unam.mx>
997 * gdesktop.c (icon_is_in_area): Fixed off-by-one error in
998 intersection computation.
1000 * gdesktop-icon.c (desktop_icon_reshape): Set the correct values
1001 for dicon->text_x and dicon->text_y.
1003 1999-06-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
1005 * gwidget.c (x_update_input): Unblock the changed signal *after*
1006 we call gtk_editable_changed().
1008 1999-06-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
1010 * gdesktop-icon.[ch]: Removed the background hack for desktop
1011 icons. Now the GnomeIconTextItem does the right thing.
1013 * gdesktop-icon.c (desktop_icon_reshape): Use the correct size for
1016 1999-06-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
1018 * gdesktop.c (new_terminal): New function to open a terminal from
1019 the popup menu. If the user opens a terminal from the desktop,
1020 then its cwd should be the user's home directory, not the desktop
1021 directory. Fixes bug #2868 in the Red Hat bugzilla.
1023 1999-06-04 Robert Brady <rwb197@ecs.soton.ac.uk>
1025 * gscreen.c (panel_list_configure_contents): Prevent
1026 divide by zero error. (Fixes bug #1360)
1028 1999-06-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
1030 * gmain.c (xtoolkit_init): Ignore SIGTTIN and SIGTTOU.
1032 1999-06-01 Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
1034 * gnome/gdesktop-icon.h:
1035 * gnome/gmc-chargrid.c: Replace gdk_font_load() with
1036 gdk_fontset_load(), and change the default font names.
1038 1999-05-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
1040 * gscreen.c: Include util.h after x.h; Undefine __G_LIB_H__.
1042 1999-06-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
1044 * gdesktop-icon.c (desktop_icon_select): Show the
1046 (desktop_icon_init): Initialize backgorund as a rectangle that
1047 fills all of the space used by the icon.
1049 1999-05-31 Kjartan Maraas <kmaraas@online.no>
1051 * glayout.c (gnome_panel_about_menu): Hooked up the new help
1054 1999-05-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
1056 * gprefs.c (create_prop_int): Translate this label too.
1058 * gnome-open-dialog.c: Add config.h here. Otherwise there is no
1059 way to translate this dialog. Thanks to David Martina for
1062 1999-05-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
1064 * gscreen.c (panel_tree_button_press): Beginning of context menu
1067 * gtkdtree.c (gtk_dtree_load_path): Comment out the phantom code.
1068 Need to review this code. Lets fix the problem Federico needs
1071 1999-05-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
1073 * gpopup.c (panel_action_properties): Hanlde properly
1074 gnome_dialog_run here.
1076 * gpopup2.c (handle_properties): ditto
1078 * gmain.c (gnome_check_super_user): Use dialog_run_and_close here.
1080 * gpopup.c (dicon_properties): Handle propery gnome_dialog_run
1082 * gdialogs.c (file_mask_dialog): Fix usage of gnome_dialog_run
1083 here. Handle case == -1.
1085 * gcmd.c (gnome_select): Fix usage of gnome_dialog_run here
1088 * gscreen.c (panel_fill_panel_icons): Add a hack to work around
1089 gnome-libs/gnome-icon-list bug that did not reset the proper
1090 values. A fix will be available in gnome-libs-1.0.10.
1094 * gcmd.c (gnome_close_panel): Remove filter_w
1096 * gscreen.c (x_filter_changed): Update nothing.
1098 1999-05-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
1100 * gnome-open-dialog.c (gnome_open_dialog_generate_tree_helper):
1101 Invoke closedir here as well.
1103 * gdesktop-init.c (desktop_init_at): Invoke closedir here.
1105 1999-04-29 Federico Mena Quintero <federico@nuclecu.unam.mx>
1107 * gdialogs.c (file_progress_show_count): Use correct formats for
1110 1999-05-03 Tuomas Kuosmanen <tigert@gimp.org>
1113 * i-directory.png: Added new icons for normal and locked folder..
1114 I hope you like them - imho they look way better than the old ones.
1116 1999-05-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
1118 * gcmd.c (gnome_new_link): Allow users to create url shortcuts on
1121 1999-04-20 Federico Mena Quintero <federico@nuclecu.unam.mx>
1123 * gdesktop.c (click_proxy_motion): Terminate rubberbanding if the
1124 event mask does not contain GDK_BUTTON1_MASK. There is a race
1125 condition where we will not get the button release event if we
1126 manage to grab the server in the button_press handler before the
1127 window manager proxies the button release to us.
1128 (perform_release): New function to terminate rubberbanding; this
1129 used to be in click_proxy_button_release(). Also, update the drag
1130 selection based on the last known mouse position, not on the
1131 current one (which is not meaningful if the race condition
1132 mentioned above kicks in).
1133 (click_proxy_button_release): Use perform_release().
1135 1999-04-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
1137 * gdialogs.c (file_op_context_create_ui): Handle the "close"
1138 signal from the progress dialog; do not let GnomeDialog close it
1139 for us. This fixes bug #2203 in Red Hat's Bugzilla.
1141 1999-04-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
1143 * gnome-file-property-dialog.c (perm_group_new): Small typo fix
1144 that fixes crash (#958)
1146 1999-04-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
1148 * mc.keys.in.in: Merge the application/tex values.
1150 1999-04-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
1152 * gnome-file-property-dialog.c (create_general_properties): Mark
1153 some more strings for translations. Thanks to David Martina for
1156 * mc.keys.in.in: New icons from Tim Davis <davist@cs.man.ac.uk>
1158 1999-04-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
1160 * gscreen.c: Include the glib.h header file here.
1162 1999-04-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
1164 * gtkdtree.c (gtk_dtree_save_tree): Use tree_store_save().
1166 * gscreen.c (panel_tree_check_auto_expand): Enabled auto-collapse
1167 functionality again. Made the code a simpler by using
1168 gtk_dtree_is_ancestor().
1170 * gtkdtree.c (gtk_dtree_is_ancestor): New function to test whether
1171 a node is an ancestor of a child. This does the same as
1172 gtk_ctree_is_ancestor(), but much more efficiently. GtkCTree
1173 seems to use the pessimal algorithm for this.
1174 (gtk_dtree_collapse): Slight optimization: do not re-select if the
1175 node is already selected.
1176 (gtk_dtree_collapse): Do not freeze/thaw the tree while
1177 collapsing/selecting.
1179 * gmain.c: Removed crufty old SM code.
1181 1999-04-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
1183 * gscreen.c (panel_setup_drag_scroll): Made it not return
1184 anything, since scrolling is independent from any other
1185 prelighting actions.
1186 (panel_tree_drag_begin): Do not print debugging message.
1187 (panel_drag_data_get): Assert that we were requested a valid data
1189 (panel_create_tree_view): Only specify GTK_DEST_DEFAULT_DROP for
1190 the tree, since we want to present the correct feedback when the
1191 user is hovering over the blank area in the tree.
1192 (panel_build_selected_file_list): Made it return char *.
1193 (panel_tree_drag_end): Free dtree->drag_dir, not dtree->current_path.
1194 (tree_drag_open_directory): Use panel->drag_tree_node instead of
1195 the coordinates hack.
1197 1999-04-15 Jonathan Blandford <jrb@redhat.com>
1199 * gaction.c (gmc_unable_to_execute_dlg): really ugly hack to set label.
1200 (gmc_unable_to_execute_dlg): oops. forgot this.
1202 1999-04-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
1204 * gtkdtree.c (gtk_dtree_destroy): Memory leak fix: destroy
1205 current_path and requested_path
1207 1999-04-13 Jonathan Blandford <jrb@redhat.com>
1209 * mc.keys.in.in: updated the key files to add more types.
1211 1999-04-12 Andrew T. Veliath <andrewtv@usa.net>
1213 * gdesktop.c (create_panel_from_desktop): Assign selected_index
1214 when we find the last selected icon.
1215 (desktop_icon_info_open): Desktop directory open case moved to
1216 main.c to handle both general and action cd commands.
1218 1999-04-12 Tuomas Kuosmanen <tigert@gimp.org>
1220 * glayout.c: Changed the stock icon for File->Delete to
1221 GNOME_STOCK_PIXMAP_TRASH (the trashcan)
1223 1999-04-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
1225 * gscreen.c (panel_icon_list_button_press): Ignore double clicks.
1226 (panel_widget_motion): Don't do anything if the button state does
1227 not match the button we are expecting.
1229 * gtkflist.c (gtk_flist_button_press): Remove pending selections
1230 when we receive a double click.
1232 * gaction.c: #include "view.h"
1234 1999-04-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
1236 * gmount.c (is_block_device_mountable): Allow root to mount
1239 1999-04-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
1241 * gtkflist.[ch]: New files. This is a "file list" widget derived
1242 from GtkCList that does several things:
1244 - Overrides all mouse and keyboard event handlers.
1246 - Implements its own, *sane* selection behavior, unlike
1247 GtkCList's, which is broken.
1249 - Implements the same selection behavior as the desktop,
1250 which is a) correct, and b) consistent.
1252 * gscreen.c (panel_create_file_list): Use the GtkFList widget.
1253 (panel_widget_motion): Changed the drag thresholds to be the same
1255 (start_drag): New convenience function to begin a drag operation.
1256 (panel_widget_motion): Use start_drag().
1257 (panel_clist_scrolling_is_desirable): Offsets must be with respect
1258 to the clist_window, not to the allocation.
1259 (panel_clist_drag_motion): Normalize the y coordinate of the
1260 motion event to the clist_window.
1262 * gdesktop.c (desktop_icon_info_destroy): Reset the
1263 last_selected_icon to NULL if it is destroyed.
1265 * Makefile.in: Added gtkflist to the list of files.
1267 1999-04-09 Rosanna Yuen <rwsy@mit.edu>
1269 * gaction.c (gmc_view): We now have consistant actions everywhere;
1270 every time you invoke a file.
1272 1999-04-08 Rosanna Yuen <rwsy@mit.edu>
1274 * gcmd.c (set_cursor_normal): new function to set the watch cursor
1277 1999-04-08 Jonathan Blandford <jrb@redhat.com>
1279 * gaction.c (gmc_unable_to_execute_dlg):
1280 now actions do the right thing (TM).
1282 1999-04-07 Owen Taylor <otaylor@redhat.com>
1284 * gsession.c (session_save): Set a discard command
1285 to get rid of the per-session information.
1287 1999-04-06 Jonathan Blandford <jrb@redhat.com>
1289 * gscreen.c: make sure that we bring up an open_with if
1292 * gcmd.c (gnome_select): new selection dialog.
1294 * gdesktop-init.c (desktop_init_at): do not use access for it is
1295 poor when you are root.
1297 1999-04-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
1299 * glayout.c (create_container): Use gtk_window_set_default_size(),
1300 not gtk_widget_set_usize().
1302 * gdesktop.c (get_slot_from_pos): Clamp the slot positions to be
1305 * gmain.c (gnome_check_super_user): Improved the message a bit.
1307 1999-04-06 David Martin <dmartina@usa.net>
1309 * gcmd.c: marked message for translation.
1311 1999-04-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
1313 * gmetadata.c (gmeta_del_icon_pos): New function to delete the
1314 icon position metadata from a file.
1316 * gcmd.c: Removed unused function gnome_quit_cmd().
1318 1999-04-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
1320 * gprefs.c: Add new page for desktop properties.
1322 1999-04-05 Ronald de Man <deman@win.tue.nl>
1324 * gnome-file-property-dialog.c (create_general_properties): Use
1327 1999-04-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
1329 * gcorba.c: #include "../vfs/vfs.h"
1331 * gdesktop.c (click_proxy_button_release): Call gdk_flush() after
1332 doing XUngrabServer().
1334 1999-04-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
1336 * gscreen.c (file_list_popup_items): Use "New Directory", not "New
1337 Folder", to be consistent with the desktop and File menus. Thanks
1338 to Kevin Fox for pointing this out.
1339 (panel_icon_list_drag_data_received): Update the panels properly.
1340 (panel_clist_drag_data_received): Likewise.
1341 (panel_tree_drag_data_received): Likewise.
1343 * gcmd.c (gnome_close_panel): Doh. Do not access g_free()d
1346 * glayout.c (copy_uiinfo_widgets): Return the copied array as a
1347 return value, not in an argument.
1349 * gcmd.c (set_view_type): Added a sanity check.
1351 1999-04-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
1353 * gtkdtree.c (scan_subtree): Moved the functionality to scan a
1354 subtree to this function. Also, do not emit the DIRECTORY_CHANGED
1356 (gtk_dtree_select_row): Call scan_subtree() and emit the
1357 DIRECTORY_CHANGED signal here.
1358 (gtk_dtree_expand): Do not select the just-expanded node. Call
1360 (gtk_dtree_collapse): Only select the node if it is an ancestor of
1361 the currently-selected node. This should really go in the
1363 (gtk_dtree_init): Bad hack: unset the GTK_CAN_FOCUS flag to avoid
1364 the broken focusing behavior of GtkCTree.
1366 1999-04-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
1368 * gcmd.c (gnome_about_cmd): Internationalize about box. And put
1369 the right address for bug reports.
1371 1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
1373 * gdesktop-icon.c (desktop_icon_realize): Remove the
1374 WM_CLIENT_LEADER property from icon windows so that window
1375 managers will not store SM information for them.
1377 * gnome-open-dialog.c: Added missing #includes.
1379 * gdesktop-init.c (desktop_init_at): Removed an unused variable.
1381 * gdesktop.h: Added some missing prototypes.
1383 * gmain.h: Added some missing prototypes.
1385 * Makefile.in: Added gsession.[ch] to the list of sources.
1387 * gmain.c (create_panels): Consider whether we have a CORBA server
1388 and session management.
1390 * gdesktop.c: #include "gdesktop-init.h"
1391 * gdesktop.c: Added a missing cast to GNOME_DIALOG.
1393 * gmain.c (create_panels): Removed the run_desktop global
1396 * glayout.c (create_container): Set the wmclass of the panel to
1397 include its unique ID.
1399 * gsession.[ch]: New file with the functions that deal with
1402 * glayout.c (gnome_exit): Use session_set_restart().
1404 * gcorba.c (corba_init): Now returns an int with an error value.
1405 (corba_init_server): Initialize the server properly.
1406 Fixed all the object implementation code.
1407 (corba_create_window): New function used to create a window with
1410 * gmain.c (gnome_check_super_user): Now the check for running as
1411 root is done here. There should be no GUI code in src/.
1413 1999-03-29 Jonathan Blandford <jrb@redhat.com>
1415 * gdesktop.c (create_desktop_dir): improved wording.
1416 (create_desktop_dir): improved wording.
1418 1999-03-26 Federico Mena Quintero <federico@nuclecu.unam.mx>
1420 * mc.keys.in: Now that the menu code uses the full filename, we do
1421 not need "%d/%f" for html files.
1423 1999-03-25 Federico Mena Quintero <federico@nuclecu.unam.mx>
1425 * gdialogs.c (file_progress_show_bytes): Total may be zero (for
1426 instance, if you are copying zero-byte files). Take this into
1427 account instead of issuing a warning.
1429 1999-03-25 Jonathan Blandford <jrb@redhat.com>
1431 * gdesktop.c (set_background_image): now we can set the background
1434 1999-03-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
1436 * glayout.c (create_new_menu_from): closedir after running.
1438 1999-03-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
1440 * gnome-file-property-dialog.c (apply_metadata_change): Fix the
1441 test for setting the icon. It was being done incorrectly and thus
1442 it was never possible to change the icon.
1444 * glayout.c (gnome_launch_mime_editor): Add mime-type-edit command
1445 to the menu: this launches mime-type-capplet
1447 1999-03-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
1449 * gnome-file-property-dialog.c (apply_metadata_change): Fixed
1450 incorrect logic when testing whether the icon changed or not.
1451 This makes icons change correctly again.
1453 * Makefile.in (GNOMEHDRS): Added gdesktop-init.h.
1455 1999-03-23 Jonathan Blandford <jrb@redhat.com>
1457 * gscreen.c (panel_tree_drag_motion): lets try to cut down on the flickers.
1459 1999-03-22 Jonathan Blandford <jrb@redhat.com>
1461 * gdesktop-init.c (gdesktop_init): Do what the documentation says.
1463 1999-03-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
1465 * gdesktop-init.c (desktop_load_init_from): New file that loads
1466 new configuration files from the installation directory.
1468 * gdesktop.c: Drop all the reload code from there, put it above.
1470 * gpopup2.c (create_mime_actions): Attach to the menu, not the uiinfo.
1472 1999-03-19 Jonathan Blandford <jrb@redhat.com>
1474 * gscreen.c (panel_tree_drag_motion): Dragging now automatically
1475 highlights the tree. God does it flicker... )-:
1477 * gtkdtree.h (gtk_dtree_construct): removed unused prototype.
1479 * gscreen.c (panel_tree_check_auto_expand): removed the
1480 auto-collapse of trees, as it is confusing to the user.
1482 * gcustom-layout.c (custom_layout_set): We don't want to let the
1483 user remove all of the settings.
1485 * gdialogs.c (file_progress_show_bytes): bug fix proposed by Max
1486 Weninger <max@takefive.co.at>
1488 * gcmd.c (dentry_apply_callback): new function.
1489 (gnome_new_launcher): We can now create new
1491 1999-03-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
1493 * gpopup2.c (create_mime_actions): Free full_name, just once, not
1496 1999-03-19 Paul Raines <raines@slac.stanford.edu>
1498 * gtkdtree.c (gtk_dtree_load_path): Uses a phantom node to get
1499 directories with the expandable flag. Avoids loading directories
1502 1999-03-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
1504 * gdesktop.c (desktop_icon_info_open): Fix condition. Should not
1505 open a new panel if it fails to mount the device.
1507 Thu Mar 18 14:59:12 1999 Timur Bakeyev <mc@bat.ru>
1509 * gnome-open-dialog.c (read_directory): s/basename/x_basename/g
1511 1999-03-17 Jonathan Blandford <jrb@redhat.com>
1513 * gnome-file-property-dialog.c (generate_icon_sel): I don't know
1514 who broke this, but it was a mess. It now does the right thing,
1517 1999-03-16 Jonathan Blandford <jrb@redhat.com>
1519 * gnome-open-dialog.c (read_directory): We now honor .order files.
1521 1999-03-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
1523 * gicon.c (get_icon_set): Use iset->filename (which is a
1524 strdup()ed string) instead of filename as a key in the hash table,
1525 since the user will very likely free filename.
1527 * gdialogs.c (symlink_dialog): Finished implementing the new
1530 * gdesktop.c (icon_event): I'm an idiot. Someone teach me boolean
1531 logic again. Fixed edit-on-release for icons.
1533 1999-03-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
1535 * gdialogs.c (real_input_dialog_help): Now we use a
1536 gnome_request_dialog() for generic input dialogs. They look
1537 prettier and consistent now.
1538 (file_progress_show): Update the progress bars. Thanks to Greg
1541 * Makefile.in: Removed references to gpopup.[co].
1543 Mon Mar 15 17:09:37 1999 Gregory McLean <gregm@comstar.net>
1545 * gdialogs.c (file_progress_show_bytes): Fixed a GTK Warning when
1547 * file.c : Actually update the progress bar when copying files around.
1549 1999-03-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
1551 * gscreen.c (x_select_item): It is not necessary to call
1552 gnome_canvas_update_now() here.
1554 * gdesktop-icon.c (set_icon): Do not destroy the icon image.
1556 * gnome-file-property-dialog.c
1557 (gnome_file_property_dialog_finalize): Do not destroy the icon
1558 image, since it is a shared resource.
1560 1999-03-14 Federico Mena Quintero <federico@nuclecu.unam.mx>
1562 * gdesktop.c (text_changed): If the file has the "icon-caption"
1563 metadata set, then change that instead of renaming the file. This
1564 can be used by URLs and is also needed by the mountable device
1566 (text_changed_url): Removed this function now that text_changed()
1567 can handle all cases.
1569 * gdnd.c (drop_url_on_directory): Set the "icon-caption" metadata
1572 * gdesktop.c (icon_event): Handle button-2 clicks and drags
1575 1999-03-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
1577 * gmount.c (get_mountable_devices): Show error message if the
1578 /etc/fstab is not readable by the user.
1580 1999-03-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
1582 * gview.c (scrollbar_moved): Better, but still shaggy when you
1583 drag with the scrollbar.
1585 1999-03-12 Federico Mena Quintero <federico@nuclecu.unam.mx>
1587 * gdesktop.c (create_panel_from_desktop): Do not assert that
1588 panel->count > 0, because we may actually not have any icons in
1590 (desktop_popup): Reload the desktop once the popup menu is done.
1591 (create_panel_from_desktop): Be consistent with the way totals are
1592 computed in screen.c:do_file_mark().
1594 * gnome-file-property-dialog.c (gnome_file_property_dialog_init):
1595 Set the dialog to not destroy-on-close.
1597 * gpopup2.c (gpopup_do_popup2): Fixed Miguel's code.
1599 1999-03-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
1601 * gpopup2.c (gpopup_do_popup2): Until Federico look over this, I
1602 am fixing this crash.
1604 1999-03-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
1606 * gpopup2.c: Sigh. It happened again. More features killed by
1609 If a file does not have any metadata/mime way of viewing it, the
1610 viewer will always work.
1612 1999-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
1614 * gdesktop.c (text_changed): Rename the metadata and refresh the
1615 desktop. This also fixes bug #573.
1617 1999-03-11 Jonathan Blandford <jrb@redhat.com>
1619 * gnome-file-property-dialog.c (create_settings_pane): change the
1620 wording to be a tad clearer.
1621 (apply_metadata_change): only set the icon if it has changed.
1623 1999-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
1625 * gpopup2.c (create_mime_actions): Do not free the file name here,
1626 since it is passed on to the callback. It will be freed on the
1627 destroy handler instead.
1629 * gpopup2.c (escape_underlines): New function to escape the
1630 underlines in a string so that GtkLabel will include them in the
1632 (create_mime_actions): Escape the underlines from the MIME action
1635 1999-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
1637 Fix bug #261: inconsistent labels in view menu and toolbar,
1638 unsynchronized items.
1640 * glayout.c (panel_view_menu_uiinfo panel_view_toolbar_uiinfo):
1641 Made the view names consistent with the toolbar names. Also,
1642 added underscore accelerators to the menu items.
1643 (copy_uiinfo_widgets): New function to copy the widgets from an
1644 uiinfo array into a widget array.
1645 (create_container): Copy the uiinfo widgets to the panel
1648 * gcmd.c (set_view_type): New function to set the list view type
1649 and synchronize the menu and toolbar items.
1650 (gnome_close_panel): Free the view menu/toolbar item arrays.
1652 1999-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
1654 * gpopup2.c (perform_mount_unmount): Set the icon's cursor while it is
1656 (handle_mount): Use perform_mount_unmount().
1657 (handle_unmount): Likewise.
1658 (handle_eject): Set the icon's cursor while it is being ejected.
1660 * gdesktop.c (desktop_icon_set_busy): New function to set a watch
1661 or normal cursor for a desktop icon.
1663 * gdesktop.c (desktop_icon_info_open): Set the cursor to a watch
1664 while the icon is being opened. Also, fixed memory leaks.
1665 (do_eject): Added a missing return value.
1667 1999-03-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
1669 * gmount.c (setup_devices): Use new tigert icon.
1671 * gdesktop.c (do_mount_umount): Use g_readlink here.
1673 * gpopup2.c (handle_eject): Small tuning. And use g_readlink :-).
1675 * gmount.c (mount_point_to_device): New function. Mapes a mount
1676 point to its device. Required since we are now using the mount
1677 point (as this is not ambiguous) as the key for the devices and
1678 the eject command needs the device name, not the mount point.
1680 * gdesktop.c (desktop_icon_info_open): First try to see if
1681 filename is mountable. Then do the directory tests and the file
1682 launching tests. Fixes mount-by-double click.
1684 1999-03-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
1686 * glayout.c (save_panel_types): Do not save the setup of a desktop
1689 * gpopup2.c (handle_mount): Use get_full_filename().
1690 (handle_unmount): Likewise.
1691 (handle_eject): Likewise.
1692 (handle_open): Likewise.
1694 * gdesktop.c (update_url): Made static.
1695 (desktop_reload_icons): Call update_url() when updating an
1698 * gpopup2.c (handle_properties): Do not update the icon url here.
1700 1999-03-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
1702 This is a semi-big slew of changes to integrate the DESKTOP_BRANCH
1703 into the main trunk. Now the gdesktop code creates a temprary
1704 WPanel structure and passes it on to the core file management
1705 functions. Also, the menu code is improved (we now use gpopup2;
1706 gpopup should go away shortly and gpopup2 should replace it).
1707 This makes the desktop act consistently with the file panels.
1708 Thanks to Jonathan for his help with this branch.
1710 * gdnd.c (perform_action): Use mc_lstat(), not mc_stat().
1712 * glayout.c (update_panels): Do not update the panels that are
1715 * gdesktop.c (icon_is_in_area): An icon is not considered to be in
1718 * gpopup2.c (handle_open): Fetch the desktop icon from the
1719 filename and call desktop_icon_info_open().
1721 * gdesktop.c (desktop_icon_info_get_by_filename): New function to
1722 look up a desktop icon by its filename.
1724 * glayout.c (create_new_menu_from): Test for the ".desktop" suffix
1727 * gpopup2.c (handle_properties): If the file comes from a desktop
1728 panel, always allow edition of the icon image.
1730 1999-03-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
1732 * gdialogs.c: Support ui->ctx to be NULL, as file.c will set this
1733 to NULL for background operations.
1735 1999-03-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
1737 * gdesktop.c (icon_drag_data_received): Pass the full directory
1738 name to gdnd_perform_drop.
1740 * gpopup.c (create_regexp_actions): This routine no longer creates
1741 the default copy/move/delete context menu entries.
1743 (file_actions): Include the copy/move/delete options here. This
1744 also enabled me to reorder things to put "Delete" closer to the
1745 top, as it is a pretty common operation.
1747 1999-03-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
1749 * gmain.c (session_save_state): Add call to gnome_config_sync().
1751 * gutil.c (my_system_get_child_pid): reset SIGPIPE to a sensible
1753 (my_system_get_child_pid): Close also stdin/stdout/stderr
1755 * gdesktop.c (is_mountable): Allow user-nfs devices to be mounted
1757 1999-03-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
1759 * gscreen.c (can_drop_on_clist): New function to figure out if the
1760 user is trying to drop on a valid region of a GtkCList. It sucks
1761 to have to poke into its internal geometry, though.
1763 1999-03-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
1765 * gnome-file-property-dialog.c (apply_metadata_change): only set
1766 the needs-terminal property if we actually created such entry.
1768 1999-03-08 Sergey Panov <sipan@mit.edu>
1770 * gcustom-layout.c, gprefs.c: Make the preferences dialog
1771 translatable. (include files in gcustom-layout.c and use of
1772 the _() macro in gprefs.c)
1774 1999-02-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
1776 * gnome-file-property-dialog.c (create_settings_pane): Simplify
1777 the test and fix it.
1779 * gdnd.c (drop_on_file): Fix these so that they can use the
1780 metadata drop-action.
1782 * gdesktop.c (desktop_icon_info_open): Ugly. Needs to share more
1783 code here. Use the metadata first, and the is_exe to find out how
1784 to launch an application.
1786 * gnome-file-property-dialog.c (perm_group_new): Check the return
1788 (perm_group_new): Do not use a grp if it does not exist.
1790 1999-02-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
1792 * glayout.c (my_app_create_menus): New function, used to create
1793 our menus and set the realy properly, to make cpanel (ie,
1794 current_panel) always consistent with what the user users.
1796 So, no need to kill the tearoff menus in gmc now.
1798 * gmount.c (is_block_device_mountable): compare the device name
1801 (get_mountable_devices): Do not stop scanning devices.
1803 * gview.c (scrollbar_moved): Call view update here, with
1806 * gdesktop.c (desktop_icon_info_open): Add needs terminal support.
1808 * gnome-file-property-dialog.c (create_settings_pane): Add Needs
1811 1999-02-25 Jonathan Blandford <jrb@redhat.com>
1813 * gpopup2.c: even more bug-fixes. Plenty more left to do, but now
1814 all the menu code seems to work other then the
1815 select-and-popup-menu problem.
1817 * gaction.c (gmc_can_view_file): new function. Can we view the file?
1819 1999-02-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
1821 * gaction.c (gmc_open_filename): Add support for needsterminal.
1823 * gscreen.c: Add New Folder option to the panel popup.
1825 1999-02-25 Owen Taylor <otaylor@redhat.com>
1827 * gdialogs.c (file_delete_query_recursive): GNOME
1828 replacement for recursive delete query dialog.
1830 * gprefs.c gcustom-layout.[ch]: Add a new page to
1831 the preferences dialog to allow the user to change
1832 the columns in the custom view.
1834 1999-02-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
1836 * gmount.c (desktop_cleanup_devices): Export this routine now and
1837 call it from gdeskop instead of overloading gmount_setup_devices.
1839 * gprint.c: Sample file, it uses an externally provided program
1840 (not in 1.0 so far) to setup printer devices.
1842 * gmount.c (gmount_setup_devices): No longer cleans up here.
1844 * gicon.c (gicon_get_filename_for_icon): Return const char *, this
1845 tells the user of this routine "you better not touch or free this
1848 * gnome-file-property-dialog.c (apply_metadata_change): Always set
1849 the name of the icon to the new value, as the entry will always
1850 match the imlib image anyways (due to the fixes I did to const
1852 (generate_icon_sel): Do not free the value. We do not own this
1855 * gdesktop.c (is_mountable): NULL terminate string returned from
1856 readlink. Yes guys, readlink does not NULL terminate things.
1857 (do_mount_umount): ditto.
1859 * gnome-file-property-dialog.c (init_metadata): ditto
1861 Tue Feb 23 17:41:45 1999 George Lebl <jirka@5z.com>
1863 * gmain.c: set the restart property of the gnome client to
1864 RESTART_IMMEDIATELY or RESTART_NEVER if we're gonna quit
1866 1999-02-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
1868 * gnome-file-property-dialog.c (gnome_file_property_dialog_new):
1869 When dealing with a symbolic link, check the stat info from the
1870 real file, not the link.
1872 * gscreen.c (panel_tree_drag_data_received): Use path here (which
1873 is what is selected on the tree, not panel->cwd).
1875 * gdesktop.c (desktop_drag_data_received): Simplify.
1877 * gscreen.c (panel_icon_list_drag_data_received): Pass the full
1878 path to gdnd_perform_drop.
1879 (panel_clist_drag_data_received): same.
1881 * gdnd.c (drop_on_directory): We no longer take a file_entry
1882 here. The directory we get passed is already a fully qualified
1883 name of the target location.
1885 * gwidget.c (x_create_input): Hook to the changed signal and sync
1886 the input with our view of the entry. This fixes the paste bug
1889 Tue Feb 23 01:57:22 1999 George Lebl <jirka@5z.com>
1891 * gmount.c: fix obvious typos, use str in option_has_user, fix
1892 mt_opts typo and is_block_device_mountable can't return TRUE nor
1893 FALSE, so it returns NULL
1895 1999-02-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
1897 * gnome-file-property-dialog.c (apply_metadata_change): Fix memory leak.
1899 1999-02-23 Jonathan Blandford <jrb@redhat.com>
1901 * gpopup2.c (handle_open_with): use the new dialog. Doesn't quite
1902 work -- I'll make sure it does tonight.
1904 * gnome-open-dialog.c: new widget -- an "Open with..." dialog.
1906 1999-02-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
1908 * gdesktop.c (desktop_reload_icons): Fix memory leak.
1910 * glayout.c (create_new_menu_from): Fix memory leak.
1912 * gdesktop.c (desktop_icon_info_open): Launch a panel at the
1913 location of the mount point.
1915 * gmount.c (setup_devices): Use g_list_free, not g_free. Fed,
1916 test your fixes to my code ;-)
1918 * glayout.c (create_container): Add a Desktop menu if the WM is
1919 not GNOME compliant.
1921 * gdesktop.c (setup_motif_dnd_proxy): Use Window instead of
1922 gint32, fix from George Lebl.
1923 (setup_xdnd_proxy): ditto.
1925 1999-02-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
1927 * gdesktop.c (file_entry_fill): Initialize fe->f.dir_size_computed.
1929 1999-02-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
1931 * gmain.h: Removed set_current_panel() since it was never used.
1933 * glayout.c (set_current_panel): Made static and renamed from
1934 set_new_current_panel().
1935 Removed old toolbar cruft.
1937 * gmount.c (get_mountable_devices): Made static.
1939 * Makefile.in (ICONS): Added i-floppy.png, i-cdrom.png,
1940 i-printer.png. Thanks, Tigert!
1942 1999-02-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
1944 * gmount.c (gmount_setup_devices): New function to set up the
1945 mountable devices on the desktop directory. Moved over from
1946 gdesktop.c. Added an argument that specifies whether it should
1947 clean up the device list first.
1948 (cleanup_devices): Delete the metadata for the devices.
1949 (setup_devices): Free the list of device names. Use the proper
1950 icon for each device.
1951 (create_device_link): Better error checking.
1953 * gdesktop.c (create_desktop_dir): Use gmount_setup_devices().
1954 (desktop_icon_info_destroy): Made static.
1955 (desktop_popup_items): The command for rescanning mountable
1956 devices should go here.
1957 (handle_rescan_devices): Call gmount and refresh the desktop.
1959 * gdesktop.h: Removed the declaration of tree_panel_visible, since
1960 it has nothing to do with the desktop.
1962 * glayout.c (gnome_panel_commands_menu): Removed the recreate
1965 * gdesktop.c (desktop_popup_items): Added a new command to create
1968 1999-02-17 Federico Mena Quintero <federico@nuclecu.unam.mx>
1970 * gdesktop.c (do_mount_umount): Removed unused variable.
1971 (do_eject): Return FALSE if there is no eject command.
1972 (setup_devices): Removed unused variable.
1974 * gdnd.c (drop_on_file): Pass the directory to if_link_is_exe().
1975 (gdnd_validate_action): Likewise.
1976 (gdnd_perform_drop): Made consistent with the rest of the code by
1977 taking the directory name along with the file entry.
1978 (gdnd_validate_action): Likewise.
1980 * gdesktop.c (icon_drag_motion): Pass the directory to the gdnd
1982 (icon_drag_data_received): Likewise.
1983 (desktop_drag_motion): Likewise.
1984 (desktop_drag_data_received): Likewise.
1985 (desktop_icon_info_open): Pass the directory to if_link_is_exe().
1987 * gscreen.c (panel_icon_list_drag_data_received): Pass the
1988 directory to gdnd functions.
1989 (panel_clist_drag_data_received): Likewise.
1990 (panel_tree_drag_data_received): Likewise.
1991 (panel_clist_drag_motion): Likewise.
1992 (panel_icon_list_drag_motion): Likewise.
1994 1999-02-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
1996 * gdesktop.c (reload_desktop_icons): Load the information provided
1997 on the .desktop file for the desktop icon information: icon
1998 filename and text to be displayed.pwd
2001 * gpopup.c (create_actions): Add ejectable
2003 * gdesktop.c (do_eject): Add eject command.
2005 1999-02-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
2007 * gpopup.c (create_actions): Add support for mountable icons.
2009 * gdesktop.c (try_to_mount): Add an option to automatically mount
2010 links on the desktop that point to devices.
2011 (is_mountable): Returns true if a pathname is mountable.
2013 * glayout.c: Add the dirsizes command here.
2015 * gmount.c: New file. Implements support routines for
2018 1999-02-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
2020 * i-symlink.png: Flipped the image around, since we are putting
2021 the little icons on the lower-right corner.
2022 * i-stalled.png: Likewise.
2024 * gicon.c (gicon_get_filename_for_icon): Doh, use image_hash here.
2026 1999-02-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
2028 * gicon.c: Lots of changes to support the little symlink/stalled
2029 icons that get overlaid on the normal file icons. We now have the
2030 concept of an icon set, which is a cache of normal icons plus
2031 their overlaid versions.
2033 * gnome-file-property-dialog.c (apply_metadata_change): Use
2034 gicon_get_filename_for_icon().
2035 (generate_icon_sel): Likewise.
2037 * gnome-file-property-dialog.c (create_general_properties): Use
2038 buffers of size MC_MAXPATHLEN.
2039 (init_metadata): Likewise.
2041 1999-02-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
2043 * gmetadata.c: Removed the gmeta_del_icon_pos() function, since it
2044 is no longer used anywhere.
2046 * gdesktop.c (reload_desktop_icons): Use gnome_metadata_delete()
2047 instead of gmeta_del_icon_pos().
2048 (desktop_icon_info_delete): Likewise.
2049 (desktop_icon_info_destroy): Do not call gnome_metadata_delete().
2051 1999-02-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
2053 * gdesktop.c (arrange_desktop_icons): I am such a doofus, I did
2054 not initialize two variables here.
2056 1999-02-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
2058 * gdesktop.c (reload_desktop_icons): Take auto-positioning and
2059 snap-positioning into account. This is the right thing to do.
2060 (get_icon_auto_pos): Do auto-positioning in two steps, first from
2061 the requested position to the end of the slot array, then from
2062 slot zero forwards if required.
2064 1999-02-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
2066 * gcmd.c (gnome_open_terminal_with_cmd): New routine, based on the
2067 gnome_open_terminal routine, that will allow the user to specify a
2068 command to execute (used internally).
2070 * gaction.c (gmc_edit_filename): Support for the GNOME editor
2071 environment properties.
2073 * gdesktop.c (create_desktop_dir): Support GNOME_DESKTOP_DIR
2074 variable to configure the desktop directory.
2076 1999-02-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
2078 * mc.keys.in.in: Use "gnome-moz-remote file:%d/%f" for the html
2081 * gscreen.c (toolbar): Added a "rescan" button.
2083 * gprefs.c (create_prop_box): Make the preferences dialog modal.
2084 Also, set the window title and set the window's parent.
2085 Removed some unused functions.
2087 1999-02-14 Federico Mena Quintero <federico@nuclecu.unam.mx>
2089 * gdesktop.c (desktop_popup): Handle popup menus for the desktop.
2090 (arrange_desktop_icons): New function to auto-arrange the desktop
2092 (reload_desktop_icons): Take care of positioning the new icons by
2093 ourselves; do not rely on desktop_icon_info_new() to do it.
2094 (remove_from_slot): Reset the icon's slot to -1.
2095 (reload_desktop_icons): Show all the icons after they have been
2096 loaded, instead doing it one by one.
2098 * gscreen.c (file_list_popup): Handle popup menus for the blank
2099 areas of the file panels.
2100 (panel_icon_list_button_press): Call file_list_popup().
2101 (panel_file_list_press_row): Likewise.
2103 1999-02-14 Sergey Panov <sipan@mit.edu>
2105 * glayout.c: Fixed my own stupid typo( stock ID instead of NULL)
2106 it was not critical. A few minor, rather cosmetic changes in
2107 GnomeUIInfo structures.
2109 1999-02-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
2111 * mc.keys.in.in: Use Tigert's new icon for man pages.
2113 1999-02-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
2115 * gdialogs.c (file_mask_dialog): Renaming files was not working
2116 due to having the "file-must-exist" bit turned on.
2118 * gnome-file-property-dialog.c (apply_metadata_change): Metadata
2121 Change fpd->file_name to point to the new name so that any
2122 metadat changes take effect on the new name, not the old name.
2124 Test return value from move_file_file.
2126 (init_metadata): Fixed typo.
2128 1999-02-12 Federico Mena Quintero <federico@nuclecu.unam.mx>
2130 * mc.metadata.in: Added a regexp for EPS files.
2132 * mc.keys.in.in: Use Tigert's new icon for Postscript files.
2133 Possible FIXME: are there different MIME types for PS and EPS
2136 1999-02-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
2138 * gdesktop-icon.c (set_icon): Do not destroy the image if it is
2139 the same as the old one. Sigh, imlib really needs proper
2142 * gscreen.c: Use gpopup_do_popup() until the new version is
2145 * gpopup2.c (create_actions): Made the action selection logic
2147 (gpopup_do_popup2): Now can only operate on panels.
2148 (file_actions): Sanitized the actions a bit.
2150 * gutil.c (my_system_get_child_pid): sa_handler must be
2151 gnome_sigchld_handler, not gnome_sigchld_installed.
2153 * gpopup.c (dicon_properties): Do not call reread_cmd(). This is
2154 a hack until the menus for panels/desktop are finished.
2156 * gscreen.c (panel_file_list_press_row): Use gpopup_do_popup2().
2158 1999-02-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
2160 * gutil.c (my_system_get_child_pid): Implement a erase-temp-file
2161 when child dies instead of waiting for child that was launched
2162 from shell/temp-file to finish.
2164 1999-02-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
2166 * gdesktop.c (desktop_icon_info_place): Better icon placement by
2167 rounding to the proper slot number.
2168 (select_range): Simpler range selection for exact Windows behavior.
2170 * gdnd.c (drop_on_directory): Do not ask for the action twice.
2171 This was a leftover from a bit of code reorganization.
2173 * gscreen.c (panel_icon_list_button_press): Fixed "=" -> "!="
2176 1999-02-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
2178 * gaction.c (gmc_open_filename): Add support for running .desktop
2181 (gmc_view): Made const correct.
2183 1999-02-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
2185 * Makefile.in (ICONS): Added i-fifo.png to the list of icons.
2187 * gicon.c (gicon_init): Load the proper FIFO and socket icons.
2188 (gnome_file_entry_color): Return the proper icon for FIFOs.
2190 * i-fifo.png: Added this file, and made i-sock.png be the right
2191 image (thanks, Tigert!).
2193 * gscreen.c (ILIST_FROM_SW): New macro to extract the icon list
2194 from the scrolled window.
2195 (panel_create_icon_display): Create a scrolled window and put the
2196 icon list inside it. Changed the rest of the code to know about
2199 * gcorba.c (do_window_close): It turns out that we *do* need to
2200 call CORBA_free(). It was a bug in ORBit which was causing this
2203 1999-02-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
2205 * gdesktop.c (drag_end): Reload the desktop when a drag from the
2206 desktop terminates (the user may have moved something away).
2208 1999-02-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
2210 * gcorba.c (do_window_close): Removed call to CORBA_free, as
2211 PortableServer_POA_deactivate_object already calls CORBA_free on
2214 1999-02-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
2216 * glayout.c (gnome_close_panel_event): This function should return
2219 * gcorba.c (corba_init): Cast poa to PortableServer_POA.
2220 (impl_GNOME_FileManagerWindow_close): Call gnome_close_panel(); do
2221 not destroy the widget by hand.
2223 * gcmd.c (gnome_close_panel): This function should be void.
2225 * gpopup2.c (popup_handle_rescan): Call reread_cmd().
2227 * gscreen.c (panel_icon_list_button_press): Return TRUE if we
2228 handled a popup menu.
2230 1999-02-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
2232 (impl_GNOME_FileManagerFactory_create_window): Fix bug
2233 spooted by federico. I was connecting to the wrong signal.
2235 1999-02-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
2237 * gtkdtree.c (gtk_dtree_class_init): Added two new signals,
2238 scan_begin and scan_end.
2239 (gtk_dtree_expand): Call scan_begin() and scan_end().
2240 (gtk_dtree_select_row): Call scan_begin() and scan_end().
2241 (gtk_dtree_expand): Use gtk_ctree_select(), not gtk_dtree_select_row().
2242 (gtk_dtree_collapse): Select the node when it is collapsed.
2244 * gscreen.c (panel_create_tree_view): Added handlers for the
2245 scan_begin and scan_end signals of the tree -- these will set the
2246 cursor to a watch while the tree is being scanned.
2248 1999-02-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
2250 * gdesktop.c (desktop_icon_info_destroy): Delete the metadata
2251 associated with this icon.
2253 1999-02-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
2255 * gwidget.c (entry_click): On mouse clicks, mark the input as
2256 changed-without destroy.
2258 1999-02-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
2260 * gscreen.c (x_create_panel): Removed a couple unused variables.
2262 1999-02-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
2264 * gtkdtree.c (gtk_dtree_select_row): Disable row selection when
2265 were are removing entries from the tree.
2267 * gutil.c (my_system_get_child_pid): Fix. We always wait for the
2270 * gtkdtree.c (gtk_dtree_lookup_dir): Scan the whole tree.
2271 Appanrently now the nodes expose are not ordered, but can contain
2274 1999-02-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
2276 * gtkdtree.c (gtk_dtree_insert_node): This function was never
2277 returning the newly-created sibling.
2279 Sun Feb 7 05:29:17 1999 Timur Bakeyev <mc@bat.ru>
2281 * Makefile.in: Remove references and dependences to/from libslang -
2282 we don't need this in GNOME. Changed the order of linking - libgtkedit
2283 require libgnomeui.a, so swap $(LDFLAGS) and $(EXTRALIBS). The same for
2286 gdnd.c, gmetadata.c, gpopup2.c, gtools.c: Adde #include "global.h" or
2287 move it before #include <gnome.h> to avoid warnings about redefining
2288 MIN, MAX nad RE_DUP_MAX. More clean compiling.
2290 * gpopup2.h: New file - to avoid errors during "make distcheck". What
2293 1999-02-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
2295 * gnome-file-property-dialog.c (apply_metadata_change): #include
2296 string.h and replace references to rindex to strrchr.
2298 1999-02-07 Tomas Ogren <stric@ing.umu.se>
2300 * glayout.c, gnome-file-property-dialog.c: s/rindex/strrchr/
2301 To get rid of BSDism and make it compile on solaris 2.6
2303 1999-02-06 Ettore Perazzoli <ettore@comm2000.it>
2305 * gscreen.c (x_create_panel): The location bar is now a simple
2306 GtkHBox instead of a GtkToolbar, and as a consequence the location
2307 entry widget is expanded to fill all of the window horizontally.
2309 1999-02-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
2311 * gdesktop.c (drag_data_get): Set the Netscape URL from the icon
2312 if it is available. Wheee! We can now drop icons onto Netscape.
2314 * gmain.h: Added prototype for gmc_open_filename().
2316 * gdesktop.c (desktop_icon_info_open): Fixed call to
2317 gmc_open_filename(). See why it is good to have prototypes? :-)
2319 * gdnd.c (perform_action): Oops. Removed a leftover "break" that
2320 was causing the loop to exit, so you could not operate on more
2323 1999-02-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
2325 * gpopup2.c (popup_handle_properties): Update the URL information
2328 * gnome-file-property-dialog.c (generate_actions_box): Fix memory leak.
2329 (create_general_properties): Fix memory leak.
2331 * gdesktop.c (desktop_icon_update_url): New function. Updates any
2332 changes done to the url/caption on the file-property-dialog.
2334 * gnome-file-property-dialog.c
2335 (gnome_file_property_dialog_finalize): Release all of the
2336 resources allocated (metadata routines alwayre return an allocated
2339 Add support for changing the url an icon points to and the caption.
2341 * gdnd.c (drop_url_on_directory): Better set the icon-filename
2342 metadata entry instead of hard coding it.
2344 1999-02-05 Jonathan Blandford <jrb@redhat.com>
2346 * gcmd.c (gnome_reverse_selection_cmd_panel): new function -- does
2349 * gscreen.c (panel_icon_list_select_icon): uses new popup menu
2350 (panel_icon_list_button_press): ditto
2352 * gpopup2.c (gpopup_do_popup2): new implementation of popup
2353 menu. Many changes -- almost all internal. Much cleaner now...
2356 1999-02-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
2358 * gicon.c (gicon_get_url_image): Return an image for url types.
2359 (gicon_init): Load the url image.
2361 * gdesktop.c (desktop_icon_info_new): Use an URL image for
2362 desktop-urls. Use the url as the caption for those icons.
2364 1999-02-04 Jonathan Blandford <jrb@redhat.com>
2366 * gprefs.c (caching_and_optimization_props): wording changes
2368 1999-02-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
2370 * gdesktop.c (desktop_icon_info_open): Run "execute" if the file
2371 is an executable. I forgot that gmc_open does not test for
2374 1999-02-04 Jonathan Blandford <jrb@redhat.com>
2376 * gnome-file-property-dialog.c (apply_uid_group_change): Bug fix.
2377 (apply_metadata_change): Another bug fix.
2379 1999-02-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
2381 * gdnd.c (gdnd_validate_action): Show the correct feedback when
2384 1999-02-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
2386 * gdesktop.c (desktop_icon_info_open): Use gmc_open_filename
2387 instead of the stuff that goes trough a file_entry as we loose the
2390 * gnome-file-property-dialog.c (generate_actions_box): Tag "open"
2392 (apply_metadata_change): Use fm-open instead of fm_open for the
2395 * gscreen.c (panel_file_list_configure_contents): Make the icon on
2396 the type column be displayed.
2397 (panel_file_list_select_row): Removed dead code.
2398 (panel_file_list_press_row): Select the row before calling
2401 1999-02-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
2403 * gscreen.c (drop_types): Allow dropping URLs on file panels.
2405 * gdnd.c (gdnd_validate_action): Added an "on_desktop" argument;
2406 this specifies that the user is dragging over the desktop. Added
2407 cases for drags of desktop icons and URLs.
2408 (gdnd_perform_drop): New public function to handle drops. This is
2409 now the master function to handle drops -- use this to make all of
2411 (drop_on_directory): Made static and renamed from
2412 gdnd_drop_on_directory(). Made it fit for use by
2413 gdnd_perform_drop().
2414 (drop_url_on_directory): New function to drop an url on a
2415 directory, moved over from gdesktop.c.
2416 (drop_uri_list_on_directory): New function to handle drops of URI
2417 lists on a directory.
2418 (drop_on_file): New function to handle drops on a non-directory
2419 file entry. This is moved over from gdesktop.c,
2420 desktop_icon_drop_uri_list(). This is yet to be finished.
2422 * gdesktop.c (desktop_icon_drop_uri_list): Fix memory leak.
2423 (desktop_drag_motion): Use gdnd_validate_action().
2424 (dnd_icon_targets): Allow dropping URLs on icons.
2425 (icon_drag_motion): Use gdnd_validate_action().
2426 (desktop_drag_data_received): Use gdnd_perform_drop().
2427 (icon_drag_data_received): Use gdnd_perform_drop().
2429 * gscreen.c (panel_icon_list_drag_data_received): Use
2430 gdnd_perform_drop().
2431 (panel_clist_drag_data_received): Use gdnd_perform_drop().
2432 (panel_tree_drag_data_received): Use gdnd_perform_drop().
2434 * gcmd.c (gnome_about_cmd): Fixed Foundation typo, and updated the
2437 1999-02-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
2439 * gnome-file-property-dialog.c (create_general_properties): Use
2440 strrchr instead of rindex
2442 1999-02-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
2444 * gdesktop.c: Init gicon here to avoid crashing when we have the
2445 metadata database locked. Not really important, but makes the
2446 code cleaner (in terms of fixes).
2448 1999-01-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
2450 * gnome-file-property-dialog.c (icon_sel_callback): Fix the
2453 1999-02-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
2455 * gdesktop.c (desktop_drag_motion): If the user is dragging a
2456 Netscape url, allow ACTION_LINK.
2457 (setup_desktop_dnd): Now we use a single GtkInvisible widget to
2458 proxy both DnD and clicks on the desktop.
2459 (setup_motif_dnd_proxy): New function to set up a widow as a Motif
2460 DnD proxy (to allow drops from Netscape, for example).
2461 (setup_desktop_click_proxy_window): Use the proxy_invisible widget.
2462 (drop_url): Reload desktop icons after creating the url entry.
2463 (desktop_icon_info_place): Allow a drop from something other than
2464 a desktop icon to be placed where the user wants.
2465 (desktop_drag_motion): Unconditionally specify ACTION_MOVE if we
2466 are dragging a desktop icon.
2467 (desktop_icon_info_place): Remove the icon from its slot before
2468 calling the smart-positioning routines.
2470 1999-01-31 Federico Mena Quintero <federico@nuclecu.unam.mx>
2472 * gdesktop.c (reload_desktop_icons): Reload the icon image for a
2473 file that already exists in the desktop, because it may have
2476 * gdesktop-icon.c (desktop_icon_reshape): Center the text
2477 correctly if the user is using huge icons.
2479 Mon Feb 1 00:49:18 1999 Timur Bakeyev <mc@bat.ru>
2481 * gscreen.c (panel_configure_file_list): Add central justification,
2482 as we got it (useless, imho :)
2484 Sun Jan 31 19:42:47 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
2486 * Makefile.in (install_mx): make it work with srcdir != builddir
2487 (gmc.gnorba is located in $srcdir)
2489 1999-01-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
2491 * gdesktop.c (reload_desktop_icons): Move metadata_unlock after
2492 the positioning loop (as we use the metadata there too).
2493 (desktop_icon_info_new): Accept a new parameter: url.
2494 (drop_url): New function. Creates the files that represent urls
2496 (text_changed_url): New routine to handle url-renames
2498 Use the metadata "desktop-url" property to figure out if an icon
2501 1999-01-28 Jonathan Blandford <jrb@redhat.com>
2503 * gnome-file-property-dialog.c (create_settings_pane): We only let
2504 you set info if we are a regular file, or a link to a regular file.
2506 * gdesktop-icon.c (desktop_icon_reshape): Cut-n-paste error fixed
2509 1999-01-27 Jonathan Blandford <jrb@redhat.com>
2511 * gnome-file-property-dialog.h (struct _GnomeFilePropertyDialog):
2512 Now make open field mandatory and icon selection optional.
2513 * gnome-file-property-dialog.c: as above
2515 * gpopup.c (panel_action_properties): only allow setting images if
2516 we_can_afford_the_speed.
2518 * gicon.c: make we_can_afford_the_speed non-static
2520 1999-01-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
2522 * gcorba.c: Provide new code to activate an existing
2523 FileManagerFactory factory.
2525 installed gmc is now corba-gmc. plain-gmc is still available if
2528 Thu Jan 28 02:15:48 1999 Timur Bakeyev <mc@bat.ru>
2530 * gdialogs.c: fixed "regexp.h" -> "eregexp.h" conversion.
2532 * oldnd.c: Replaced copy_strings() with g_strconcat().
2534 1999-01-26 Federico Mena Quintero <federico@nuclecu.unam.mx>
2536 * gscreen.c (panel_clist_motion): Stop the emission of the
2537 motion_notify_event signal so that it does not reach the clist.
2538 We do not want it to select rows while dragging.
2539 Replaced copy_strings() with g_strconcat().
2541 * gdnd.c (gdnd_validate_action): Do not override GDK_ACTION_ASK.
2543 * gdesktop.c: Updated the TODO list at the top of the file.
2545 Wed Jan 27 03:14:46 1999 Timur Bakeyev <mc@bat.ru>
2547 * Converted memory managment to Glib - where it wasn't done. Now we
2548 use g_new()/g_malloc()/g_strdup()/g_free() routings. copy_strings() re-
2549 placed by g_strconcat(), and sprintf() by g_snprintf(). Some other,
2552 1999-01-26 Federico Mena Quintero <federico@nuclecu.unam.mx>
2554 * gscreen.c (panel_setup_drag_scroll): Renamed from
2555 panel_setup_drag_motion().
2556 (panel_clist_drag_motion): Use gdnd_validate_action().
2557 (panel_clist_motion): Return immediately if the event window is
2558 not the clist_window. Otherwise, forward the event to
2559 panel_widget_motion().
2561 * gdnd.c (gdnd_find_panel_by_drag_context): New public function to
2562 find a panel based on a drag context. This is basically the old
2563 find_panel_owning_window() made public.
2564 (gdnd_drop_on_directory): Test for the source widget being a tree,
2565 and if so, do not use the default behavior for panels.
2566 (gdnd_validate_action): New function to compute the final drag
2567 action given some conditions. This is now used to make dragging
2568 behavior consistent across the desktop and the file panels.
2570 1999-01-26 Jonathan Blandford <jrb@redhat.com>
2572 * gnome-file-property-dialog.c: Many Many Many changes. Now it's
2573 pretty cool. You can set all meta-data but the icon now. Need to
2574 make gmc do the right thing with it, though.
2576 1999-01-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
2578 * gtkdtree.c (gtk_dtree_select_row): This should be also protected
2579 against async notifications.
2581 1999-01-25 Federico Mena Quintero <federico@nuclecu.unam.mx>
2583 * gscreen.c (panel_create_icon_display): Only use
2584 GTK_DEST_DEFAULT_DROP since we want to do exotic stuff in the
2585 drag_motion handler to validate drops.
2586 (panel_icon_list_drag_motion): Use gdnd_validate_action().
2588 * gdnd.c (gdnd_drop_on_directory): Removed hack that prevented the
2589 user from dropping files on the same panel as the source one.
2590 This should not be done here.
2592 * gdnd.c (get_action): Sensitize the menu items based on the
2593 allowed actions in the drag context.
2594 (actions): Add some underlined accelerators for the action menu.
2596 * gdesktop.c (icon_drag_motion): Use S_ISDIR() in addition to
2599 * gscreen.c (panel_file_list_scrolled): Removed this function, as
2600 it was not used for anything useful.
2602 * gdnd.c (gdnd_drop_on_directory): Duh. Use context->action, not
2603 context->suggested_action.
2605 1999-01-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
2607 * gtkdtree.c (gtk_dtree_load_path): Keep track of when we are
2608 loading the tree (and thus we do not care about async
2609 notifications to the tree state changes) and when we are done (and
2610 thus, we care about the async treestore structure notifications).
2612 1999-01-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
2614 * gcmd.c (ep_add_callback): Set Window's position to
2616 (gnome_external_panelize): ditto.
2617 (gnome_filter_cmd): ditto.
2619 * gdialogs.c (file_progress_query_replace_policy): Set Window's
2620 position to GTK_WIN_POS_MOUSE.
2621 (file_progress_real_query_replace): ditto.
2622 (file_mask_dialog): ditto.
2624 * gdialogs.c: Tag the strings for localization. Remove debugging
2627 * gmain.c (gmc_window_setup_from_panel): Helper routine used to
2628 set the GTK_WIN_POS_MOUSE on a window and set the parent with
2629 gnome_dialog_set_parent (iff you have the WPanel * pointer to the
2632 * gtools.c (query_dialog): Set the window position to GTK_WIN_POS_MOUSE.
2634 * gtkdtree.c (gtk_dtree_destroy): Kill the add_entry notification hook.
2635 (gtk_dtree_init): Install a notification function for treentry.
2637 (entry_added_callback, entry_removed_callback): Implemented. Now
2638 the tree is in sync with the panels and reload will update the
2641 1999-01-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
2643 * gdesktop-icon.c (set_text): Update the call to
2644 gnome_icon_text_item_configure() for the new API.
2646 1999-01-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
2648 * gdesktop.c (desktop_drag_data_received): Do not force links on
2651 * gscreen.c (panel_create_file_list): Do not use
2652 GTK_DEST_DEFAULT_ALL for the drop site. Only use
2653 GTK_DEST_DEFAULT_DROP, since we need to check motion ourselves.
2654 (panel_clist_drag_motion): Do not allow dropping on the clist buttons.
2655 (panel_clist_button_press): Do not assign the
2656 panel->maybe_drag_start flag if the user clicked outside the clist_window.
2658 * gdesktop.h: Removed old crud (desktop_icon_t, icon_t).
2660 * gscreen.c (drag_types, drop_types): Use the constants from gdnd.h.
2662 1999-01-21 Jonathan Blandford <jrb@redhat.com>
2664 * gnome-file-property-dialog.c (apply_uid_group_change): uh, lets
2665 do this in Octal. (:
2667 * glayout.c: comment out compare panels.
2669 * gnome-file-property-dialog.h: new file. This is a new widget
2670 for the file-properties dialog. It doesn't handle mode changes
2671 quite right yet, but does everything else beautifully...
2673 * gnome-file-property-dialog.c: new file
2675 * gpopup.c (panel_action_properties): use new dialog
2676 (dicon_properties): as above.
2678 1999-01-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
2680 * gscreen.c (panel_create_file_list): Added GDK_ACTION_ASK to the
2681 destination actions.
2682 (panel_create_icon_display): Likewise.
2683 (panel_create_tree_view): Likewise.
2685 * gdesktop.c (desktop_drag_motion): If the user explicitly
2686 requested action ASK, then do not make feedback show MOVE.
2688 * gscreen.c (panel_widget_motion): Pass in all drag actions now
2689 that Gtk handles button 2 by itself.
2691 * gdesktop.c (icon_event): Also delay the call to select_icon()
2692 until button release if the icon is selected and there are no
2693 modifier keys pressed. This lets us perform drags on
2694 multi-selections easily.
2696 1999-01-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
2698 * gdesktop.c (setup_icon_dnd_dest): Always specify ACTION_MOVE,
2699 since we want to be able to move the icons around. Connect to the
2701 (dnd_icon_targets): List desktop icons as a target to be able to
2702 move them just a notch in the desktop.
2703 (icon_drag_motion): Decide which action we can use for dropping
2704 stuff on a desktop icon.
2705 (setup_icon_dnd_dest): Always specify all the actions.
2706 (icon_drag_data_received): Allow for icons to be moved just a
2707 notch by accepting drops from icons.
2709 * gdnd.h: Added #defines for the DnD target type names.
2711 * gdnd.c (gdnd_init): New public function to intern the target
2713 (gdnd_drag_context_has_target): New public function to see if a
2714 drag context has a certain target type.
2716 * gdesktop.c (setup_desktop_dnd): Do not use
2717 GTK_DEST_DEFAULT_MOVE, and connect to drag_motion.
2718 (desktop_drag_motion): If we are dragging from a desktop icon,
2719 indicate the action as MOVE. Otherwise, force the action to be
2720 LINK unless the user explicitly requested ASK.
2721 (setup_desktop_dnd): Intern the atoms for the drop targets.
2723 1999-01-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
2725 * gscreen.c: Selection code now is simpler and should be easier to
2726 use in the listing modes.
2728 1999-01-20 Federico Mena Quintero <federico@nuclecu.unam.mx>
2730 * gicon.h (gicon_image_to_name): Added prototype for
2731 gicon_image_to_name().
2733 * gicon.c (gicon_get_icon_for_file):
2734 (gicon_get_icon_for_file_speed): Added a "directory" argument.
2735 It is needed because the file_entry structure only contains the
2736 pruned filename, and we need the complete name for the metadata
2739 * gdesktop.c (desktop_icon_info_new): Pass the directory to
2740 gicon_get_icon_for_file_speed().
2742 * gpageprop.c (item_properties): Build the directory name and pass
2743 it to gicon_get_icon_for_file_speed().
2745 * gscreen.c: Do not #include "directory.xpm". Do #include "setup.h".
2746 Removed unused function button_switch_to().
2748 * gscreen.c (panel_fill_panel_icons): Pass the directory to
2749 gicon_get_icon_for_file().
2751 * gscreen.c (panel_create_tree_view): Allow button 2 to start the
2753 (panel_clist_scrolling_is_desirable): Make both scrolling
2754 thresholds consistent. Also, do not allow scrolling past the
2756 (panel_icon_list_scrolling_is_desirable): Likewise.
2757 (panel_tree_scrolling_is_desirable): Likewise.
2758 (panel_clist_scroll): Do not allow scrolling past the correct limits.
2759 (panel_icon_list_scroll): Likewise.
2760 (panel_tree_scroll): Likewise.
2762 1999-01-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
2764 * gscreen.c (panel_create_icon_display): Do not set the style of
2767 1999-01-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
2769 * gprefs.c (apply_callback): Update the directory contents after
2770 the settings have changed.
2772 1999-01-19 Jonathan Blandford <jrb@redhat.com>
2774 * gdialogs.c (file_op_context_create_ui): OP_DELETE now has it's
2775 very own dialog. whee.
2777 * gscreen.c (panel_create_pixmaps): now we use dir-open.xpm
2778 instead of the (apparently) ugly yellow one.
2780 1999-01-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
2782 * gtkdtree.c (gtk_dtree_select_row): Wonder why the code was
2783 returning for the clicks on the root node.
2785 1999-01-19 Jonathan Blandford <jrb@redhat.com>
2787 * gprefs.c: applied a heavily modified patch by Dave Camp
2788 <campd@oit.edu> The preference box now works.
2790 1999-01-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
2792 * gtkdtree.c (gtk_dtree_construct): And the GTK+ people broke the
2795 1999-01-18 Jonathan Blandford <jrb@redhat.com>
2797 * gscreen.c (x_create_panel): chnaged padding on the Filter label
2798 (do_ui_signal_connect): new view switching code. Toolbar now works
2799 (go_home): new function -- takes one home
2801 * gtkdtree.c (gtk_dtree_construct): change ctree_set_reorderable.
2803 1999-01-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
2805 * gdesktop.c (icon_event): Rewrote event handling for icons on the
2806 desktop. This function handles button presses and releases and
2807 does some anal-retentive checking to avoid stuck pointer grabs.
2808 (icon_event_after): New fallback function for button presses.
2809 This is only called when an icon is being edited and the user
2810 clicks outside the icon's text item, indicating that editing
2811 should be accepted and terminated.
2812 (selection_stopped): New callback used to re-install the mouse
2813 grab once the icon text item stops selecting text.
2815 * gdesktop.h (DesktopIconInfo): Removed the finishing_selection
2816 flag now that the event handling code is cleaned up.
2818 1999-01-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
2820 * gpageprop.c (item_properties): Use the metadata information for this.
2821 (item_properties): Set the icon-filename metadata bit
2823 1999-01-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
2825 * glayout.c (create_new_menu_from): Handle both the system dir and
2826 the locally installed directory.
2828 1999-01-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
2830 * gtkdtree.c (gtk_dtree_do_select_dir): Select the node, and test
2831 against full visibility of a node.
2833 * gscreen.c (panel_fill_panel_icons): While loading the icon list,
2834 mark those items that are selected as, well, ahem, selected.
2835 (x_fill_panel): Use the system getwd routine to find out the real
2836 location in the file system
2838 1999-01-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
2840 * gpageprop.c (item_properties): Use file contexts appropriately.
2842 * gdnd.c (perform_action): Use file contexts appropriately.
2844 1999-01-13 Jonathan Blandford <jrb@redhat.com>
2846 * glayout.c (create_container): finished the New->menu. Looks
2848 (create_container): Moved the statusbar creaton. Now you can get
2851 * gcmd.c (gnome_run_new): new function.
2853 * glayout.c (create_container): beginnings of the New-> menu. It
2854 doesn't have much yet, hopefully we'll have a good way to let apps
2855 register themselves with it.
2857 1999-01-13 bertrand <Bertrand.Guiheneuf@inria.fr>
2862 s/gtk_toggle_button_state/gtk_toggle_button_active
2864 1999-01-12 Federico Mena Quintero <federico@nuclecu.unam.mx>
2866 * gdesktop.c (desktop_icon_info_delete): Pass the file operation
2867 context to erase_dir() and erase_file().
2869 * gcmd.c (gnome_sort_cmd): Cast the sort functions to avoid
2872 * gdialogs.c: Converted to use FileOpContext.
2874 * gmain.h: Added some prototypes needed in the Gnome version.
2876 1999-01-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
2878 * gdesktop.c (desktop_drag_data_received): Drops on the desktop by
2879 default will always be Link commands. If the user wants to
2880 copy/move he needs to use the button-2 to do this.
2881 (desktop_icon_info_delete): Treat links as files, not directories.
2883 I have got enough complaints about this.
2884 1999-01-12 Jonathan Blandford <jrb@redhat.com>
2886 * gcmd.c (gnome_open_files): now you can open multiple files.
2887 * glayout.c: layout changed some. moved run command.
2888 commented out ftplink/mkdir command for now. gonna do mkdir
2889 next. Why is the ftplink command needed?
2891 1999-01-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
2893 * glayout.c (run_cmd): Add run command. Add back FTP link
2894 command. Add Mkdir command. Use standard key definitions.
2896 * gview.c: Use new standard keybindings
2898 * gtkdtree.c: Now it uses the treestore code.
2900 * treestore.c: New file format which includes the scan status of
2903 * treestore.c: Provide _opendir, _readdir, _closedir operations
2906 Next step: load/save the tree_entry->scanned flag (without this,
2907 you wont notice a big speedup).
2909 1999-01-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
2911 * gutil.c (my_system_get_child_pid): Acknowledge new EXECUTE_WAIT
2912 flag. This is required by the vfs code.
2914 1999-01-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
2916 * gscreen.c (panel_create_file_list, panel_create_icon_display):
2917 I got excited adding the gtk_drag_source_set. I generate those
2918 events myself, no need to put them here.
2920 1999-01-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
2922 * gwidget.c (stock_from_text): Return this value.
2924 1999-01-08 Jonathan Blandford <jrb@redhat.com>
2926 * glayout.c: now open the new (non-functional) dialog box. If you
2927 want functionality, I suppose you could put the old one back in.
2928 I'll work on it more this weekend, though, so hopefully it can get
2929 back to the old state relatively quickly.
2930 * gprefs.c (gnome_configure_box): New function, new file, first
2931 start at unified properties box.
2933 1999-01-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
2935 * gscreen.c (panel_icon_list_select_icon): Remove debugging message.
2937 * glayout.c: Add a create directory option.
2939 1999-01-07 Jonathan Blandford <jrb@redhat.com>
2941 * gcmd.c (gnome_filter_cmd): now it works! It's even sorta
2942 useful. I'm so psyched... (:
2945 1999-01-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
2947 * gscreen.c (panel_icon_list_drag_data_received): Do not update
2948 contents if nothing was done (ie, the drop was cancelled).
2949 (panel_create_file_list): Duh. Restore this, as, ahem, we dont
2950 have banding selection on CList.
2951 (panel_icon_list_select_icon): Open the new panel only on button
2953 (panel_file_list_select_row): New panel started on clist when you
2954 press middle button.
2956 (panel_create_file_list): Ahaha! I found that CList now has a
2957 gtk_clist_set_buttion_actions. Go figure why we need this and why
2958 it was implemented, but now buttons work as they should on clist.
2960 * gdnd.c (gdnd_drop_on_directory): Do nothing if the files dragged
2961 are on the same directory we are.
2963 1999-01-07 Jonathan Blandford <jrb@redhat.com>
2965 * gcmd.c (gnome_filter_cmd): Function filled in now. Actually
2966 works (amazing!.) Next: put a history on it, and maybe an event
2969 * glayout.c: use the function below.
2971 * gcmd.c (gnome_filter_cmd): New function (or a sorry excuse for
2974 * gscreen.c (x_create_panel): now uses gnome-appbar instead of the
2975 old, psuedo status bar.
2977 1999-01-06 Jonathan Blandford <jrb@redhat.com>
2979 * gcmd.c (gnome_external_panelize): Now it works. Just need to save
2980 results so the next time works. Will do this tomorrow.
2981 (gnome_external_panelize): think I finished this now.
2983 1999-01-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
2985 * gdesktop-icon.c (desktop_icon_realize): Make icons sticky as
2988 * gpageprop.c (item_properties): Use a file operation context.
2989 * gdnd.c (perform_action): Likewise.
2990 * gdesktop.c (desktop_icon_info_delete): Likewise.
2992 * Makefile.in: Added fileopctx.o.
2994 1999-01-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
2996 * gdesktop.c (desktop_icon_drop_uri_list): Implement
2997 drops-on-executable.
2999 * gmetadata.c, gaction.c, gdesktop.c, gicon.c: Use g_free instead
3000 of free to follow the convention in gnome-metadata.c
3002 * gtools.c (query_dialog): Fix the new version of this. It was
3003 overwriting memory all over.
3005 * gdialogs.c (): Use GNOME stock; Fill in some FIXME strings.
3006 (file_progress_real_query_replace): Use the formatted
3009 Change the inlined N_( for _( in various places.
3010 (cancel_cb): Cancel button now cancels a copy or move operation.
3012 * gtools.c (query_dialog): Remove the hotkey indicator in the
3013 gnome version specific query_dialog box.
3015 1999-01-05 Jonathan Blandford <jrb@redhat.com>
3017 * gcmd.c (gnome_external_panelize): mostly hooked up now.
3018 will finish tomorrow (shouldn't take very long...)
3020 1999-01-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
3022 * Makefile.in (GNOMESRCS): Removed temp-hack.c from the list of
3024 (GNOMEHDRS): Ditto for gdialogs.h.
3026 * gscreen.c (x_create_panel): Removed periods from the toolbar
3029 1999-01-04 Jonathan Blandford <jrb@redhat.com>
3031 * glayout.c: menu changes.
3033 * gcmd.c (gnome_external_panelize): new function. Does absolutely
3034 nothing yet but look pretty (and it doesn't do that all that well,
3035 yet...) I'll hook it up to it's actual functions, tomorrow.
3037 1999-01-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
3039 * gscreen.c (x_reset_sort_labels): Various fixes to fix some of my
3040 recent changes. I bet Jonathan found that things were not quite
3041 working. Sorry for the previous untested changes.
3043 This also fixes the bugs reported on gnome-list regarding the
3044 CList problems. This is the correct fix (basically, we were using
3045 a CList that was configured in one way, even if the display format
3046 had changed. Now, the CList is kept in sync with the format by
3047 calling a routine that somehow got dropped during some recent
3050 * gtools.c (query_dialog): Simplified.
3052 1999-01-02 Jonathan Blandford <jrb@redhat.com>
3054 * gcmd.c (gnome_sort_cmd): pretified
3055 (gnome_select_all_cmd): New command -- selects all files (in
3058 * glayout.c: rearrange the edit menu some.
3060 * gscreen.c (x_create_panel): new icon view icons -- brief and
3063 1999-01-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
3065 * gdesktop.c (select_range): Fixed selection of ranges where the
3066 starting and ending icons are in the same vertical or horizontal
3068 (reload_desktop_icons): Fixed incorrect usage of
3069 g_list_remove_link(). Also, moved the functionality from the old
3070 load_desktop_icons() here. Now all icons are always loaded
3071 efficiently, and there is no need for the "incremental" flag.
3072 (desktop_icon_info_delete): Delete the icon position information.
3074 * gmetadata.c (gmeta_del_icon_pos): New public function to delete
3075 the icon position information from a file.
3077 1999-01-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
3079 * gwidget.c (x_create_listbox): Temporary hack
3081 * gmetadata.c (gmeta_get_icon_pos): Fixed the memory leak here.
3083 * gicon.c (gicon_get_icon_for_file): Actually return a value
3086 1999-01-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
3088 * gscreen.c (panel_fill_panel_list): Assertion that will pin point
3089 if a CList gets out of sync with the panel->format.
3091 1999-01-01 Momchil 'Velco' Velikov <velco@fadata.bg>
3093 * gscreen.c (panel_fill_panel_list): NULL terminate the column
3094 array. This is strange, as it should not need the ending NULL.
3096 1999-01-01 Jonathan Blandford <jrb@redhat.com>
3098 * gcmd.c ((GtkWidget *widget, WPanel *panel): Now hooked up
3099 correctly. Still needs to set the option menu correctly. Oh
3102 1998-12-31 Federico Mena Quintero <federico@nuclecu.unam.mx>
3104 * gpopup.c (dicon_properties): Made static, and renamed from
3105 desktop_icon_properties().
3106 (dicon_execute): Likewise.
3107 (dicon_actions): Renamed from desktop_icon_actions.
3109 * gdesktop.c (desktop_icon_info_destroy): Renamed from
3110 desktop_icon_destroy(), for consistency with the rest of the
3111 functions that handle DesktopIconInfo structures.
3112 (desktop_icon_info_open): Likewise.
3113 (desktop_icon_info_delete): Likewise.
3115 1998-12-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
3117 * gscreen.c (panel_create_icon_display): Provide auto-scroll
3118 handlers for the drag stuff.
3120 1998-12-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
3122 * gmain.c (create_panels): Register corba server here.
3124 * gcorba.c: Fix a servant declaration to point to the correct
3127 1998-12-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
3129 * gdesktop.c (find_icon_by_drag_context): Made static.
3131 * gdesktop.h (DesktopIconInfo): Now that this type is public,
3132 renamed it from struct desktop_icon_info, for consistency.
3134 1998-12-30 Jeff Garzik <jgarzik@pobox.com>
3136 * gprop.c, gpopup.c: s/g_copy_strings/g_strconcat/
3138 1998-12-30 Jonathan Blandford <jrb@redhat.com>
3140 * gaction.c (gmc_execute): now takes an filename instead of a file
3141 entry for an argument
3142 (gmc_open_filename): handles the new gmc_execute code.
3144 * gdesktop.c (desktop_icon_drop_uri_list): commented out
3145 action_drop. Needs defining.
3147 1998-12-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
3149 * gdesktop.c (desktop_icon_delete): New function, used for
3151 (load_desktop_icons): Implemented the incremental reloading of
3152 desktop icons. This should make the code much nicer.
3153 (reload_desktop_icons): Call x_flush_events to force a display at
3156 * gpopup.c (dicon_delete): Implement this operation.
3157 (desktop_icon_execute): Use the existing implementation for
3158 launching desktop icons instead of a new hacked up version
3160 (desktop_icon_actions): Until copy/move is implemented, do not
3161 even list them to the user.
3163 * gdesktop.c (create_desktop_dir): No trashcan setup until it
3166 * gscren.c (panel_widget_motion): Use button 2 for dragging and
3170 * gscreen.c (panel_create_file_list): Use a notebook instead of
3171 the hack I was using before for switching the panel contents.
3173 * gtkdtree.c (gtk_dtree_new): We now rely on the whole code to be
3174 running in the proper visual. The more I look at this, the more
3175 desires I have to do a proper imlib.
3177 * gdesktop-icon.c (desktop_icon_init): ditto.
3179 Tue Dec 29 16:55:24 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
3181 * gmain.c: According to the man page the color keyword for executable
3182 files is `executable' and not `execute' -- changed.
3184 1998-12-28 Jonathan Blandford <jrb@redhat.com>
3186 * glayout.c: Initial rehash of the menu code.
3188 1998-12-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
3190 * gprop.c (perm_mode_new), gcliplabel.c: Uset gtk_label_set_text.
3192 Thu Dec 24 18:38:45 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
3194 * layout: Adapted for the new option Compute Totals in the
3195 Configuration dialog.
3197 1998-12-22 Jonathan Blandford <jrb@redhat.com>
3199 * gdialogs.c (file_progress_real_query_replace): Cleaned up some. Still has a
3200 bit of work to do, but in general, much better.
3202 Mon Dec 21 22:33:07 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
3204 * layout: Deleted obsolete widgets from the Virtual FS configuration
3207 1998-12-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
3209 * gscreen.c (panel_icon_list_select_icon): Show the popup menu on
3210 button release here. This is what makes most sense.
3211 (panel_widget_motion): Drags with button 3 now produce a popup
3212 dialog box that asks
3214 1998-12-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
3216 * gdialogs.c (create_op_win): Remove second spurious packing.
3217 (create_op_win): OP_MOVE uses the same stuff OP_COPY does. Fix
3219 (file_progress_show_target): More compliant to the original
3221 (file_progress_show_source): More compliant to the original
3224 * gdesktop.c (create_desktop_dir): Fix mem leak.
3226 Tue Dec 15 10:51:12 1998 Gregory McLean <gregm@comstar.net>
3228 * gdesktop-icon.c : Attach a desktop_icon wmclass to the desktop
3229 icons to allow even more wizardry with the desktop icons, mainly
3230 to exclude them from window lists, don't decorate them, skip
3231 desktops and other boring stuff.
3233 1998-12-14 Sven Neumann <sven@gimp.org>
3235 * lightened up the dir-pixmaps a little to please your eyes and
3238 1998-12-14 Owen Taylor <otaylor@redhat.com>
3240 * gnome.TODO: Added a number of tree and icon
3243 1998-12-14 Owen Taylor <otaylor@redhat.com>
3245 * gscreen.c (x_create_panel): Keep up with changes
3248 1998-12-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
3250 * gwidget.c (x_update_input): Use gtk_entry_get_text here.
3252 1998-12-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
3254 * gscreen.c (panel_create_icon_display): Set white background.
3256 1998-12-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
3258 * gdnd.c (perform_action): Fixed a pair of incorrect braces.
3259 Files were not being operated on because of this.
3261 1998-12-12 Owen Taylor <otaylor@gtk.org>
3263 * gscreen.c (panel_tree_drag_motion): Doubled timeout
3264 for autoexpand - reducing opening unwanted directories.
3266 * gscreen.c (tree_drag_open_directory): Use
3267 gtk_ctree_expand() not gtk_ctree_expand_recursive,
3268 which increases confusion and could be
3269 _vvveeerrrryyyy_ expensive. (/afs ?)
3271 * gscreen.c (panel_tree_drag_leave): Fixed up
3272 signature - "drag_leave" has no x,y.
3274 * gscreen.[ch] (panel_tree_check_auto_expand): When
3275 we've expanded rows during a drag, collapse them
3276 again when the drag leaves that row.
3278 1998-12-12 Owen Taylor <otaylor@gtk.org>
3280 * gtkdtree.c (gtk_dtree_destroy): Remove timer upon
3281 destruction to be safe. (Should this, and
3282 dtree->timer_id itself be in gscreen.c instead?)
3284 * gscreen.c (panel_tree_drag_leave): Change == to !=
3285 so that timeouts are properly removed.
3287 1998-12-11 Matt Wilson <msw@redhat.com>
3289 * gscreen.c: The solid lines in the tree are kinda harsh. Replace
3290 them with soothing dotted lines.
3292 1998-12-11 Matt Wilson <msw@redhat.com>
3294 * dir-open.xpm, dir-close.xpm: Away with the tacky yellow folders -
3295 I like these brown ones from tigert better.
3297 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
3299 * gpopup.c (create_actions): The tests for F_PANEL and F_DICON
3300 were wrong. Fixed them. This does not mean that the popup menus
3303 1998-12-11 Owen Taylor <otaylor@redhat.com>
3305 * gscreen.c gdesktop.c gdnd.h: enable dragging locale files
3308 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
3310 * gicon.c (gicon_get_icon_for_file): First try to fetch the inline
3311 icon data (i.e. thumbnails), second try the generic icon filename.
3313 1998-12-11 Owen Taylor <otaylor@redhat.com>
3315 * gdesktop.c (window_button_press): Ehen cancelling editing
3316 account for clicks on other GMC windows.
3318 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
3320 * gdesktop.c (click_proxy_filter): Doh. We may get DestroyNotify
3321 for other windows than the proxy, so deal with it.
3323 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
3325 * gdesktop.c (click_proxy_button_press): Use a nice arrow cursor
3327 (click_proxy_filter): Keep a firm jaw when the window manager dies
3328 and thus the proxy window is destroyed.
3329 (setup_desktop_click_proxy_window): Moved the proxy window
3330 creation code to this function.
3331 (click_proxy_property_notify): Handle PropertyNotify events from
3332 the root window for when the proxy window changes. Now the window
3333 manager can restart itself as it pleases and GMC will handle it
3336 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
3338 Wheeeee! Desktop icons can be selected by rubberbanding. You
3339 need Englightenment to do this, as so far it seems to be the only
3340 WM with support for the _WIN_DESKTOP_BUTTON_PROXY property.
3342 * gdesktop.c (click_proxy_filter): New event filter for button
3343 presses and releases on the root window.
3344 (click_proxy_button_press): New function to handle button presses
3346 (click_proxy_button_release): New function to handle button
3347 releases on the desktop.
3348 (click_proxy_motion): New function to handle rubberbanding motion
3350 (setup_xdnd_proxy): Flush the server after ungrabbing it.
3351 (find_click_proxy_window): Flush the server after ungrabbing it.
3352 (store_temp_selection): Stores the temporary selection to the
3353 master selection, or viceversa. This is needed for dynamic
3354 updating while the user rubberbands.
3355 (update_drag_selection): New function to update the selection
3356 while the user is rubberbanding on the desktop.
3357 (icon_is_in_area): New function to see if an icon is inside the
3360 * gdesktop-icon.h: Added fields for querying the icon and text
3363 * gdesktop-icon.c (desktop_icon_reshape): Set the position and
3364 size fields as computed for layout.
3366 1998-12-11 Owen Taylor <otaylor@redhat.com>
3368 * gdesktop.c (editing_started): Grab on the window for the
3369 icon, not on the canvas, so we can properly detect
3372 (icon_button_release_after): When the user stops selecting,
3375 1998-12-11 Jonathan Blandford <jrb@redhat.com>
3377 * gtkdtree.c (gtk_dtree_do_select_dir): fixed a little bug --
3380 * gscreen.c (x_create_panel): More changes. The toolbar is moved
3381 to a gtk_toolbar, and is movable. The entry will be put in it's
3383 (panel_create_cwd): For now, hardcode the usize of the entry
3384 widget. Later on, have it expand (when toolbar supports it)
3386 1998-12-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
3388 * gcmd.c: #include "../vfs/vfs.h"
3390 * gdesktop.c (setup_icon_dnd_actions): Moved the code that calls
3391 gtk_drag_source_set() for an icon here.
3392 (editing_started): Temporarily disable drags while the icon's text
3394 (editing_stopped): Re-enable DnD from the icon once editing has
3397 1998-12-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
3399 * gcmd.c (gnome_close_panel): When a panel is destroyed, chdir to
3400 root directory, as the process will be holding the inode for the
3401 directory that was selected until an operation is performed in
3404 * gicon.c (gicon_get_icon_for_file): Invert the way the testing
3405 for icons is done to handle directories properly.
3407 1998-12-10 Jonathan Blandford <jrb@redhat.com>
3409 * gscreen.c (x_create_panel): made some small stylistic changes.
3410 Also, removed the hint bar and consolidated the status bar.
3412 Thu Dec 10 21:38:55 1998 Owen Taylor <otaylor@redhat.com>
3414 * gkey.c (delete_select_channel): Fixed list handling
3415 with g_list_remove().
3417 1998-12-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
3419 * gdesktop.c (dnd_select_icon_pending): Added this flag that
3420 specifies whether a selection is pending for an icon if the user
3421 was holding the Control key down while clicking. We have to delay
3422 selection in this case so that DnD will work correctly, just like
3424 (icon_button_press): New function that handles button presses on
3425 icons; it obsoletes the old desktop_icon_info_event().
3426 (icon_button_release): New function that handles button releases
3427 on desktop icons; it will do what is appropriate if there was a
3428 pending icon selection.
3429 (drag_begin): Handle pending selections as appropriate.
3430 (unselect_all): Added an paremeter that specifies which icon to
3431 exclude from unselection.
3432 (editing_started): Unselect all icons but the one for which
3433 editing has started.
3434 (dnd_icon_sources): Changed the MIME-types for internal drops to
3435 "application/x-mc-desktop-icon".
3436 (click_proxy_window): New variable that stores the proxy window
3437 for clicks on the desktop.
3438 (setup_desktop_clicks): New function that sets up clicks on the
3440 (find_click_proxy_window): New function to find and set up the
3441 window for proxying clicks from the root window.
3443 * image.metadata.in: Added case for `jpg', as there was only a
3446 1998-12-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
3448 * gicon.c (gnome_file_entry_color): If we do not have permissions
3449 for this directory, indicate this with a special icon.
3451 * gscreen.c (panel_icon_list_select_icon): Middle button opens a
3452 new panel on a directory.
3454 1998-12-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
3456 * gdesktop.c: Moved the old DnD cruft to olddnd.c to keep it there
3457 for reference purposes.
3459 * gmetadata.c: Removed the gmeta_get_icon_for_file() function, as
3460 it is obsoleted by gicon_get_icon_for_file().
3462 * gdesktop.c (desktop_icon_info_new): Made it use
3463 gicon_get_icon_for_file().
3465 * gdesktop-icon.c (set_icon): Now we handle things internally
3466 using an imlib image, not a filename.
3467 (desktop_icon_new): Now takes an imlib image for the icon instead
3469 (desktop_icon_set_icon): Likewise.
3471 1998-12-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
3473 * gtkdtree.c (gtk_dtree_new): Use imlib's visual and colormap.
3475 * gscreen.c (panel_create_tree_view): Use the colormap and visual
3476 from imlib when creating the DTree,
3478 1998-12-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
3480 * gdesktop.c (icon_drag_data_received): Doh. Use the correct
3481 pathname when calling gdnd_drop_on_directory().
3483 1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
3485 * gdesktop.c (desktop_icon_info_new): Do not stat the file, as we
3486 do not need that information anymore.
3487 (setup_icon_dnd_source): Moved the DnD-as-source code to here.
3488 (setup_icon_dnd_dest): New function to set up an icon as a DnD
3491 * gdesktop.c (desktop_icon_info_place): Doh, do not place icons
3492 past the edge of the *whole* screen :-)
3493 (dnd_press_x dnd_press_y): New variables to store the cursor
3494 hotspot for DnD icons. Moved these over from the
3495 desktop_icon_info structure, as it does not make sense to have
3496 this inside every icon.
3497 (button_press): Use dnd_press_x and dnd_press_y.
3498 (drag_begin): Likewise.
3499 (drop_desktop_icons): Use dnd_press_x and dnd_press_y to fix the offsets.
3500 (drag_data_received): Fix the proxy window offsets for all types
3502 (drop_desktop_icons): Snap the coordinates as appropriate.
3504 1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
3506 * gdesktop.c (drop_desktop_icons): New function to perform a drop
3507 from desktop icons to the desktop. It effectively moves the icons
3509 (desktop_icon_info_place): Do not place the icons past the edge of
3512 1998-12-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
3514 * gdesktop.c (file_entry_from_file): Finished implementing
3515 file_entry_from_file().
3516 (struct desktop_icon_info): Removed the `type' field. We now stat
3517 the file when needed to figure out the file type.
3518 (desktop_icon_info_event): Test whether the file is a directory by
3519 ourselves, and if it is, open a new panel for it.
3520 (drag_data_get): Generate the uri-list for internal desktop icon
3523 * gdesktop.c (drag_data_received): We do not need to call
3524 gtk_drag_finish(), since we are using the GTK_DEST_DEFAULT_DROP
3525 flag for drops on the desktop.
3526 (desktop_icon_info_event): Reload the desktop icons after
3527 executing a command from the popup menu. This kind of sucks, but
3529 (desktop_icon_info_event): Upon receiving a button-1 press, if the
3530 icon was already selected in the first place, delay the
3531 re-selection phase until we get a mouse release event. This lets
3532 us start a multiple-selection drag without having the initial
3533 click clear the selection first.
3534 (desktop_icon_info_event): Open the file or directory when the
3535 desktop icon receives a double click.
3537 * gmain.c (beep): Made it void, since it does not (need to) return
3539 (xtoolkit_end): Likewise.
3541 1998-12-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
3543 * gscreen.c (panel_build_selected_file_list): Provide space for
3544 the terminating NULL.
3546 * gmain.c (beep): Return a value.
3548 * gdnd.c (get_action): Typo fix.
3550 1998-12-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
3552 * gscreen.c (load_imlib_icons): Make it use the new gicon files.
3554 * gicon.c, gicon.h: New files: they keep an image cache and
3555 provide the right icon to use based on the filename. They use the
3556 GNOME metadata to fecth the "icon-filename" and "icon-inline-png"
3557 keys for per-image icons.
3559 * gdialogs.c (file_mask_dialog): Commented the help messages until
3560 the warnings are figured out.
3562 1998-12-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
3564 * gdesktop.c (desktop_icon_info_new): Connect the signals for DnD
3565 so that we can drag icons from the desktop.
3566 (drag_begin): New function to set the drag cursor for icons on the desktop.
3567 (button_press): New function that stores the hot spot position for
3569 (drag_data_get): New function to fetch the URI-list of selected icons.
3571 * gdialogs.c: Fixed some includes.
3573 * gdesktop.h: Removed the DnD target enum from here, since it is
3574 specific to each submodule.
3576 * gdnd.h: Moved the DnD target enums to here. Added a new
3577 TARGET_MC_DESKTOP_ICON.
3579 * gdesktop.c (get_icon_snap_pos): Fixed icon snapping; the
3580 coordinates not being updated correctly.
3582 * gscreen.c (panel_drag_data_get): Free the uri list; it was being leaked.
3584 1998-12-04 Jonathan Blandford <jrb@redhat.com>
3586 * gdialogs.c (file_progress_show_count): finished the copy dialog.
3588 1998-12-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
3590 * gblist.c (blist_select_row): Warning fixes.
3592 * olddnd.c: Moved the old DND code here for reference purposes.
3594 * gscreen.c: Made the tree a drag source.
3596 1998-12-04 Jonathan Blandford <jrb@redhat.com>
3598 * gdialogs.c (trim_file_name): better update dialog
3600 1998-12-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
3602 * gdesktop.c (load_desktop_icons): Added arguments that specify
3603 where to place the newly-created icons. This needs some tweaking still.
3604 (reload_desktop_icons): Now takes arguments for the position of
3606 (drag_data_received): Pass in the drop position to reload_desktop_icons().
3608 * gscreen.c (panel_tree_drag_motion): Added missing variable declaration.
3610 * gdesktop.c (load_desktop_icons): Added an incremental flag that
3611 specifies whether icon creation is unconditional regardless of
3612 whether there is an icon for a file or not.
3613 (reload_desktop_icons): Use the incremental flag in load_desktop_icons().
3614 (drag_data_received): Reload the desktop incrementally, to avoid flicker.
3615 (desktop_icon_info_new): Use mc_lstat(), not mc_stat(). We do
3616 want to read symlinks, even dangling ones, if they exist.
3617 (load_desktop_icons): While we are reading the desktop directory,
3618 first place all the icons that have their metadata icon-position
3619 set, and build a list of the ones that don't. *Then* place
3620 those. This fixes overlapping icons on weird situations.
3622 * directory.xpm: Removed bogus garbage. There was a stale pixmap here.
3624 * gdesktop.c (setup_desktop_dnd): Allow for GDK_ACTION_ASK as well.
3626 * gscreen.c (panel_widget_motion): The action argument to
3627 gtk_drag_begin() is a mask of possible actions, not a single action.
3629 * gdesktop.c (drag_data_received): Only reload the icons if the
3630 drop was successful.
3632 1998-12-03 Jonathan Blandford <jrb@redhat.com>
3634 * gdialogs.c (create_op_win): starting the op_win dialog stuff
3636 1998-12-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
3638 * gscreen.c (panel_create_icon_display, panel_create_file_list):
3639 Hook up to drag_begin and drag_end events.
3641 * gscreen.c (panel_tree_drag_motion): Improve interactivity
3642 (x_create_panel): Add a little decorating frame.
3644 (panel_create_icon_display, panel_create_file_list):
3645 Hook up to drag_begin and drag_end events.
3647 (panel_tree_drag_motion): Either queue a scroll on the tree, or
3648 queue an open-directory event.
3650 (panel_tree_scroll): Scroll the tree when the drag pointer is in
3651 one of the boundaries of the tree.
3653 (panel_tree_scrolling_is_desirable): new function to figure out if
3654 it is a good plan to scroll the tree view instead of opening it.
3656 (panel_chdir): Do not sync with the tree when we are in the middle
3657 of a drag and drop operation.
3659 (panel_drag_begin, panel_drag_end): New functions to keep track
3660 of the dragging operations.
3662 1998-12-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
3664 * gscreen.c (panel_tree_drag_data_received): Perform drag and drop
3665 operations on the Tree.
3667 1998-12-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
3669 * gdesktop.c (setup_desktop_dnd): New function to set up drops
3671 (setup_xdnd_proxy): Function by Owen Taylor to set up a DnD proxy
3673 (drag_data_received): Function to handle drops on the root window.
3674 (desktop_destroy): Destroy the DnD setup.
3675 (reload_desktop_icons): New function to reload the desktop.
3677 * gscreen.c (drag_types, drop_types): Removed url-list; only
3678 uri-list should be there.
3680 * gdesktop.h: Removed TARGET_URL_LIST from the DnD enumerations.
3682 * gtkdtree.c (gtk_dtree_do_select_dir): Made static, as it is for
3684 Fixed a little bunch of compiler warnings.
3686 * gscreen.c (x_fill_panel): Use gtk_dtree_select_dir(), not
3687 gtk_ctree_do_select_dir().
3689 * gpopup.c (gpopup_do_popup): Fixed incorrect assertion and
3690 actually create the menu (doh).
3691 (gpopup_do_popup): Do the same magic as in gnome-popup-menu to
3692 fetch the item that was activated in the menu. Keep this code out
3693 of reach of children.
3694 (fill_menu): New function to fill the menu using the
3695 gnome-popup-menu magic for fetching the activated menu item.
3696 Removed ifdef'ed code.
3698 1998-12-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
3700 * gscreen.c (tree_drag_open_directory, panel_tree_drag_motion,
3701 panel_tree_drag_leave): Drag and Drop support routines for the
3702 tree to auto-expand the tree when the user stays still on top of a
3705 * gtkdtree.c (gtk_dtree_load_path): Further speed increase.
3707 1998-12-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
3709 * glayout.c (file_menu): Use view_cmd and view_simple_cmd in the
3710 menu instead of panel_action_view and
3711 panel_action_view_unfiltered, respectively.
3713 * gpopup.c (create_regexp_actions): Create the menu items using
3714 gnome-app-helper, for visual consistency.
3715 (create_actions): Likewise. Also, fixed S_ISLNK() confusion.
3716 (get_label_text): Extract the label from the GnomeUIInfo item in
3719 1998-12-01 Jonathan Blandford <jrb@redhat.com>
3721 * Makefile.in: now handles gdialogs*
3724 * gdialogs.c:Added new files -- takes the place of ../src/filegui.*
3726 1998-12-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
3728 * gscreen.c (panel_switch_new_display_mode): Destroy the old
3729 widget. Add the list view to the proper table.
3731 * glayout.c: Remove the exit menu option.
3733 * gtree.c (gtk_dtree_contains): New routine used to avoid
3734 duplicate entries in the tree display.
3736 1998-11-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
3738 * gscreen.c (panel_icon_list_select_icon): Use gpopup_do_popup().
3739 (panel_file_list_select_row): Use gpopup_do_popup().
3740 Moved the popup menu code to gpopup.c.
3742 1998-11-29 Federico Mena Quintero <federico@nuclecu.unam.mx>
3744 * gscreen.c (display_mini_info): Use g_strdup_printf() to make it
3746 (panel_create_filter): Use _(), not N_().
3747 (x_create_panel): Likewise.
3749 1998-11-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
3751 * gscreen.c (x_create_panel): Add panel view. Put the views
3752 inside a new table. Add tree view to the left.
3753 (panel_create_icon_display): IconList no longer starts in frozen state.
3757 1998-11-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
3759 * gwidget.c (x_update_input): Use gtk_editable_changed on the entry.
3760 (x_create_listbox): Fix more CList api change.
3761 * gscreen.c (CLIST_FROM_SW): Adapt to new GtkScrolledWindow
3764 1998-11-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
3766 * Makefile.in (OOBJS): Add filegui.o back until the GTK-specific
3769 * gdesktop.c (check_window_in_one_panel): Provide better error
3770 messages here for debugging purposes.
3772 Disable stubs for filegui.c until they are actually implemented.
3773 I need to debug stuff.
3775 * gdnd.c (find_panel_owning_window): Use the new
3776 gtk_drag_get_source_widget function to find out reliably if the
3777 drag source happens to be in this application.
3779 * gscreen.c (x_create_panel): Set the usize for the ministatus
3780 label to be (0, -1), this means: do not request any horizontal
3781 space, use any vertical space given.
3783 Put the ministatus inside an hbox, and use
3784 gtk_container_set_resize_mode in this hbox to stop any queue
3785 events from being propagated up in the hierachy of widgets
3787 This kills all of the CList/GnomeIconList/Scrollbar/Toolbar
3790 1998-11-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
3792 * gtree.c: More work on gtree. It is basically ready to stick
3793 into gmc-window.c/mc I just need to know when you are ready
3796 1998-11-25 Federico Mena Quintero <federico@nuclecu.unam.mx>
3798 * gpopup.c (gpopup_do_popup): Hide the edit/view separator if
3799 those items were disabled, too.
3801 * gdesktop-icon.c (desktop_icon_realize): Added
3802 WIN_STATE_FIXED_POSITION and WIN_STATE_ARRANGE_IGNORE to the
3803 window hints for the desktop icons.
3805 1998-11-24 Federico Mena Quintero <federico@nuclecu.unam.mx>
3807 * gdesktop.c (desktop_icon_info_event): Run the popup menu for the
3808 icons in the desktop.
3810 * gpopup.[ch]: New files that take care of the popup menus for
3811 files in the desktop and in the panels.
3813 * Makefile.in: Added gpopup.[ch] to the list of sources.
3815 1998-11-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
3817 * gdesktop.c (desktop_icon_info_place): Save the icon position
3819 (desktop_destroy): Removed the save_icons_pos() function and do
3820 not invoke it from desktop_destroy().
3822 1998-11-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
3824 * gwidget.c (x_list_insert): Make it work with the new CList
3827 1998-11-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
3829 * gdesktop.c: Put in a bunch of stubs for the functions in
3830 filegui.h. These will be removed as the dialogs get
3831 custom-written for Gnome.
3833 * gmetadata.[ch]: Changed the function names to "gmeta_*".
3835 * gscreen.c (CLIST_FROM_SW): Use scrolled_window->child, as
3836 viewport is obsolete.
3838 1998-11-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
3840 * Makefile.in (OOBJS): Do not link ../src/filegui.o. GMC does not
3841 link right now, but I guess I'll add stubs until we finish with
3844 * gdnd.c: #include <sys/types.h>
3846 * Makefile.in (checklinks): Fix sourcelinks -> maksourcelinks typo.
3848 1998-11-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
3850 * gmain.c (session_save_state): Use gnome_geometry_string.
3852 1998-11-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
3854 * gscreen.c (panel_file_list_compute_lines): Quick hack to get mc
3855 to compile with the new CList.
3857 1998-11-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
3859 * Makefile.in: Removed gtrans.c from the list of sources.
3861 * gdesktop-icon.c: #ifdef cleanups.
3863 * gscreen.c (panel_create_file_list): Doh. Return the scrolled
3864 window, not the clist.
3866 * gdnd.c (get_action): Implement the DnD actions menu.
3868 1998-11-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
3870 * gdnd.c: New file that handles all the DnD stuff. Mainly used to
3871 clean up gdesktop.c.
3873 * gscreen.c (panel_icon_list_drag_data_received): Use
3874 gdnd_drop_on_directory().
3875 (CLIST_FROM_SW): Added this macro to fetch the clist from the
3876 scrolled window in panel->list.
3877 (panel_create_file_list): Create a scrolled window and put the
3878 clist inside it. This is required per the new clist API.
3879 (panel_configure_file_list): Use the scrolled window's adjustment.
3880 (panel_file_list_size_allocate_hook): Use the scrolled window
3881 instead of the clist.
3882 (panel_file_list_compute_lines): Use the scrolled window instead
3884 (panel_file_list_configure_contents): Use the scrolled window
3885 instead of the clist.
3886 (panel_create_file_list): Do the DnD setup here, not in the
3887 realization callback.
3888 (x_create_panel): Do not realize the panel explicitly.
3889 (panel_create_pixmaps): Create the pixmaps using imlib instead of
3892 1998-11-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
3894 * gdesktop.c (text_changed): Doh. Set the new filename of the
3895 desktop icon info structure.
3897 1998-11-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
3899 * gdesktop.c (text_changed): We rename the files when the text
3901 (save_icons_pos): New function to save the icon position metadata
3902 for all the icons in the desktop.
3903 (desktop_destroy): Save the icon positions when we exit.
3905 1998-11-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
3907 * gdesktop.c (editing_started):
3908 (editing_stopped): New functions to install and remove
3909 pointer/keyboard grabs while icons are being edited,
3912 1998-11-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
3914 * gdesktop.c (select_icon): Raise the icon when it is selected.
3916 1998-11-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
3918 * gdesktop.c (select_range): Doh. Fix dii -> ldii typo. Also,
3919 use Windows semantics -- ranges are considered rectangular instead
3922 * gdesktop.c: Now desktop icons are stored in the layout_slots
3923 array. We need to know which icons are in which slots.
3924 (unselect_all): Use the layout_slots array.
3925 (desktop_icon_info_place): Append the icon to the list in the
3927 (desktop_icon_info_new): Initialize the position and slot fields
3928 in the desktop icon info structure.
3929 (desktop_icon_info_free): Remove the icon from its slot.
3930 (desktop_destroy): Destroy the layout slots and the icons
3932 (remove_from_slot): New convenience function to remove an icon
3933 from the slot it is in.
3934 (get_icon_snap_pos): Do a bit nicer snapping by really using the
3936 Added a last_selected_icon variable to keep track of the icon that
3937 was last selected, for shift+click selections.
3938 (select_icon): Finish selection semantics and clean up. Now it is
3939 nice and simple and complete.
3940 (select_range): New function that handles range selections.
3942 1998-11-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
3944 * gdesktop-icon.h (DesktopIcon): Added a child item for stippling
3945 the icon when it is selected.
3947 * gdesktop-icon.c (desktop_icon_select): Show/hide the stippling
3950 * gdesktop.c (desktop_icon_info_event): Handler for events on
3952 (select_icon): New function that handles icon selection based on
3953 mouse clicks and modifier keys.
3955 * gdesktop.c (struct desktop_icon_info): Added a type field to the
3956 structure. It specifies the type of icon (file, directory), and
3957 is used to determine the DnD and menu behavior.
3959 1998-10-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
3961 * gdesktop.c: We are now using the new desktop icon code. It is
3962 not yet complete, but what is there does work. We have icon
3963 creation, auto-layout and snapping. Next step is drag and drop
3966 * glayout.c: #ifdef out the stuff that uses the old desktop code.
3967 I will replace it gradually.
3968 * gmain.c: Likewise.
3969 * gscreen.c: Likewise.
3971 1998-10-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
3973 * gscreen.c (panel_icon_list_button_release): Remove unused
3976 Provide hand written CList-start drag code
3978 1998-10-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
3980 * gmetadata.c (meta_get_icon_pos): Renamed from
3981 meta_get_desktop_icon_pos().
3982 (meta_set_icon_pos): New public function to save the icon position
3985 * gdesktop-icon.c (canvas_size_allocated): New function. We reset
3986 the canvas scrolling region here, when the canvas gets size
3987 allocated, to ensure that the canvas has always the correct
3988 scrolling region. We do it here instead of in the reshape()
3989 function to avoid flicker.
3991 1998-10-29 Federico Mena Quintero <federico@nuclecu.unam.mx>
3993 * gmetadata.[ch]: New files with functions to handle all metadata
3994 issues -- fetching icons, icon positions, etc.
3996 * Makefile.in: Added gmetadata.[ch] to the list of sources.
3998 1998-10-28 Federico Mena Quintero <federico@nuclecu.unam.mx>
4000 * gdesktop-icon.c (create_window_shape): Use shaped icons only
4001 when the user has selected them.
4002 (desktop_icon_reshape): New public function to recompute the shape
4003 of the icon. This should be used when the global
4004 desktop_use_shaped_icons flag changes.
4005 Added documentation comments to the public functions.
4007 * Makefile.in: Fixed for gdesktop-icon.
4009 * gdesktop-icon.[ch]: Renamed from desktop-icon.[ch], per Miguel's
4012 * desktop-icon.c (reshape): Position the icon text item correctly.
4014 1998-10-27 Federico Mena Quintero <federico@nuclecu.unam.mx>
4016 * desktop-icon.c (desktop_icon_new): Do now reshape more than
4017 needed by splitting the set_icon and set_text functions apart.
4019 1998-10-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
4021 * gdesktop.c (desktop_icon_set_position): Do not lower the
4022 window. The gnome-compliant wm will know what to do with windows
4023 on the Desktop layer.
4024 (post_setup_desktop_icon): Likewise.
4026 * desktop-icon.c (create_window_shape): Fetch the mask of the
4027 image "by hand", as we cannot rely on the canvas item having
4030 * desktop-icon.c (desktop_icon_realize): Doh. We need to
4031 initialize the gnome_win_hints before we set any of the hints.
4033 1998-10-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
4035 * gdesktop.c (create_desktop_icon): Renamed from
4036 my_create_transparent_text_window. Now uses the DesktopIcon
4037 widget for its work.
4038 (get_desktop_icon_for_dentry): Renamed from
4039 get_transparent_window_for_dentry. Uses the DesktopIcon widget.
4040 (get_desktop_icon_for_di): Renamed from
4041 get_transparent_window_for_di.
4042 (desktop_icon_properties): Do not size_request the icon, since now
4043 we can get its dimensions directly from the DesktopIcon structure.
4045 * desktop-icon.[ch]: New file that takes care of desktop icons.
4046 It provides the spiffy widget that is used for them.
4048 * Makefile.in: Added desktop-icon.[ch] to the list of sources.
4049 MC should use Automake, I think.
4051 1998-10-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
4053 * gscreen.c (panel_create_icon_display): Small size adjustment.
4055 * glayout.c (create_container): Small size adjustment.
4057 * gmain.c (xtoolkit_create_dialog): Center windows.
4059 1998-10-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
4061 * gscreen.c (x_select_item): Force a canvas update when an icon
4064 1998-10-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
4066 * gscreen.c (panel_drag_data_get): New routine to provide data
4067 with the new DnD protocol.
4069 * gmain.c (dialog_key_pressed): If an icon has the focus, then do
4070 not process any of our events.
4071 Only stop the signal if we actually handled the event.
4072 (dialog_key_pressed):
4074 1998-10-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
4076 * gscreen.c (panel_icon_renamed): Add support for renaming files.
4078 1998-10-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
4080 * gscreen.c: Use the new icon list.
4082 1998-09-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
4084 * gscreen.c: Hook to invoke the editor from the context menu.
4086 Fri Sep 18 13:51:16 1998 Pavel Roskin <pavel_roskin@geocities.com>
4088 * Makefile.in: Consequent "make" should not rebuild gmc every time
4090 Mon Aug 31 10:46:32 1998 Owen Taylor <otaylor@redhat.com>
4092 * gscreen.c (display_mini_info): Removed calls to
4093 gtk_clip_label_set() hack, since its cut-n-paste code didn't work
4094 with new GTK's. If excessive resizes are a problem, they can be
4095 solved by adding an adjustment around the label, and calling
4096 gtk_container_set_resize_mode().
4098 1998-08-20 Raja R Harinath <harinath@cs.umn.edu>
4100 * gdesktop.c: Include "mad.h", for xmalloc.
4102 * gscreen.c: Likewise.
4103 (panel_create_file_list): Use `g_free', not `free'.
4105 Wed Aug 19 19:45:16 EDT 1998 The Rasterman <raster@redhat.com>
4107 * gdesktop.c - changed dnd setting routine for desktop icon to set
4108 events on child window...
4109 * gtrans.c - chnaged routines to make window with child rawing area
4110 and set shape on parent window
4112 1998-08-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
4114 * gscreen.c (panel_make_local_copies_and_transfer): Fix.
4116 1998-07-04 Carsten Schaar <nhadcasc@fs-maphy.uni-hannover.de>
4118 * gmain.c (session_management_setup): Replaced
4119 'gnome_client_new_default' with 'gnome_master_client'.
4121 1998-06-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
4123 * gwidget.c (x_update_input): The previous hack was not
4124 required, the right fix was to change Gtk.
4126 1998-06-22 Manish Vachharajani <mvachhar@vger.rutgers.edu>
4128 * gwidget.c: Don't call gtk_entry_scroll_adjust, it is a private member
4130 1998-06-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
4132 * gdesktop.c (drop_cb): Mhm. Negotiation of the drop type was not
4133 quite like I expected. Anyways, fixed a bug: we need to take
4134 text/plain drops on the launch icons on the desktop.
4136 1998-06-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
4138 * gdesktop.c (desktop_setup_icon): Assign the dentry->geometry
4139 from the drop position. New .desktop files are now placed on the
4140 site they were dropped.
4141 (drop_cb): Use proper prototype.
4143 Sun May 31 13:19:59 1998 Norbert Warmuth <k3190@fh-sw.de>
4145 * Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a (one
4146 reference wasn't converted, yet).
4148 1998-05-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
4150 * gwidget.c (x_create_input): Set the entry's visibility if it is
4153 1998-05-26 Marc Ewing <marc@redhat.com>
4155 * Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a
4157 1998-05-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
4159 * gmain.c (session_save_state): Perform shutdown if `shutdown'
4162 1998-05-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
4164 * gwidget.c (entry_release): Enhanced our marked handler for input
4167 * gdesktop.c (desktop_create_directory_entry): Fix, make a
4168 g_strdup copy of the name. Fixes bug report #78.
4169 (desktop_icon_context_popup): Simplified this routine as we are
4170 using file_popup now anyways.
4172 1998-05-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
4174 * glayout.c: Move the New window menu entry from ``Window'' to
4177 * gwidget.c (x_unfocus_widget): Fix wartning.
4179 * glayout.c (set_hintbar): Call flush events after setting the
4182 1998-05-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
4184 * gwidget.c (x_create_input): Disable the use of the GNOME entries
4185 for now, as they are very slow. We need to figure out what is
4188 With this change, dialog boxes close quickly instead of taking
4191 * gscreen.c, gdesktop.c (file_popup_add_context, file_popup):
4192 Share the context menu code in gdesktop.c and gscreen.c. The
4193 desktop pop up menus now include all of the stuff that would have
4194 appeared in the Panel.
4196 * gdesktop.c (desktop_icon_remove): Remove the file associated
4197 with this desktop entry if it is on the ~/desktop directory.
4199 1998-05-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
4201 * gscreen.c (load_dnd_icons): Remove the code and the icons that
4202 we had here privately. Use new gnome-stock functionality
4205 1998-05-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
4207 * gscreen.c (panel_drag_request): All of the drag_request code is
4208 now shared by both the Icon View and the Listing view;
4209 New drag request type: file:ALL. If the user is looking at a
4210 remote site, and the target application does not have VFS support
4211 it should not list url:ALL but file:ALL as the accepted drop
4214 This will make copies of the remote files and pass the files to
4217 1998-05-20 Federico Mena Quintero <federico@nuclecu.unam.mx>
4219 * gtrans.c (set_window_text): Pass new justification parameter to
4220 gnome_icon_paint_text().
4222 * gpageprop.c (item_properties): Restore the arrow cursor for the
4223 desktop icon windows.
4225 * gdesktop.h (desktop_icon_t): Removed unused title field.
4227 * gtrans.c (set_window_text): Made it use the new
4228 GnomeIconTextInfo functions.
4230 1998-05-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
4232 * gscreen.c (panel_create_icon_display): Set some good separator
4233 characters for the file icon list.
4235 1998-05-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
4237 * gprop.c (perm_owner_new): Forget about history for now.
4239 * gpageprop.c (item_properties), gprop.c: Add executable editing
4240 (command, and terminal). Save the dentry after modification
4242 1998-05-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
4244 * gprop.c (change_icon): Test for gp, as the combobox emits the
4245 "changed" signal when shutting down. Great.
4247 * gdesktop.c (desktop_reload): Missing mc_closedir
4248 (desktop_setup_icon): Fix memory leak.
4249 (get_desktop_icon): Fix memory leak.
4250 (desktop_create_directory_entry): Set the size of the exec
4252 (desktop_create_launch_entry): Same.
4254 We now create launch entries instead of trying to support
4255 regular dropped stuff on the desktop, this makes things easier and
4258 1998-05-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
4260 * gscreen.c (x_select_item): Test for full icon visibility instead
4261 of partial visibility only.
4263 1998-05-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
4265 * gscreen.c (create_popup_submenu): Use continue, not break on
4268 Sat May 16 02:29:51 1998 Tom Tromey <tromey@cygnus.com>
4270 * gdesktop.c (url_dropped): `exec' field of desktop entry now a
4272 (dentry_execute): Likewise.
4273 (desktop_icon_remove): Likewise.
4274 (get_transparent_window_for_dentry): Likewise.
4275 (desktop_create_directory_entry): Likewise; also initialize
4278 1998-05-16 Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
4280 * gscreen.c (create_popup_submenu): fixed bug which caused it to require
4281 0 instead of 1 marked files for F_SINGLE file_actions.
4282 * gscreen.c (file_popup): first item in the menu displays "..." when
4283 multiple files are selected.
4285 Thu May 14 23:31:15 1998 Tom Tromey <tromey@cygnus.com>
4287 * gmain.c (session_save_state): Use "+" instead of "%s" in format
4288 specification. Free `argv'.
4290 1998-05-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
4292 * gtrans.c (create_transparent_text_window): Removed the hack to
4293 lower the window on exposes. Guess what happens when you have two
4294 icons on the same spot.
4296 Thu May 14 02:02:56 1998 Norbert Warmuth <k3190@fh-sw.de>
4298 * Makefile.in (EXTRALIBS): add @LINTL@
4300 1998-05-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
4302 * gtrans.c (set_window_text): draw pixmaps without transparency
4305 1998-05-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
4307 * gscreen.c (panel_icon_list_realized): Add drag and drop support
4308 to the icon list view;
4310 1998-05-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
4312 * gscreen.c (panel_fill_panel_icons): New function: Fill up the
4314 (x_create_panel): Change in the approach: we create both of the
4315 widget views at creation time and we now carefully show every
4316 component. I attach everything to the table, but not necesarly
4319 * gblist.c (blist_select_row): New widget derived from GtkClist.
4320 replace select_row and unselect_row with null functions, as the
4321 gmc code takes care of the rest.
4323 1998-05-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
4325 * gdesktop.c (desktop_icon_drag_start): Do not attempt to use
4326 icons if we could not load the images for the icon.
4328 * gwidget.c (x_update_input): Keep the cursor always visible.
4330 * gview.c (view): Use a buttonbar widget.
4332 * gwidget.c (buttonbar_clicked): Provide a trivial implementation
4333 of the buttonbar that only responds to key sequences.
4335 * gmain.c (dialog_panel_callback): Call midnight_callback to get
4336 the main bindings working.
4338 * gdesktop.c (perform_drop_manually): Use p to walk the dropped
4339 data. This is an important bug fix.
4341 * gmain.c (idle_destroy_window), main.c: Session management now
4342 supports not showing a toplevel window (in case all of the windows
4345 1998-04-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
4347 * gtrans.c (make_transparent_window): Put hack back.
4349 * gcache.c (image_cache_load_image): Federico spooted the problem:
4350 I have to duplicate my keys for the hash.
4352 * gmain.c (create_panels): Create one panel per directory
4353 specified. For some strange reason the code hangs if you start up
4354 more than one panel at once. This is not a gmc bug, it appears to
4355 be an Imlib/gtk/gdk interaction. I am for now creating one panel
4356 in the main program execution thread and the rest during the idle
4359 (session_save_state): Added session management support.
4361 1998-04-29 Federico Mena Quintero <federico@nuclecu.unam.mx>
4363 * gprop.c (gprop_general_new): Added an simple icon preview to the
4366 1998-04-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
4368 * gdesktop.c: Finish desktop_icon_remove implementation.
4370 * glayout.c (update_panels): GNOME specific Implementation of the
4371 update_panels routine.
4373 Tue Apr 28 06:52:24 1998 Norbert Warmuth <k3190@fh-sw.de>
4375 * gcmd.c (gnome_open_terminal): Changed my_system(1,...) to
4376 my_system(EXECUTE_AS_SHELL,...)
4378 1998-04-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
4380 * glayout.c (layout_panel_gone): Removed debugging information.
4381 Renamed "Panel" to "Window" to make it less confusing to users.
4382 Moved the "New window" from the "File" menu to the "Window" menu.
4384 * gmain.c (dialog_panel_callback): Walk the list of panels to
4385 determine to which panel the activated widget belongs.
4387 1998-04-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
4389 * gwidget.c (x_create_radio): Fix the WRadio widgets.
4391 1998-04-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
4393 * glayout.c (create_container): Add wmclass.
4395 1998-04-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
4397 * gdesktop.c (desktop_reload): Show all of the widgets on a reload
4400 * gscreen.c (x_panel_update_marks): Do only set the marks if the
4401 widget has been created
4403 * glayout.c (assign_other): Keep track of all of the opened
4404 panels. We were never removing them from the containers list.
4405 This fixes a number of problems.
4407 * gwidget.c (x_dialog_stop): Only call gtk_main_quit if this
4408 dialog did not inlcude the DLG_GNOME_APP flag, as those windows
4409 did not launch a gtk_main event loop.
4411 * gcmd.c: Try various terminal programs in the PATH before giving
4414 * glayout.c: Unselect command is unselect_cmd, not select_cmd
4416 * gcmd.c (gnome_quit_cmd): Add quit confirmation.
4418 * gdesktop.c (perform_drop_manually): Check the type for the
4419 source file (directory/file) and perform the proper operation.
4420 Before this we always did a *_file_file operation.
4421 (perform_drop_manually): Use copy_dir_dir correctly
4422 (desktop_setup_default): Use copy_dir_dir correctly
4424 * gwidget.c (x_create_label): Remove debugging labels.
4426 * gscreen.c: Do not show the view/view unfiltered if the
4427 selectioned item is a directory.
4429 * gwidget.c (x_radio_toggle): Never commit non-compilable code.
4431 1998-04-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
4433 * gwidget.c (remove_hotkey, x_create_radio): Radio buttons should
4434 not display the special Hotkey specificator.
4436 * gcmd.c (gnome_close_panel): Implement the close-the-panel
4439 * gscreen.c (x_panel_destroy): Implement the gnome mode way of
4440 destroying the panel.
4442 * gview.c (view_status): Add cacheing of the information status,
4443 to avoid excessive flicker. It would be better if GtkLabel did
4445 (scrollbar_moved): Scroll correctly. We now use
4446 view_move_backward and view_move_forward to adjust the scrollbar
4447 contents. This displays the scrollbar correctly.
4449 * gwidget.c (x_listbox_select_nth): This may be invoked before the
4450 widget has been created, work around this problem.
4452 * gscreen.c (show_dir): Set the title bar for the window to the
4453 current directoy. Reported by both Mike and Elliot.
4455 * layout: Updated to the new hotlist dialog box.
4457 1998-04-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
4459 * gtrans.c (create_transparent_text_window): Destroy the cursor
4462 1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
4464 * gview.c (x_init_view): Initialize view->sadj.
4466 * gdesktop.c (start_desktop): use destkop_load instead of
4468 (desktop_load): This reloads + shows every widget on the
4471 1998-04-14 Federico Mena Quintero <federico@nuclecu.unam.mx>
4473 * gdesktop.h: Added extern declarations for the
4474 want_transparent_icons and want_transparent_text variables.
4476 * gtrans.c (set_window_text): Now we use the new global variables
4477 want_transparent_icons and want_transparent_text to decide how to
4478 paint the pixmap and mask. The want_transparent_* variables can
4479 thus be configured for the smartness/speed of your X server when
4480 using shaped windows.
4482 Fri Apr 12 02:40:41 1998 Norbert Warmuth <k3190@fh-sw.de>
4484 * gwidget.c (x_create_input): return 1 if the widget has been
4485 initialized manually (there was no return value)
4487 (x_create_buttonbar): to few arguments to sprintf (button number
4488 was missing); return a value.
4490 1998-04-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
4492 * gscreen.c (x_create_panel): Added back and forward buttons. I
4493 need a "Home" icon too.
4495 * gwidget.c (x_create_input): Make the selection if the input has
4496 not yet been touched.
4498 * gscreen.c (panel_action_open): If opening an item fails, try
4499 panel_action_open_with.
4501 * gview.c: Implement the viewer scrollbar.
4503 1998-04-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
4505 * gscreen.c (panel_drop_data_available): Reload the panel contents
4508 * gmain.c (gnome_dlg_send_destroy): Hide the widgets just before
4509 they are going to get destroyed, to avoid the shutdown
4511 (x_destroy_dlg_start): New routine/hook invoked when the destroy
4513 (x_set_idle): Cancel the idle handlers properly.
4515 * gwidget.c (x_create_check): Finish the checkbox implementation.
4517 * gdesktop.c (get_desktop_icon): Fix this routine: it was
4518 cretating a file name when the filename was not set properly.
4520 1998-04-01 Marc Ewing <marc@redhat.com>
4522 * gscreen.c: Added #include <gdk/gdkprivate.h>
4524 1998-03-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
4526 * gcache.c: Added an Image cache for all of the imlib-loaded
4527 images to avoid destroying/reloading the images.
4529 * gdesktop.c, gtrans.c: Use the image cache.
4531 1998-03-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
4533 * gscreen.c (x_create_panel): Show the GnomeApp when we are done
4534 packing all of our information.
4536 * gmain.c (create_panels): do not show any of the windows yet.
4538 1998-03-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
4540 * gscreen.c (x_fill_panel): Colors are properly displayed now.
4542 Use the clipped labels.
4544 * gcliplabel.c, gcliplabel.h: Derived label that does label
4545 clipping (it does not request the allocation for the whole string,
4546 but settles with whatever is provided in the size_allocation).
4548 1998-03-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
4550 * gtrans.c (create_transparent_text_window): Set the window's
4551 cursor to the normal top-left arrow.
4553 Mon Mar 23 01:40:35 1998 Norbert Warmuth <k3190@fh-sw.de>
4555 * gtools.c (translate_gdk_keysym_to_curses): renamed KEY_BACKTAB
4556 to KEY_BTAB (the name ncurses uses)
4558 * Makefile.in: Install the icon-files and the layout-file from $srcdir.
4560 1998-03-20 Federico Mena Quintero <federico@nuclecu.unam.mx>
4562 * gdesktop.c (icon_properties):
4563 * gpageprop.c (item_properties): Modified to accept dentry title
4565 (item_properties): Fixed base and fname confusion in call to
4566 concat_dir_and_file().
4568 * gprop.c (gprop_general_new):
4569 (gprop_general_get_data): Renamed to general from icon. The
4570 general Gprop now lets you enter the title and icon filename for a
4573 1998-03-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
4575 * gdesktop.c (icon_properties): Whoops, actually save the dentry.
4576 (post_setup_desktop_icon): Moved the icon positioning call outside
4577 of this function so that property-changed icons will not move on
4580 * gdesktop.c (desktop_icon_context_popup): It is not necessary to
4581 set the menu position.
4582 (desktop_icon_context_popup): gtk_signal_connect_object_after to the menu
4583 items with gtk_widget_destroy as a callback so that we can destroy
4584 the menu widget appropriately.
4586 1998-03-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
4588 * gscreen.c (display_mini_info): Implement mini status.
4590 1998-03-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
4592 * gdesktop.c (get_transparent_window_for_dentry): New function,
4593 creates the proper transparent icon window for a dentry.
4594 (post_setup_desktop_icon): New function, does post-setup stuff for
4595 a desktop icon (setting it as a drop target, positioning it, etc.).
4597 * gpageprop.c (item_properties): Now the dentry parameter is a
4598 desktop_icon_t instead.
4599 We now return a bitmask that indicates what stuff changed. The
4600 caller can use this information to decide what to update, repaint, etc.
4602 * gdesktop.h: Moved the icon_t and desktop_icon_t structures here.
4604 * gpageprop.c (item_properties): Insert icon control if appropriate.
4606 * gprop.c (gprop_icon_new):
4607 (gprop_icon_get_data): Renamed from gprop_dir_*().
4609 * gscreen.c (panel_action_properties): Re-reads panel only if necessary.
4611 *gpageprop.c (item_properties): now returns TRUE if something got
4612 changed, FALSE otherwise. This should be used to decide whether
4613 to re-read the panel or not.
4615 * gpageprop.c: #include "../vfs/vfs.h".
4616 #include "dialog.h".
4618 * gprop.c (gprop_dir_new):
4620 (gprop_general_new): Connect to the destroy signal of the toplevel
4621 widget and destroy the Gprop structure on the callback.
4623 Wed Mar 18 23:09:35 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4625 * gscreen.c (panel_file_list_select_row): Use control/shift click
4626 to add files to the selection.
4628 Wed Mar 18 22:32:53 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4630 * gscreen.c (panel_action_properties): Make Federico's
4631 page-properties code functional.
4633 * gpageprop.c: New file, implements most of the page properties on
4634 top of the gprop.c code.
4636 Wed Mar 18 20:35:45 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4638 * gdesktop.c (desktop_create_launch_entry): Support for the "Drop"
4639 target in mc.ext now.
4641 * Add support for dragging the icons on the desktop.
4643 (desktop_icon_make_draggable): new function.
4644 (drop_from_event): simplify.
4645 (my_create_transparent_text_window): Get the motion notify event.
4646 (drops_from_event): create a vector based on thge drop event.
4647 (drop_cb): splitted, call url_drop for regular drops, otherwise it
4649 (artificial_drag_start): new routine, used now by gscreen.c and
4651 (drop_on_directory): Check result value of operation.
4652 (desktop_icon_set_position): sane interface.
4653 (stop_desktop): Flush all of our state to disk.
4655 1998-03-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
4657 * gscreen.c: Removed tests for the gprop stuff.
4658 (file_popup): It is not necessary to show the popup menu.
4660 * gprop.c (perm_group_new):
4661 (perm_owner_new): Fill the combo lists with users and groups,
4664 * gprop.h: New files gprop.[ch]. These create the property pages
4665 for desktop entries.
4667 * Makefile.in: Added gprop.[ch] to the rules.
4669 * glayout.c: Put gnome_about_cmd as a callback for the About menu item.
4671 Tue Mar 17 22:40:36 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4673 * gdesktop.c (desktop_setup_icon): Lots of changes to accomodate
4674 dropping icons on the root window.
4676 (do_symlinks): Implement symlink action.
4678 (icon_delete, desktop_icon_context_popup): Implement icon context
4679 menus. only deleting an icon is working right now.
4681 * gscreen.c: Load the drag and drop icons from the installation
4684 * Makefile.in (install_gmc): Install our icons.
4686 Tue Mar 17 02:38:37 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4688 * gdesktop.c (desktop_setup_default): Create a default desktop
4689 entry on the root window for the Home directory if not mc.desktop
4692 Get drops on the root window to work. Joy and hapiness!
4694 Tue Mar 17 00:43:50 1998 Tom Tromey <tromey@cygnus.com>
4696 * glayout.c (gnome_panel_about_menu): "About" item now a stock
4699 1998-03-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
4701 * gscreen.c (filter_item_activate): Make it convert the glob
4702 pattern to a regexp if appropriate.
4704 Sat Mar 14 17:13:26 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4706 * gmain.c (gnome_dlg_send_destroy): New signal handler for
4707 "delete_event". I return TRUE (ie, do not kill this window), and
4708 manually queue que destruction of this window.
4710 * gtools.c (query_dialog): Do not allow resizing; do not destroy
4711 the dialog ourselves, this is properly handled by dlg.c now
4712 (pack_button): Do not use the defaults: we do not want growing
4715 Fri Mar 13 16:01:28 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4717 * gwidget.c (buttonbar_clicked, x_create_buttonbar): Button bar
4720 * gtools.c: Implement the non-modal version of the message
4723 * gview.c: Create a GnomeApp widget to contain the viewer.
4725 * gmain.c (xtoolkit_create_dialog): Add a new mode where the
4726 container window is a GNOME_APP window.
4728 1998-03-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
4730 * gscreen.c (x_select_item): Make it use GTK_VISIBILITY_FULL
4731 instead of a plain boolean value.
4732 * gwidget.c (x_listbox_select_nth): Likewise.
4734 * gscreen.c (filter_items): New global variable full of filters.
4735 Please, someone fill in the regexp parts, as I was too lazy to do
4737 (panel_create_filter): Now the filter has a very nice button that
4738 pops up a menu for selecting the filter.
4740 Thu Mar 12 22:11:23 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4742 * gwidget.c (x_update_input): Use GnomeEntry widgets instead of
4745 * gwidget.c (listbox_select): Fix for the listbox selection with
4747 (x_create_button): Use stock pixmaps.
4749 * gcmd.c: Moved all of the _cmd routines from glayout to this
4751 (save_panel_types): Provide GNOME implementation.
4753 * glayout.c: New and improved menu layout. Use stock pixmaps.
4755 1998-03-12 Federico Mena Quintero <federico@nuclecu.unam.mx>
4757 * gmc-chargrid.c (gmc_char_grid_draw): Someone teach me how to
4758 subtract. Fixed a stupid offsetting bug.
4759 (update_region): Added clipping of region bounds.
4761 * gmc-chargrid.c: Changed the struct attr with pointers mess with
4763 Added an in_resize flag to avoid calling our internal signal
4764 handlers recursively.
4765 (gmc_char_grid_draw): Added proper draw handler for our case; the
4766 widget's window does not fill its allocation.
4767 (paint): New wrapper for update_region(); it converts window
4768 coordinates to row/column character coordinates.
4769 (gmc_char_grid_expose): Use paint().
4771 1998-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
4773 * gmc-chargrid.c (update_strip): Doh. Fixed painting of
4774 background rectangles.
4775 (gmc_char_grid_expose): Fixed off-by-one errors in area
4776 calculation. Ripped off the code from gtkterm to do this :-)
4777 (free_attrs): New internal convenience function.
4779 Thu Mar 12 00:08:06 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4781 * gview.c (view_percent): Added status display.
4783 Wed Mar 11 22:35:02 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4785 * gwidget.c (entry_release): Now the WEntrys track the current
4787 (x_update_input): Repaint the widget after changing the position.
4789 * gscreen.c (x_fill_panel): Remember the selected item on the
4790 panel before filling it up, as gtk_clist emits a select_item
4791 signal when filling it up, which changes the current selection
4792 (and thus some routines that invoke the reload panel option
4795 (create_popup_submenu): Implement context sensitive menus (regular
4796 files, and symlinks).
4798 (panel_realized): Use a different icon when we are dragging a
4801 (panel_artificial_drag_start): Add Elliot's Artificial drag start
4804 1998-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
4806 * gmc-chargrid.c (gmc_char_grid_get_size): New public function.
4807 (gmc_char_grid_put_text): New public function. It is the same as
4808 gmc_char_grid_put_str, but can take any arbitrary string plus its
4810 (gmc_char_grid_put_char, gmc_char_grid_put_str,
4811 gmc_char_grid_put_text): These functions now take a background
4812 pixel parameter --- the GmcCharGrid widget now supports fg/bg attributes.
4814 * gmc-chargrid.h: Changed colors field to attrs.
4816 * gmc-chargrid.c: New Character Grid widget for the file viewer.
4817 This is a very lean and fast widget for displaying a grid of
4818 monospaced characters. Just like a crippled-down terminal.
4820 Tue Mar 10 23:46:29 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4822 * gscreen.c (x_adjust_top_file): We no longer adjust the top
4825 (panel_build_selected_file_list): Fix for the transfered data.
4827 (panel_drop_data_available): Now drop support uses the new
4828 coords.x and coords.y fields from the DropDataAvailableEvent to
4829 find out which directory receives the drop.
4831 * glayout.c: added: configure_box, configure_vfs
4832 (get_other_type): Return the correct value.
4834 1998-03-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
4836 * gscreen.c (panel_file_list_size_allocate_hook): Now we
4837 connect_after to the size_allocate signal and block the handler.
4838 Things are still not perfect, though.
4840 * gtools.c (message): Added return NULL. This needs to be fixed.
4841 (translate_gdk_keysym_to_curses): FIXME: Replace KEY_BACKTAB by '\t'
4842 while KEY_BACKTAB is added somewhere else.
4843 (translate_gdk_keysym_to_curses): return -1 as last resort.
4845 * glayout.c (get_current_index): Add g_assert_not_reached() for
4848 * gmenu.c (menubar_new): Cast g_menubar to unsigned long.
4850 * gwidget.c (x_create_input): Cast entry to GTK_OBJECT.
4852 * gkey.c (find_select_closure_callback): Fix = -> == typo.
4854 Tue Mar 10 00:10:32 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4856 * gscreen.c (panel_drop_data_available): Now drop support uses the
4857 new coords.x and coords.y fields from the DropDataAvailableEvent
4858 to find out which directory receives the drop.
4860 * gwidget.c (x_radio_focus_item): Add support for focusing radio
4863 Mon Mar 9 15:12:00 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4865 * gtools.c (translate_gdk_keysym_to_curses), dlg.c
4866 (dlg_key_event): Support for backtab.
4868 * gwidget.c: highlight properly the focused radio entry.
4870 * gmain.c (x_init_dlg): After setting up the X widget, set the
4871 Gtk focus to h->current;
4873 1998-03-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
4875 * gscreen.c (x_panel_select_item): Set the colors of the row.
4877 * gmain.c (xtoolkit_init): Changed gnome_init() to new version.
4878 (xtoolkit_init): Call gnome_init() properly. Also, return 0.
4880 Sat Mar 7 15:24:49 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4882 * gwidget.c (entry_click): Focus the entry on clicks.
4884 Fri Mar 6 20:50:19 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4886 * gmain.c (create_panels): New per-port variable, used to flush
4887 all of the pending X events.
4889 (x_set_idle): Implement idle functions, now the find command works
4892 * gwidget.c (x_create_radio): Connect to the "toggled" signal to
4893 keep track of the radio button.
4895 (listbox_select): callback for the select and double click
4897 (x_update_input): This can be invoked before the
4898 widget X resources have been allocated. Take care of this.
4900 (x_create_input): update the cursor position as well.
4902 (x_list_insert, x_create_listbox, x_list_delete_nth,
4903 x_listbox_select_nth): implement the Listbox widget.
4905 * gconf.h: New configuration options:
4906 PORT_HAS_PANEL_ADJUST_TOP_FILE and
4907 PORT_HAS_PANEL_RESET_SORT_LABELS
4909 1998-03-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
4911 * gmain.c (get_color): Make it use GdkColorContext correctly.
4913 * gscreen.c (panel_create_filter): The filter control is now a
4914 nice GnomeEntry. It does not work due to gmc trapping key events;
4915 I'll look into it tomorrow.
4916 (internal_select_item): Fixed broken behavior. Now uses GtkCList properly.
4917 default_filters: new structure with pre-defined glob patterns.
4918 This is actually broken, because it will only work when
4919 easy_patterns is enabled. I have to figure a way to make it work
4920 with regexp mode as well.
4922 Thu Mar 5 23:54:58 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4924 * gdesktop.c (drop_on_panel): New function; Used by the directory
4925 icons and by regular panels to support drag targets;
4927 * gscreen.c (panel_drop_data_available): Performs the drop action
4928 on a panel. It needs fixing, as the DropDataAvailabelEvent does
4929 not provide any information as to where the drop actually
4932 (fixed_gtk_widget_dnd_drag_set, fixed_gtk_widget_dnd_drop_set):
4933 Only set the main window of the clist to be the source/target of
4934 the drag and drop code. The little square at the end did not make
4935 much sense as a drop/drag spot.
4937 1998-03-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
4939 * gmain.h: Added prototype for x_filter_changed().
4940 Added #include "panel.h".
4942 * gconf.h (PORT_HAS_FILTER_CHANGED): New flag for conditional compilation.
4944 Wed Mar 4 22:43:00 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4946 * gtools.c (query_dialog): Rewritten to use the MC dialog/widget code.
4948 * gutil.c (my_system), acconfig.h: By default gnome will not have
4949 a subshell (at least for now) and will now exec everything
4950 asyncronously by default.
4952 * gscreen.c: Exactly what was I thinking when I used the
4953 g_panel_contents structure will remain a mistery for future
4954 programming psycologists. It was a huge mistake.
4956 * gdesktop.c: Use the new icon/text display routine from
4959 Tue Mar 3 21:03:52 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
4961 * gmain.c (x_destroy_dlg): Call gtk_grab_remove when destroying
4964 * gmain.c (x_focus_widget): Handle special case of toplevels.
4966 1998-03-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
4968 * gscreen.c: Some hackish changes to work around idempotence bugs
4969 in gtk_clist_select_row().