1
1
mc/vfs
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
..
extfs Just forget to add.... Handling of .ha files. 1999-03-23 19:55:36 +00:00
samba * samba/configure.in: Require Autoconf 2.52 to make Debian 1997-01-01 01:23:31 +00:00
.cvsignore Merge changes from GNOME_STABLE into HEAD 1998-12-29 18:29:56 +00:00
callback.h Fixed number of callbacks, added prototype of function to set 1998-06-08 13:00:29 +00:00
ChangeLog These are a bunch of changes to fix CORBA and session management. They 1999-03-30 06:09:56 +00:00
container.c Actually commit all my changers. Fear :> 1999-01-20 22:01:11 +00:00
container.h Initial revision 1998-02-27 04:54:42 +00:00
COPYING.LGPL Changed license to LGPL, added passing of vfs * (acting as self), so 1998-09-27 19:27:58 +00:00
direntry.c OS/2 portability changes by Ilya 1999-02-13 21:39:18 +00:00
extfs.c These are a bunch of changes to fix CORBA and session management. They 1999-03-30 06:09:56 +00:00
extfs.h static's added, do_reget hack removed 1998-10-12 22:07:53 +00:00
fish.c Glibing.... 1999-01-27 00:49:11 +00:00
fish.h Big merge: fish now uses proper caching, small fixes almost 1998-11-21 19:36:01 +00:00
ftpfs.c These are a bunch of changes to fix CORBA and session management. They 1999-03-30 06:09:56 +00:00
ftpfs.h Rerun configure when you have problems with missing slang.h. 1999-01-31 20:28:13 +00:00
local.c Actually commit all my changers. Fear :> 1999-01-20 22:01:11 +00:00
local.h *** empty log message *** 1998-12-15 22:30:55 +00:00
Make-mc.in s/$(libdir)\/extfs/$(extfsdir)/ 1999-03-21 23:52:33 +00:00
Makefile.am 1999-01-25 Federico Mena Quintero <federico@nuclecu.unam.mx> 1999-01-25 16:50:38 +00:00
Makefile.in New file systems. 1999-01-19 23:34:26 +00:00
mcfs.c mcserv and mcfs exchange st_dev instead of st_rdev. This makes stats on 1999-02-16 10:16:59 +00:00
mcfs.h static's added, do_reget hack removed 1998-10-12 22:07:53 +00:00
mcserv.c These are a bunch of changes to fix CORBA and session management. They 1999-03-30 06:09:56 +00:00
names.c static's added, do_reget hack removed 1998-10-12 22:07:53 +00:00
names.h Initial revision 1998-02-27 04:54:42 +00:00
README Ran file through ispell, this is result :-) 1999-02-07 17:44:52 +00:00
README.fish More makefile fixes -mig 1998-09-25 20:00:42 +00:00
sfs.c Actually commit all my changers. Fear :> 1999-01-20 22:01:11 +00:00
shared_ftp_fish.c Glibing.... 1999-01-27 00:49:11 +00:00
shared_tar_ext.c Actually commit all my changers. Fear :> 1999-01-20 22:01:11 +00:00
tar.c Sat Feb 6 23:44:28 1999 Norbert Warmuth <nwarmuth@privat.circular.de> 1999-02-06 23:52:11 +00:00
tar.h BIG changes: tar now uses brand-new direntry.c. Hope it does not hurt 1998-10-23 08:26:25 +00:00
tcputil.c tcputil.c: One more bug with '\0' -> NULL. 1999-02-01 01:02:44 +00:00
tcputil.h Initial revision 1998-02-27 04:54:42 +00:00
undelfs.c Glibing.... 1999-01-27 00:49:11 +00:00
undelfs.h Initial revision 1998-02-27 04:54:42 +00:00
util-alone.c Check for non-NULL 1999-01-29 03:23:03 +00:00
util-alone.h Files I had forgotten to add from Pavel's VFS split. 1998-05-26 05:08:10 +00:00
utilvfs.c These are a bunch of changes to fix CORBA and session management. They 1999-03-30 06:09:56 +00:00
utilvfs.h Glibing.... 1999-01-27 00:49:11 +00:00
vfs.c These are a bunch of changes to fix CORBA and session management. They 1999-03-30 06:09:56 +00:00
vfs.h Sun Mar 28 23:39:48 1999 Norbert Warmuth <nwarmuth@privat.circular.de> 1999-03-29 05:06:50 +00:00
xdirentry.h Actually commit all my changers. Fear :> 1999-01-20 22:01:11 +00:00

Hi!

I'm midnight commander's vfs layer. Before you start hacking me,
please read this file. I'm integral part of midnight commander, but I
try to go out and live my life myself as a shared library, too. That
means that I should try to use as little functions from midnight as
possible (so I'm tiny, nice and people like me), that I should not
pollute name space by unnecessary symbols (so I do not crash fellow
programs) and that I should have a clean interface between myself and
midnight.

Because I'm rather close to midnight, try to:

* Keep updating ChangeLog file.

* Keep the indentation as the rest of the code. Following could help
you with your friend emacs:

(defun mc-c-mode ()
	"C mode with adjusted defaults for use with the Midnight commander."
	(interactive)
	(c-mode)
	(c-set-style "K&R")
	(setq	c-indent-level 4
		c-continued-statement-offset 4
		c-brace-offset 0
		c-argdecl-indent 4
		c-label-offset -4
		c-brace-imaginary-offset 0
		c-continued-brace-offset 0
		c-tab-always-indent nil
		c-basic-offset 4
		tab-width 8
		comment-column 60))

(setq auto-mode-alist (cons '(".*/mc/.*\\.[ch]$" . mc-c-mode)
                       auto-mode-alist))

And because I'm trying to live life on my own as libvfs.so, try to:

* Make sure all exported symbols are defined in vfs.h and begin with
'vfs_'.

* Do not make any references from midnight into modules like tar. It
would probably pollute name space and midnight would depend on concrete
configuration of libvfs. mc_setctl() and mc_ctl() are your
friends. (And mine too :-).

							 Pavel Machek
							 pavel@ucw.cz

PS: If you'd like to use my features in whole operating system, you
might want to link me to rpc.nfsd. On
http://atrey.karlin.mff.cuni.cz/~pavel/podfuk/podfuk.html you'll find
how to do it.

PPS: I have a friend, shared library called avfs, which is LD_PRELOAD
capable. You can reach her at http://www.inf.bme.hu/~mszeredi/avfs.