From: jokim@jarthur.claremont.edu (John H. Kim)
Subject: Re: Shredder vs. Trash (was: Why OS/2 **WILL** fail)
Organization: Harvey Mudd College, Claremont, CA 91711
Distribution: usa
Date: Mon, 5 Oct 1992 04:53:10 GMT

TW.FY4@isumvs.iastate.edu (Timothy I Miller) writes:

>     Now, I'm a little confused on this whole deleting things from
>the desktop thing.  If I have a program on the desktop, and drag it
>to the shredder, is it being deleted from the disk, or is it just
>being deleted from the desktop (like windows does)?

This is my major gripe with the WPS right now.  It clings to the
program objects introduced in Windows.  I think objects are great.
But this is one place where they don't belong precisely because
of the confusion Timothy mentions.

How it works right now is that the objects in the drives object are
the actual files.  If you drag one of them onto the shredder, you
delete the real file.  Most of the stuff you see on the desktop (i.e.
"OS/2 Programs" folder, "Productivity" folder, etc.) are program
objects a la Windows Program manager.  All they are are icons that
start up the program.  If you drag one of them onto the shredder,
you only delete the program object, while the actual file still remains
on your disk.

How it SHOULD work (IMHO) is that no program objects are allowed.
The only representations of the files on disk should be the file objects
themselves (i.e. the stuff in the drives object).  If you need the
equivalent of a program object on the desktop, instead of making a
program object, you should be able to just make a shadow of the actual
file object.  This shadow should be just as configurable as a program
object (it isn't in GA - try renaming a shadow of an object in the
drives object and look at the object's name) without affecting the
actual object.  This way, if you drag a shadow to the shredder, you
know you're just shredding a shadow.  And if you drag an actual file/
program to the shredder, you know you're deleting the real file.  Simple.

>     Also, if I take a program object, and put it into a folder (like
>the 'recycle' folder (very clever idea, BTW)), is it physically
>being moved from one subdirectory to another, or is it staying in
>the same place on the disk, but looks different from the desktop
>(like windows).

The stuff in the drives object is real.  You drag a file (say, the OS/2
FAQ) from the drives object to the desktop, you have actually moved the
OS/2 FAQ from the directory it was in into the "OS!2 2.0 Desktop" directory.
When you make a program object, the object physically exists in the
"OS!2 2.0 Desktop" directory structure (I believe as an EA), but has a
soft link to the actual program, which is usually in another directory
and isn't moved if the program object is moved.

If all you deal with is program objects, the "recycle folder" is great
because when you move an object into the folder, OS/2 only has to move
an extended attribute around.  If you deal with real files from the drives
object and drag one of them into the "recycle folder", it really moves
the file into the recycle folder (D:\OS!2 2.0 Desktop\Recycle in my case).
This can be a problem if the file was on a different drive because OS/2
has to copy the file which can take some time.  The "not so nice but it
works" solution is instead of dragging a folder off the templates and
naming it "Recycle" (in effect adding a new directory named "Recycle"
to the "OS!2 2.0 Desktop" directory), make a directory named "Recycle"
in your data drive.  Then open the drives object and drag a shadow of
that directory to your desktop.  Now when you drag stuff to the "recycle"
folder, it doesn't have to be moved between drives for the most part.
Unless of course you have more than one data drive...

The length of this explanation should be a tip-off that something is
wrong with the way the WPS currently implements program and real objects.
-- 
John H. Kim                 | (This space to be filled when I
jokim@jarthur.claremont.edu | think of something very clever 
uunet!jarthur!jokim         | to use as a disclaimer)
Newsgroups: comp.os.os2.apps