TSIcon is freely distributable.

TSIcon provides a simple way of getting AppIcons and animated AppWindows onto the 
workbench.

Currently Tool, Project and Drawer Icons are catered for.




Tool Icons
----------

Once a tool Icon is on the Workbench then dropping a file on the Icon should run the tool with 
the file as a parameter.

For example if MEmacs is opened by TSIcon then dropping a text file on the Icon will execute 
the command Run HardDisk:Tools/Memacs >NIL: <NIL: "filename". This should load 
the file.

Double clicking the AppIcon removes it.

Dropping multiple files on a tool will run that tool multiple times.




Project Icons
-------------

Once a Project Icon is on the Workbench then dropping a file on it executes commands 
specified in the original Icons tool types. The only relevant tool type is :-

COMMANDS=command     This may be specified multiple times.  Each line will be executed 
                     consecutively.

Dropping multiple files on a project will execute the sequence of commands for each dropped 
file.

Text substitution is used. $F or $f is replaced by the file part of the filename, $D or $d is 
replaced by the directory part, and $H or $h is replaced by the fullname.

e.g. If the commands are:-

COMMANDS=Copy "$H" "ram:$f"
COMMANDS=delete "$h"

then if the files df0:test and df1:pest are dropped on the project then the following 
commands are executed:-

copy "df0:test" "ram:test"
delete "df0:test"
copy "df1:pest" "ram:pest"
delete "df1:pest"

Note the use of " to cater for spaces in file names.

Double clicking a project removes it.

One use could be a printer icon. Just drop files on a printer Icon with the COMMANDS=run 
copy "$h" to prt: will print the files.

Note run should generally be used since TSIcon will only run one program at once.




Drawer Icons
------------

These are very similar to Project Icons. The drawer should contain Icons named Icon.01 to 
Icon.nn (where nn is the number of Icons). These Icons will be displayed in an AppWindow 
the correct size for the first Icon, one at a time. When disabled the animation is stopped. The 
COMMANDS= tool types should be on Icon.01 as for project Icons. Other tool types are:-

On Icon.01

LEFT=number   Left edge of window
TOP=number    Top edge of window

On all Icon.nn

WAIT=number   Number of 1/10s to wait after displaying icon.

Double clicking in the window removes it.




CLI Usage
---------

To initially run TSIcon the following parameters can be used :-

TSIcon Show/s,Disable/s,Files/M

Show     Open the control window
Disable  Start but disable all Icons
Files    A list of Tools/Projects to initially load

TSIcon by itself will run it with no control window, enabled, and no Icons. It will not detach 
from the CLI. If run then it will allow the CLI window to be closed.

TSIcon ? produces the usage help line.

Once TSIcon is running the following parameters can be used :-

TSIcon Quit/s, Add/s, Remove/s, Show/s, Hide/s, Enable/s, Disable/s, Files/m

Quit        Close any Icons and quit
Add         Files gives a list of icons to add
Remove      Files gives a list of icons to remove
Show        Open the control window
Hide        Close the control window
Enable      Enable all Icons
Disable     Disable all Icons
Files       A list of files to process. If Add alone is specified then add, If Remove then 
            remove, otherwise add if not present remove if present.

TSIcon or TSIcon ? produces the usage help line.

Version TSIcon and Version TSIcon full produce relevant version information.




Workbench Usage
---------------

TSIcon may be started by double clicking by itself. The tool types available are :-

DONOTWAIT        Required to run from the WBStartup Drawer
CX_POPUP=NO      If this is not specified then the Control window opens
FILE=????        Multiple lines of this format can be used to specified which Icons to load.
CX_PRIORITY=n    Exchange priority. Defaults to zero.
CX_POPKEY=??     Hotkey to show control window on default public screen. Defaults 
                 to left alt a.
CX_WPOPKEY=??    Hotkey to open control window on workbench. Defaults to right alt a.


Alternatively for Project Icons, TSIcon can be specified as the default tool, clicking on the 
project will start TSIcon.

The third method is to click on TSIcon, Shift click the Icons to load, and the Shift Double 
Clicking the last.

Once TSIcon is running, double clicking TSIcon by itself opens the Control Window.

