Commit Graph

32 Commits

Author SHA1 Message Date
Miguel de Icaza
af568f447e 1999-08-23 Federico Mena Quintero <federico@redhat.com>
* gdesktop-prefs.[ch]: New files that handle the desktop
	preferences page.  Now we have a nice way to configure the
	position of desktop icons.

	* gprefs.c (create_prop_box): Use desktop_prefs_new() to create
	the desktop preferences page.
	(apply_page_changes): Do not update the desktop here.
	(apply_callback): Take the desktop page into account.

	* gdesktop.c (desktop_use_shaped_text): Renamed from
	desktop_use_transparent_text.

	* Makefile.in: Added gdesktop-prefs.[ch] to the list of sources.
1999-08-23 23:13:31 +00:00
Miguel de Icaza
7a22a993e7 1999-06-17 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (set_icon_wmclass): New function to set the wmclass
	and wmname for desktop icons.  This lets them be managed correctly
	by WMs who try to manage X11R5 clients decently.
	(text_changed): Call set_icon_wmclass().
	(desktop_icon_info_new): Call set_icon_wmclass().

	* gdesktop-icon.c (desktop_icon_realize): Do not clear the
	WM_CLIENT_LEADER property.
1999-06-17 22:42:01 +00:00
Miguel de Icaza
b24460e51c 1999-06-14 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (icon_is_in_area): Fixed off-by-one error in
	intersection computation.

	* gdesktop-icon.c (desktop_icon_reshape): Set the correct values
	for dicon->text_x and dicon->text_y.
1999-06-14 22:50:45 +00:00
Miguel de Icaza
d579290936 1999-06-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop-icon.[ch]: Removed the background hack for desktop
	icons.  Now the GnomeIconTextItem does the right thing.

	* gdesktop-icon.c (desktop_icon_reshape): Use the correct size for
	the icon text item.
1999-06-10 00:57:26 +00:00
Miguel de Icaza
ef3fe0dafe 1999-06-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop-icon.c (desktop_icon_select): Show the
	dicon->background.
	(desktop_icon_init): Initialize backgorund as a rectangle that
	fills all of the space used by the icon.
1999-06-01 19:15:47 +00:00
Miguel de Icaza
b3bb157ad5 These are a bunch of changes to fix CORBA and session management. They
are almost complete (i.e. to handle all nitty gritty cases), but they
seem to be working OK right now.  SM should be much more stable now.
Please tell me if you find any weird behavior - Federico

1999-03-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdesktop-icon.c (desktop_icon_realize): Remove the
	WM_CLIENT_LEADER property from icon windows so that window
	managers will not store SM information for them.

	* gnome-open-dialog.c: Added missing #includes.

	* gdesktop-init.c (desktop_init_at): Removed an unused variable.

	* gdesktop.h: Added some missing prototypes.

	* gmain.h: Added some missing prototypes.

	* Makefile.in: Added gsession.[ch] to the list of sources.

	* gmain.c (create_panels): Consider whether we have a CORBA server
	and session management.

	* gdesktop.c: #include "gdesktop-init.h"
	* gdesktop.c: Added a missing cast to GNOME_DIALOG.

	* gmain.c (create_panels): Removed the run_desktop global
	variable.

	* glayout.c (create_container): Set the wmclass of the panel to
	include its unique ID.

	* gsession.[ch]: New file with the functions that deal with
	session management.

	* glayout.c (gnome_exit): Use session_set_restart().

	* gcorba.c (corba_init): Now returns an int with an error value.
	(corba_init_server): Initialize the server properly.
	Fixed all the object implementation code.
	(corba_create_window): New function used to create a window with
	the CORBA server.

	* gmain.c (gnome_check_super_user): Now the check for running as
	root is done here.  There should be no GUI code in src/.

1999-03-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* dlg.c (dlg_run_done): Do not call the callback of a NULL current
	widget.

	* setup.h: Added missing prototype for setup_init().

	* filegui.c (check_progress_buttons): Added a missing return
	value.

	* dlg.c (remove_widget): Added a missing return value.

	* main.c: Removed the global directory_list variable.
	Removed the main_corba_register_server() function.

	* main.h: Removed the global run_desktop variable.

	* panel.h: Now the panel structure has a unique numerical ID used
	for session management.

	* screen.c (panel_new): Maintain a unique ID for each panel.

	* main.c (maybe_display_linksdir): Handle display of the desktop
	init dir here.
	(main): Call gnome_check_super_user().
	(init_corba_with_args): Call corba_init_server().

	* main.c (init_corba_with_args): Do CORBA initialization here.  Also
	removed the global force_activation option.

1999-03-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* vfs.c (vfs_add_current_stamps): Only do stamping of the panels
	if they exist.

	* mcserv.c: #include <sys/wait.h>
	(get_client): Put `#ifdef __EMX__' around an otherwise-unused
	variable.

	* utilvfs.c (vfs_split_url): Fix NULL <-> 0 confusion when
	comparing characters.

	* ftpfs.c (retrieve_dir): Removed unused variable dot_dot_found.

	* extfs.c (extfs_init): Assign `key' to c, not `&key'.
