============================== Icon 1.0 ============================== ====================================================================== An icon program designed to create icons, written by Olaf 'Olsen' Barthel of MXM. Copyright, © 1990 by MXM. Shareware, all rights reserved. No guarantee of any kind is made that the program(s) described in this document are 100% reliable. You use this material on your own risk. ============================== Purpose =============================== ====================================================================== The new Workbench 2.0 will display `All Files' contained in a directory if told to do so. Unfortunately, only two types of icons will be displayed for standard files: a tool icon (for those files which have the `executable' protection bit set and a project icon (for those files which have the `executable' bit cleared). This doesn't make it too easy to distinguish between the different file types (text, archive files, iff-pictures, etc). The Amiga isn't a MacIntosh on which each file has its icon built into the file structure. `Icon' is a more or less easy hack which supplies `fake' icons for each file that does not have it's own icon. =============================== Usage ================================ ====================================================================== `Icon' cannot be started from Workbench and should be called from the s:user-startup script (echo >>s:user-startup Icon). 41 different icons (more or less pretty) are supplied and should be copied to ENVARC:sys (copy icons envarc:sys). The s:startup-sequence script will copy these files to ENV:sys where `Icon' expects them to reside. If your hard disk does not have enough space left for all these icons copy only those icons you will need, `Icon' is smart enough to notice which icons are available and which are not. The default icons may be edited and changed in any way (you may want to set the default tools for example) but take care that you _never_ perform a `Snapshot' on them. Should this happen, fake icons created by `Icon' will appear to be `nailed' to a specific location. To avoid this effect, select the approriate icon in the ENVARC:sys drawer and `UnSnapshot' it. ============================ How it works ============================ ====================================================================== `Icon' patches a couple of system functions to make Workbench believe that there is an icon file for each file which does not have an icon. I do not expect the way this is accomplished to work under any future Workbench release, but as far as I can see it works fine under Kickstart 37.74. The source code of this program is included to make it easier to adapt it to future operating system releases. `Icon' determines the type of a file by taking a look at the first 400 bytes. A few magic numbers are checked and, if this fails, `Icon' evaluates how many of these 400 bytes are actually ASCII characters. 75% are the minimum for a plain ASCII text file. While this method is not perfect it has scored a lot of hits. If you come across a better method which does not involve too much time (reading 400 bytes forces only a single data block to be read) please tell me. Since system functions once patched cannot be safely restored I suggest leaving `Icon' active once it has been activated. If you're bold and daring, try calling `Icon' a second time to remove it. =============================== Author =============================== ====================================================================== This program was written by Olaf Barthel of MXM. All files have been placed in the public domain. You may freely distribute this material, even a small copy fee is okay but everything which looks like commercial distribution is forbidden. Still you may use this material for software development without giving credit to the original author. Send new program revisions, comments, bug reports, donations, unmarried sisters, non-poisoned candy, home-grown palm trees, horoscopes, promising capital investments, etc. to: Olaf Barthel, MXM Brabeckstrasse 35 D-3000 Hannover 71 Federal Republic of Germany ============ Revision history (most recent change first) ============= ====================================================================== V1.0 First public release.