[net.micro.mac] "Captive" Finder suggestion

costin@h-sc1.UUCP (dan costin) (10/01/85)

[]

It would be really nice, I think, if one could set some sort of flag in the
finder that would cause any application run from any disk to terminate by
returning to the finder it left from.

That is, if I'm running the Finder on disk 1, and I call an application on
disk 2, the program should terminate by running the Finder on disk 1, even if
there is a System and a Finder on disk 2.  Ideally, the application should
behave as if there were no System or Finder on disk 2.

This would be very useful right now when you're using a RamDisk, and will
be a necessity, I think, when the Finder will be in ROM.

Does anyone have a way of doing this now, or does someone have to write yet
another version of the Finder?  Apple, are you listening?  Could this be
a feature in the next Finder release?

-dan

lsr@apple.UUCP (Larry Rosenstein) (10/07/85)

In article <582@h-sc1.UUCP> costin@h-sc1.UUCP (dan costin) writes:
>It would be really nice, I think, if one could set some sort of flag in the
>finder that would cause any application run from any disk to terminate by
>returning to the finder it left from.
>

The version of the Finder that comes with the new Hard Disk 20 (it is
supposed to be version 5.0) does this for the hard disk.  Once the
system disk is established on the hard disk, the Finder will not
change it unless you explicitly request it when launching an
application.  

You cannot choose this feature on a disk by disk basis; there is some
criteria that the Finder uses to decide if it should switch the system
disk.  I don't remember what the criteria is, but I am pretty sure
that a 400K Sony doesn't qualify.

I think that someone could write a program that does the right thing
even on small floppies.  I don't have the time to do this, but here
are my ideas on the subject, and maybe someone else will try this out.

Basically, the system disk is switched when the Finder calls InitResources.
The thing to do would be to patch the InitResource trap and make sure
that the default volume at the time of the call is the disk you want
to keep as the system disk.  You would need to store a tiny piece of
code in the system heap that reset the default volume properly and
then branched to the "real" implementation of InitResources.  

There are undoubtedly other issues to deal with, (eg., you would want
a nice interface that installs/uninstalls the patch, a way to
override it when launching an application, etc.), but that is the
general idea.  I don't guarantee that this will actually work, because
I haven't check with a Finder expert to see if there are any problems.





-- 
Larry Rosenstein
Apple Computer

UUCP:  {voder, idi, nsc, ios, mtxinu, dual}!apple!lsr
CSNET: lsr@Apple.CSNET

guido@boring.UUCP (10/07/85)

In article <582@h-sc1.UUCP> costin@h-sc1.UUCP (dan costin) writes:
>That is, if I'm running the Finder on disk 1, and I call an application on
>disk 2, the program should terminate by running the Finder on disk 1, even if
>there is a System and a Finder on disk 2.  Ideally, the application should
>behave as if there were no System or Finder on disk 2.

The Lisa (Macintosh/XL) with hard disk already has this feature.  It works
with all Finders and System files I have seen, so I believe they have put
a different version of Launch and/or ExitToShell in the toolbox (which is
in RAM).

	Guido van Rossum, CWI, Amsterdam (guido@mcvax.UUCP)