1999-03-30 06:09:56 +00:00
Miguel de Icaza
d1b80d6f09 1999-03-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (x_select_item): It is not necessary to call
	gnome_canvas_update_now() here.

	* gdesktop-icon.c (set_icon): Do not destroy the icon image.

	* gnome-file-property-dialog.c
	(gnome_file_property_dialog_finalize): Do not destroy the icon
	image, since it is a shared resource.
1999-03-15 18:01:37 +00:00
Miguel de Icaza
5cd0eeb455 1999-02-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop-icon.c (set_icon): Do not destroy the image if it is
	the same as the old one.  Sigh, imlib really needs proper
	refcounting.

	* gscreen.c: Use gpopup_do_popup() until the new version is
	finished.

	* gpopup2.c (create_actions): Made the action selection logic
	simpler.
	(gpopup_do_popup2): Now can only operate on panels.
	(file_actions): Sanitized the actions a bit.

	* gutil.c (my_system_get_child_pid): sa_handler must be
	gnome_sigchld_handler, not gnome_sigchld_installed.

	* gpopup.c (dicon_properties): Do not call reread_cmd().  This is
	a hack until the menus for panels/desktop are finished.

	* gscreen.c (panel_file_list_press_row): Use gpopup_do_popup2().
1999-02-12 02:15:17 +00:00
Miguel de Icaza
4ef71a33c2 1999-01-31 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (reload_desktop_icons): Reload the icon image for a
	file that already exists in the desktop, because it may have
	changed.

	* gdesktop-icon.c (desktop_icon_reshape): Center the text
	correctly if the user is using huge icons.
1999-02-01 06:26:55 +00:00
Jonathan Blandford
abc8c20b29 1999-01-28 Jonathan Blandford <jrb@redhat.com>
* gnome-file-property-dialog.c (create_settings_pane): We only let
	you set info if we are a regular file, or a link to a regular file.

	* gdesktop-icon.c (desktop_icon_reshape): Cut-n-paste error fixed
	by Quartic.

1999-01-27  Jonathan Blandford  <jrb@redhat.com>

	* gnome-file-property-dialog.h (struct _GnomeFilePropertyDialog):
	Now make open field mandatory and icon selection optional.
	* gnome-file-property-dialog.c: as above

	* gpopup.c (panel_action_properties): only allow setting images if
	we_can_afford_the_speed.

	* gicon.c: make we_can_afford_the_speed non-static
1999-01-28 05:48:02 +00:00
Miguel de Icaza
9b10e9a6b0 1999-01-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop-icon.c (set_text): Update the call to
	gnome_icon_text_item_configure() for the new API.
1999-01-22 20:08:38 +00:00
Miguel de Icaza
1bc1eea3d0 Amazing. GTK broke the API once again 1999-01-18 22:37:39 +00:00
Miguel de Icaza
e0faaa671f Merges from the FileOpContext-changes branch. Please see
the ChangeLogs for full information. - Federico
1999-01-14 01:10:32 +00:00
Miguel de Icaza
94d3dbac8b use notebook instead of hack, fixes 1998-12-30 00:32:41 +00:00
Gregory McLean
f55d906c37 Tue Dec 15 10:51:12 1998 Gregory McLean <gregm@comstar.net>
* gdesktop-icon.c : Attach a desktop_icon wmclass to the desktop
        icons to allow even more wizardry with the desktop icons, mainly
        to exclude them from window lists, don't decorate them, skip
        desktops and other boring stuff.
1998-12-15 15:53:35 +00:00
Miguel de Icaza
741d37e4eb 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
Wheeeee!  Desktop icons can be selected by rubberbanding.  You
	need Englightenment to do this, as so far it seems to be the only
	WM with support for the _WIN_DESKTOP_BUTTON_PROXY property.

	* gdesktop.c (click_proxy_filter): New event filter for button
	presses and releases on the root window.
	(click_proxy_button_press): New function to handle button presses
	on the desktop.
	(click_proxy_button_release): New function to handle button
	releases on the desktop.
	(click_proxy_motion): New function to handle rubberbanding motion
	on the desktop.
	(setup_xdnd_proxy): Flush the server after ungrabbing it.
	(find_click_proxy_window): Flush the server after ungrabbing it.
	(store_temp_selection): Stores the temporary selection to the
	master selection, or viceversa.  This is needed for dynamic
	updating while the user rubberbands.
	(update_drag_selection): New function to update the selection
	while the user is rubberbanding on the desktop.
	(icon_is_in_area): New function to see if an icon is inside the
	rubberbanding area.

	* gdesktop-icon.h: Added fields for querying the icon and text
	position and size.

	* gdesktop-icon.c (desktop_icon_reshape): Set the position and
	size fields as computed for layout.
