     Trash
     A unified trashcan for ROX
     Peter A. Geer <geerp@cs.sunyit.edu>

Trash is a unified trash can application for ROX.  It provides a convenient way
to manage your trash can using drag-and-drop and graphical dialogs.  It was 
originally designed to work with libtrash, but has been expanded to provide a 
conventional "move-to-directory" type trash can as well.

USAGE
-----
Trash is very simple to use.  Clicking on the AppDir will open up your trash can
directory.  Dragging files or directories onto the trash icon will send them to 
the trash.  If you are using libtrash, then Trash will simply remove the files 
and let libtrash itself take care of moving them (that's what it's for).  If you
are not using libtrash, then Trash will move the files and directories into your
trash directory.  If you want to permanently delete a file in your trash 
directory, then just drag it onto the AppDir and Trash will "do the right
thing" and delete it from the trash (handy if you have trash protection set in 
libtrash).  Right-clicking on the trash AppDir will give you several options,
including emptying the trash, checking the trash directory size, changing to or
from incinerator mode (described below), turning secure deletion on or off 
(again, see below) and setting options. 

REQUIREMENTS
------------
Trash is written entirely in shell (BASH, to be precise), but relies on external
applications for the graphical display.  For user input, Trash uses PyMessage 
(included in the AppDir), which requires PyGTK and ROX-Lib2.  If you can't run 
PyMessage, most features of Trash will still work, as it will revert to 
gxmessage, or, if all else fails, xmessage, which is universally available on 
systems running X11.  The only feature that requires PyMessage is the options 
dialog, as it utilizes input capabilities (such as checkboxes) that are not 
available in the other two programs.

OPTIONS
-------
The options available for Trash are as follows:

* Trash directory name - the directory relative to your home directory where the
trash can resides.  This should be set to the same directory libtrash uses for
its trash can (or whatever directory you like if you don't use libtrash).  The
default is "Trash".  This setting is overridden by the TRASH_CAN environment 
variable if it is set.
NOTE: If you have the trash can set to the same path as the Trash AppDir, 
Trash will not work correctly.  This can easily happen if you extract the Trash
archive into your home directory, as the default trash directory is $HOME/Trash.
In this situation, you will either have to change your trash directory (by 
editing your personal libtrash.conf if you use libtrash) or rename the Trash 
AppDir.

* Command for secure deletion - the command used to delete regular files when 
secure file deletion is set (see below).  The default is "shred -u -z -f".
Note that shred ships with GNU coreutils, so your probably alrady have it.

* Incinerator mode - sets whether or not Trash is in incinerator mode (see 
below).

* Prompt for incinerate - sets whether or not to prompt for deletion when in 
incinerator mode.

* Change icon when trash is full - toggles the icon between a full and empty 
trash can depending on the contents of your trash directory.  The Trash AppDir
must be writable for this to work.  I recommend installing in $HOME/Apps so that
this is possible.  
Note that the icon is only changed when you delete something or empty the trash,
so it is not guaranteed to always reflect the trash contents.

* Secure file deletion - wipe files when deleting them (see below).

* Empty trash securely - use secure deletion when emptying the trash.  This is a
seperate option because securely deleting a large number of files can take a lot
of time.

INCINERATOR MODE
----------------
There two modes in Trash: the "normal" trash can, and the incinerator.  You can 
enter incinerator mode through the options dialog or by using the right-click 
AppMenu.  The incinerator is really just a fancy way of deleting files 
permanently rather than putting them in the trash.  If the AppDir is writable
(I recommend installing in $HOME/Apps so that this is possible), the icon will 
change to garbage burning in a trash can when using the incinerator.

SECURE DELETION
---------------
Secure deletion makes Trash use a file-wiping program to delete regular files
rather than the normal /bin/rm.  Normal deletion simply marks the disk space 
used by a file as available, leaving the data on the disk until it is 
overwritten.  A file-wiping program like GNU shred will overwrite the file with
random data before deleting it, making it impossible to retrieve the file later.

Secure deletion can be turned on and off from the options dialog or from the 
right-click AppMenu.  When enabled, it causes Trash to use the secure deletion
command when deleting individual items from the trash or when deleting items
in incinerator mode.  

NOTE: Unless you are one of the Truly Paranoid, there is no need to keep secure
deletion enabled all the time.  It is provided mainly because it goes very well
with the incinerator metaphor.  Also keep in mind that, although it normally 
works well enough, file wiping cannot guarantee that your data is irrecoverable.
The only way to do that is to break your disk into a thousand pieces and melt
it in a furnace.  The shortcomings of file wiping will no doubt be covered in 
the documentation of your wiping program.

SHELL SETUP (OPTIONAL)
----------------------
Included with this AppDir is a small shell script called libtrash.sh that will 
set up libtrash and set up a few nice environment variables and aliases when 
you log in.  This script can be copied into /etc/profile.d where, on most 
systems, it will be automatically sourced by the default profile script.  You 
can also add it to your profile manually by inserting the line
    source $HOME/libtrash.sh
into your $HOME/.bash_profile.  Or, if you prefer, you can simply copy the 
contents of the script into $HOME/.bash_profile.  Note that this script assumes 
that your personal libtrash configuration file is $HOME/.libtrash.conf, which 
may need to be changed.

CREDITS
-------
The idea and the icons for Trash were stolen from Diego Zamboni's Trashcan 
application.  Everything else is mine.

CONDITIONS
----------
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