Running it by either of the other two methods removes Icons which are already present, 
adding those that are not.




Tools Menu
----------

The menu option Add TSIcon is added to the Workbench Tools menu. Clicking on an Icon or 
Icons then selecting this option adds/removes Icons from the workbench as appropriate.




Exchange
--------

The Commodities Exchange program can be used to Kill, Hide, Show, Disable and 
Enable TSIcon.




AREXX
-----

The port name is TSICON. The following commands (case not significant) are available. On 
error a result of 10 is returned.

Show           Open the control window on the default public screen.
Wshow          Open the control window on the workbench.
Hide           Close the control window.
Add file       Add the Icon.
Remove file    Remove the Icon.
Quit           Quit the program.
Enable         Enable the program.
Disable        Disable the program.
List filename  List the full name of all Icons to the named file.
?????          Any other command is taken as the name of an Icon to add (if not 
               already present) or remove.




Control Window
--------------

The Control window may be opened by using TSIcon Show in a CLI,  Double clicking TSIcon 
by itself, using Show from Exchange, or using the Arexx Show or Wshow commands.

The hot keys (default left alt a and right alt a) can be used to open the control 
window on the default public screen and the workbench respectively.  They are only active if 
TSIcon is not started from the CLI.




Window
------

The whole window (even when shrunk to just a title) is an AppWindow. Dropping an Icon 
(either a normal Icon or an AppIcon) anywhere in the window adds it to the open list if it is 
not already there, removes it if it is. 

When a TSIcon program is running, all gadgets are disabled, all menus are ghosted, keyboard 
equivalents are also ignored.  The control window has a wait pointer.  However all other 
commands (from the CLI, Tools Menu, Running another copy of TSIcon [either directly or as a 
default tool], dropping files on Icons, double clicking Icons) will be remembered when the 
program finishes.




Gadgets
-------

The Control Window has the following gadgets.

Close             This closes the window but leaves the program running.
Zoom              This reduces the window to just a title bar/zooms back to fullsize.
Front/Back        Standard front/back gadget.
Hide              This acts the same as the close window gadget.
Quit              Closes all Icons and quits.
Enable            Enables all Icons.
Disable           Disables all Icons. One of Enable or Disable will always be ghosted.
About...          Open a requester giving Version information.
Available Icons   A read only list of Open Icons, the current selection being shown 
                  below.
Add...            Opens an ASL file requester to select a file. The file selected should 
                  be without the .info. To add a drawer just select the drawer and 
                  leave the file name blank.
Delete            Removes the Icon shown in the list. Ghosted if no current Icon is shown.




Keyboard Short-cuts
-------------------

Keyboard short-cuts are available for all gadgets, the relevant key is underlined on the 
gadget:-

H,h,Esc       Hide
Q,q           Quit
E,e           Enable
S,s           Disable
B,b,Help      About
A,a           Add
D,d           Delete
i,Down arrow  Scroll down through list, looping to start at end
I,Up arrow    Scroll up through list, looping to end at start




Menus
-----

The following menus are available :-

Project
  Open...    RAmiga O   Same as Add gadget.
  Close                 Same as Delete gadget - ghosted if no Icon is displayed as 
                        current in the list window.
  About...              Same as About gadget.
  Hide                  Same as Hide gadget.
  Quit       RAmiga Q   Same as Quit gadget.
Settings
  Enabled?              This is a toggled check menu, it replaces the Disable and Enable gadgets.




Things to Note
--------------

Icon names are unique just on the final part of the file name. Case is ignored.

i.e. TSIcon df0:test df1:test df0:Pest df0:pest will result in no Icons, since 
df0:Pest will remove df0:pest, and df1:test will remove df0:test.




Known Errors
------------

Huge workbench fonts are not checked against. The menus should be OK, but the wording 
may fall off the edge of the gadgets. Fonts up to 48 point should be OK.

If a program running from TSIcon (not using Run) crashes then TSIcon is suspended.




Future Enhancements (if I ever get around to it)
------------------------------------------------

1)	Some action to be performed on Disk and Trash Icons.




Contacting Me
-------------

By EMail as mpaddock@cix.compulink.co.uk.