1998-12-11 12:59:47 +00:00
Miguel de Icaza
44a1b32eeb 1998-12-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c: Moved the old DnD cruft to olddnd.c to keep it there
	for reference purposes.

	* gmetadata.c: Removed the gmeta_get_icon_for_file() function, as
	it is obsoleted by gicon_get_icon_for_file().

	* gdesktop.c (desktop_icon_info_new): Made it use
	gicon_get_icon_for_file().

	* gdesktop-icon.c (set_icon): Now we handle things internally
	using an imlib image, not a filename.
	(desktop_icon_new): Now takes an imlib image for the icon instead
	of a filename.
	(desktop_icon_set_icon): Likewise.
1998-12-09 17:23:38 +00:00
Miguel de Icaza
b7f32b7c2e Sync to laptop - Federico 1998-11-25 23:58:43 +00:00
Miguel de Icaza
c346f8892e 1998-11-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* Makefile.in: Removed gtrans.c from the list of sources.

	* gdesktop-icon.c: #ifdef cleanups.

	* gscreen.c (panel_create_file_list): Doh.  Return the scrolled
	window, not the clist.

	* gdnd.c (get_action): Implement the DnD actions menu.

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

	* setup.c: Removed the icons_snap_to_grid and
	want_transparent_{icons,text} options.
1998-11-11 00:05:12 +00:00
Miguel de Icaza
5fa467aa00 1998-11-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop-icon.h (DesktopIcon): Added a child item for stippling
	the icon when it is selected.

	* gdesktop-icon.c (desktop_icon_select): Show/hide the stippling
	as appropriate.

	* gdesktop.c (desktop_icon_info_event): Handler for events on
	desktop icons.
	(select_icon): New function that handles icon selection based on
	mouse clicks and modifier keys.

	* gdesktop.c (struct desktop_icon_info): Added a type field to the
	structure.  It specifies the type of icon (file, directory), and
	is used to determine the DnD and menu behavior.
1998-11-01 23:21:24 +00:00
Miguel de Icaza
f64d6da2e4 1998-10-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c: We are now using the new desktop icon code.  It is
	not yet complete, but what is there does work.  We have icon
	creation, auto-layout and snapping.  Next step is drag and drop
	and popup menus.

	* glayout.c: #ifdef out the stuff that uses the old desktop code.
	I will replace it gradually.
	* gmain.c: Likewise.
	* gscreen.c: Likewise.
1998-10-30 23:22:35 +00:00
Miguel de Icaza
e704d53f77 sync sync - Federico 1998-10-30 17:08:03 +00:00
Miguel de Icaza
903eb5a880 Sync to laptop; I ifdef-ed the old code just so that it will compile - Federico 1998-10-30 00:47:54 +00:00
Miguel de Icaza
612019d206 1998-10-28 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop-icon.c (create_window_shape): Use shaped icons only
	when the user has selected them.
	(desktop_icon_reshape): New public function to recompute the shape
	of the icon.  This should be used when the global
	desktop_use_shaped_icons flag changes.
	Added documentation comments to the public functions.
1998-10-29 01:07:38 +00:00
msw
12f7db92e9 Wed Oct 28 14:34:22 EST 1998 Matt Wilson <msw@gimp.org>
* gnome/gdesktop.c, gnome/gdesktop-icon.c:
	  s/desktop-icon.h/gdesktop-icon.h/g
1998-10-28 19:31:04 +00:00
Miguel de Icaza
4ce383d64b 1998-10-28 Federico Mena Quintero <federico@nuclecu.unam.mx>
* desktop-icon.c (reshape): Position the icon text item correctly.
1998-10-28 17:04:58 +00:00
Miguel de Icaza
1f01162672 1998-10-27 Federico Mena Quintero <federico@nuclecu.unam.mx>
* desktop-icon.c (desktop_icon_new): Do now reshape more than
	needed by splitting the set_icon and set_text functions apart.
1998-10-28 00:53:11 +00:00
Miguel de Icaza
c5dca5a751 1998-10-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_set_position): Do not lower the
	window.  The gnome-compliant wm will know what to do with windows
	on the Desktop layer.
	(post_setup_desktop_icon): Likewise.

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

	* desktop-icon.c (desktop_icon_realize): Doh.  We need to
	initialize the gnome_win_hints before we set any of the hints.
1998-10-26 23:19:37 +00:00
Miguel de Icaza
c7b818533c 1998-10-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
* desktop-icon.c (desktop_icon_realize): Doh.  We need to
	initialize the gnome_win_hints before we set any of the hints.
1998-10-23 18:54:28 +00:00
Miguel de Icaza
772cae09e0 Fixes for desktop icons - Federico 1998-10-23 14:31:02 +00:00
Miguel de Icaza
e7911e2b15 Sync sync - debugging time - Federico
1998-10-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>

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

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

	* Makefile.in: Added desktop-icon.[ch] to the list of sources.
	MC should use Automake, I think.
1998-10-22 00:32:21 +00:00
Miguel de Icaza
7b74fc9f5f Work in progress - Federico 1998-10-21 03:41:56 +00:00