> <iconthang$dir>.!Help

When the sirens wail and the lights flash blue ...

Right, this is !IconThang V3.31  Angelos tou Thanatou 1995, Zzzzz....
Permission is granted for unrestricted use/abuse. Permission is granted
for re-distribution by whatever means, so long as no charge is made for
the software (a reasonable charge may be made for handling/media/etc) and
the whole application is supplied unaltered.
No warranty of any kind, either express or implied, applies to this
software. Use at your own risk, indeed with your own RISC.

What is !IconThang?
~~~~~~~~~~~~~~~~~~~
Main features:
	* Automatic changeover of hi/low res. desktop sprites, IF NECESARRY, on
	  mode change. Some nice sprites are supplied. No more 'Ugh! What's that
	  ugly blue blotch with a few white dots on it?!' from now on you'll
	  be able to tell it's a BASIC file...
	* Easy access to your most used apps/commands
	* Easy to configure
	* Displays current memory available
	* and the time
	* and how long the computer's been running

Basically it's a small window that sits at the top-right hand corner of the
desktop and tries its best not to be noticed...

But, should you click on one of the icons in the window you'll be presented
with a menu of files/applications/directories/... pertinent to whatever the
icon represents. (Try it, you'll see)

As supplied, the app. doesn't do much. This is where you set it up for your system...
The window has 14 icons (numbered from left to right). The first of which is
immediately to the right of the !iconthang icon. Each of these icons is
defined in the Config file in the !iconthang directory. Each icon has a
description, sprite and menu associated with it. The format of the file !Config
is:
	Enable automatic iconspriting (either 'Yes' or 'No')
...and then...
	Menutitle
	spritename
	Description
	---menu entries---
	**
for 14 menus.
The format of a menu entry is:
	Filename
or
	*.command
or
	*command .parameters
This may seem a little complex, but the way it works is this:
When building the menus, the program looks at each menu entry. If its first
character is an asterisk it is deemed to be a command, otherwise it is treated
as a filename (filename includes directories/applications/images/...).
Filenames have their paths stored, and only the leafname put into the menu.
When you select the leafname from a menu, the app. rebuilds the complete name
and *Filer_Run's it.
Commands are treated specially. The 'leaf' of the command, ie. the text after
the '.' character is put in the menu, and the text of the command to the left
of the '.' is stored (inc. any spaces). When you select the 'leaf' of the
command, the complete command text is rebuilt by catenating the stored text
with the 'leaf' text. So,
	*.fred
would appear in the menu as 'fred' and the command executed would be *fred
	*backdrop -t .fred
would also appear as fred, but be executed as *backdrop -t fred
Simple, when you get the hang of it, really.

The spritename line tells IconThang what sprite to use for that menu. There
should be a hi & low res. version of this sprite in the Sprites22 & Sprites24
files (respectively) within the !Iconthang directory. The sprites don't have
to be in these files, if they aren't, but exist in the Wimp sprite pool, the
wimp sprite will be used, otherwise the icon will be blank. The Sprites22
& Sprites24 files supplied in the examples directory contain the icons I use,
feel free to copy any of them...

There is no provision for any automatic creation/editting of the Config file,
I'm afraid you have to do it be hand. The only 'sweetners' provided are that
should you be holding Control down of the keyboard when you quit iconthang,
or click on the 'Quit' menu entry with adjust, its directory will be opened,
allowing *very* easy access to the Config file / Sprite files, etc.
Also, selecting 'Edit Config' from the menu will filer_run the congfig file
(which should load it into your favourite text editor) without quitting the
application. When you're happy, use 'Reload Cfg' from the menu to reload
the configuration into iconthang.
Included in the directory 'examples' is an example config file (actually, it's
my config file) so you can have a look at the sort of thing possible. If you
run into problems with the item count overrunning, menu area full, ... , have a
look at the !RunImage; the variables you'll need to alter are at the start of
the code. (Don't alter the number of icons/menus though, or strange things
will happen and you'll probably get all upset about it).
(Handy hint, if you drag a file/application into any decent text editor's
window whilst holding <shift> down, the full path/leaf name will be inserted
at the cursor/caret position.
This makes adding new entries to iconthang so easy that I didn't even
consider a configuration program... Anyways, config files are unlikely to
change often or dramatically)

Okay so far?

The Iconsprite directory inside !IconThang contains two sprite files, 'Sprites'
and 'Sprites22'. When a mode change within the desktop occurs, the screen
resolution is tested and compared with the resolution of the previous mode.
If they differ (eg. changing from mode 12 to mode 20, or 27->39, etc) then the
appropriate file is *iconsprites'd (you'll see the pointer turn into a
spritefile-esque icon to let you know what the delay is). Only mode *changes*
*within* the desktop will cause the iconsprites to change. This is where
iconthang scores over other icon switching solutions, in that they tend to
swap the icons *whenever* a mode change occurs. Frequently, you'll be in
a hi-res. mode, run a game which changes to a low res. mode (basically, most
of them) and then quit back to the desktop. Iconthang won't do any thing,
the other iconswitchers would have swapped the icons *twice* (sometimes
causing unpleasantness because the iconsprites command has altered the
memory allocation and confused the game).
Note, the *wimpmode command will still swap the icons *when* control returns
to the desktop.

If you want to use your own iconsprite files, or move these elsewhere, edit the
!Run file. The path variable Sprites$Path should be the full pathname of the
directory containing the !Sprites & !Sprites22 files. (eg. I use Newlook:Icons.
for my icons [that's where I put the spritefiles supplied here]).

Useful, no?

The 'Force 22' and 'Force 24' menu entries can be used to iconsprites the
relevant hi or low res sprites, irrespective of the current screen mode.

That only leaves the useful info in the title bar. Explanation therof is
beyond the scope of this document :-)

Oh yes, the app. uses different windows in different modes. This is so that
in hi-res. modes the 'title bar' can be half-height. You'll notice that in
these modes there's no 'back' icon - the whole title bar acts as a 'front/back'
icon. [leave the icon 'title' in the Sprites22 file alone].

Notes for using old configuration files:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This version of iconthang has the 'Yes'/'No' iconsprites flag as the first
'real' line in the config file. Should you wish to use your old config file,
simply prepend 'Yes' or 'No' to it, and everything should be okay.


TTFN,
Angelos tou Thanatou
contact:
	n0ae3@newton.ncl.ac.uk
	c/o 23 Baronsway, Whitkirk, Leeds, LS15 7AW, England
