                             FireStarter
                             ===========

                              Icon hider

Some Win32 (Windows 95/98 or NT4) programs I've used seem to occupy
far more of the task bar than they really warrant - the worst offender
was Hummingbird's eXceed X server. While it was a great bit of
software, it (at least the version I used) placed one icon there for
each open window and one extra one, that I virtually never touched,
for the server itself. I wrote this little utility to help give me
back some of the task bar: you give it a command line and it "hides"
all the icons associated with that program in one small entry in the
system tray. A click on this icon brings back all those task bar
icons, and another click hides tham again.

If you want to use it, download and unzip firebin.zip to any old
directory (such as "C:\Program Files") - that's the installation
complete! (There is only the single executable, and this text file.)
and replace the shortcut (or create one) for the command you want to
execute with:

   <yourpath>\FireStarter.exe "<yourcommand>" "arg1" "arg2" ...

(The quotation marks are really only necessary if there are spaces in
the command). For example, in my eXceed case, I merely had

   "C:\Program Files\FireStarter.exe" "C:\Program Files\exceed\exceed.exe"

Note that this results in the FireStarter icon appearing as the shortcut:
you may wish to change this (back) to your original application.

When you fire up your program from this shortcut, you get an extra
icon in the system tray, hopefully with a copy of the icon from the
original program. Clicking on this toggles the main application
windows and icons from "hidden" to visible. And that's all it does.

I'm afraid, though, that it doesn't work with all applications - it'll
be a case of suck it and see. The problem is that some applications have
extra, normally hidden, top level windows and these are erroneously
made visible when the FireStarter icon is toggled - I have a number of
checks for these spurius windows (such as their being at least 2x2 pixels)
but I'm sure that some will fall through the cracks!

As suggested earlier, it runs on Win32 - I've tested it on 95 (OSR2.5)
and NT 4.0 (SP4 and 5) but it should work on Windows 98 too. It does
use some shell extension functions, so you may need at least IE4.01
installed (or then again you might not...).

If you're interested in the source, help yourself (but a note and a
credit would be nice). There are some comments in the code explaining
how it works, but basically here's what happens: FireStarter spawns
off the original command line as a sub-process, so that application
behaves as normal. In addition, it monitors clicks of the system tray
icon and toggles the display of all the top level windows belonging to
the sub-process/thread. There is one extra task in there, to check for
the original application being closed, which FireStarter uses as its
signal to exit too. The only tricky bit in there is determining which
window(s) belong to the application: I just enumerate all the Windows
and grab those that have the same process identifier.

Status and notes
================

This is freeware, and freely distributable - do with it whatever you like.

If you need to contact me, visit the BeesKnees software page at
http://www.beesknees.freeserve.co.uk/software (where you'll find any
updates and the source) - this address is also in the program's
version information.

History
=======

1.0.0.3      30th August 1999
   First release

1.0.1.0      3rd September 1999
   Extra size based checks for "hidden" window

1.0.2.0      15th October 1999
   Change startup state
   Trigger on mouse down instead of up
   Bring reshown window to the front

1.0.3.0      27th October 1999
   Reregister tray icon on task bar startup