IconMan, der Icon-Manager Version 0.63                      19.03.1994


"Der Weltraum - unendliche Weiten ..."

h, nein, falscher Film.  Manchmal jedoch kann man schon den berblick
verlieren.  Wenn  schon  nicht  im Weltraum,  so doch bei der Flut der
vielen Icons.  Der IconManager (kurz IconMan) soll hier Abhilfe schaf-
fen:  Dieses Programm verwaltet Icons, erkennt Doubletten automatisch,
speichert die Icons komprimiert (also platzsparend) und erlaubt natr-
lich auch wieder den Export im RSC-Format.

Der Haken dabei:  Das alles funktioniert z.Z. nur fr Monochrom-Icons,
die 32x32 Pixel gro sind.  Eine Untersttzung von Farbicons und ande-
ren  Gren ist zwar beabsichtigt,  deren Realisierung steht aber noch
in den Sternen (womit wir wieder beim Thema wren ...).


"Wozu brauchen die Spocks Gehirn?"

Brauchen Sie ja gar nicht,  die Bedienung ist eigentlich ganz einfach.
Der  IconMan versucht beim Start eine Datei namens ICONLIB.IML zu fin-
den und einzulesen.  Dabei handelt es sich um die Library, in der alle
Icons  gesammelt  werden.  Wird die Datei nicht gefunden,  so sind zu-
nchst  einmal  einige Menpunkte gesperrt.  Man kann jetzt  (mit oder
ohne Lib)  RSC-Files  einlesen.  Der  IconMan  klaut  sich daraus alle
Icons,  die das Format 32x32 Pixel haben, vergleicht sie mit den Icons
in  einer  evtl. vorhandenen Library und zeigt dann die Icons an,  die
neu sind. Das eigentliche RSC-File wird dabei (und auch bei allen fol-
genden Aktionen)  nicht  verndert.  Man  kann  nun einzelne oder alle
Icons markieren und sie in die Library bernehmen.

Um die Icons aus der Library wieder in ein RSC-File zu bekommen,  gibt
es den Menpunkt  "in RSC exportieren".  Exportiert werden alle selek-
tierten Icons (oder alle, wenn keines angewhlt ist).  Unter dem Men-
punkt  "Optionen" kann die Gre fr diese Export-RSCs vorgegeben wer-
den:  32 oder 64 KByte pro Datei oder XRSC,  d.h. alle Icons werden in
eine  XRSC-Datei  geschrieben.  Die  Export-RSCs  bekommen  die  Namen
EXPORT00.RSC, EXPORT01.RSC, usw.

Mit dem Menpunkt  "Text suchen" kann man nach den Icon-Texten suchen.
Dazu kann man sich der blichen Quantoren * und ? bedienen,  ansonsten
wird  nach exakt dem eingegebenen Text gesucht.  Zustzlich steht noch
der Schalter "GROSS=klein" zur Verfgung. Ist dieser Punkt angekreuzt,
dann wird bei der Suche Gro- und Kleinschreibung nicht unterschieden.
Allerdings  werden  dann  auch  die  Quantoren nicht mehr ausgewertet!
Stattdessen  wird  der  eingegebene Text immer als Teilstring gesucht.
Die  gefundenen  Icons  werden  selektiert  (bereits selektierte Icons
bleiben unverndert).  Man bekommt eine Meldung, wieviele Icons gefun-
den wurden und das Fenster wird (sofern mglich) auf das erste neu ge-
fundene Icon plaziert.

Ein  Wort  noch zum sogenannten  "IconPutz":  Beim Einlesen neuer RSC-
Files werden die Icons nur auf 100%ige Gleichheit berprft. Gelegent-
lich  finden sich aber Icons,  die um einige Pixel in vertikaler Rich-
tung verschoben sind.  Solche Flle findet der IconPutz. Da dies - bei
einer  greren  Menge von Icons  -  lnger dauern kann,  wurde dieser
Punkt gesondert aufgenommen.

Als Option gibt es noch den IconPutz mit hnlichkeitssuche. Dabei wer-
den  die Anzahl unterschiedlicher Pixel zweier Icons gezhlt.  Mit dem
Parameter  "Empfindlichkeit"  unter dem Menpunkt  "Optionen" kann die
Anzahl der Pixel, bis zu denen zwei Icons als hnlich angesehen werden
sollen,  eingestellt werden.  Zwei hnliche Icons werden dann in einem
Dialog  dargestellt  und  man kann auswhlen,  welches gelscht werden
soll  (oder:  keines von beiden;  bei  "Abbruch" wird nur die hnlich-
keitssuche, nicht aber der IconPutz selbst, abgebrochen).

Die  Icon-Library  kann  wahlweise  gepackt oder ungepackt gespeichert
werden. Ungepacktes Speichern ist zwar schneller, die gepackte Lib hat
aber erfahrungsgem nur noch ca. 40% der Lnge der ungepackten (dafr
dauert das Packen aber auch "etwas" lnger; das Entpacken geht dagegen
recht flott).

Anmerkung:  Fr  das  Packen  werden  Routinen  von  Haruhiko Okumura,
Haruyasu Yoshizaki  und  Thomas Quester aus den Quelltexten des LHarc
2.01 verwendet, die Entpackroutine ist eine Eigenentwicklung.

Durch einen Doppelklick auf ein Icon wird dieses auf dem Clipboard ab-
gelegt. Es kann dann mit einem Iconeditor bearbeitet und wieder in den
IconMan bernommen werden  (dies geht z.Z. aber nur durch Einlesen als
RSC-Datei). Auf dem Clipboard wird das Icon in folgenden Formaten ab-
gelegt:

   SCRAP.ICO   IconEdi-Format, wird auch von Interface gelesen
   SCRAP.ICP   Phnix-Format (eigentlich auch *.ICO)
   SCRAP.ICN   Quelltext der Icondaten (ohne Maske) fr DRI-RCS
   SCRAP.IMG   Icondaten (ohne Maske) als XIMG

Der Rest des Programms sollte sich eigentlich von selbst erklren. Ich
habe  mich um aussagekrftige Menpunkte bemht und alle  "kritischen"
Stellen mit Sicherheitsabfragen versehen. Grere Katastrophen sollten
sich  damit  verhindern lassen.  Trotzdem kann ich natrlich keinerlei
Garantie  fr  irgendwelche Probleme mit und keine Haftung fr Schden
durch den IconMan bernehmen.


Hier noch ein paar Tips fr den fortgeschrittenen Anwender:

- Bei Start wird die IconLib wie folgt gesucht:
  * zuerst  wird berprft,  ob es einen Environmentvariable  $ICONLIB
    gibt und ob diese den Namen einer existierenden Datei enthlt. 
    Wenn ja, wird diese als IconLib geladen.
  * Andernfalls  wird  als  nchstes im aktuellen Verzeichnis und dann
    entlang  der Pfade aus der Environmentvariablen $PATH nach der Lib
    gesucht.
  * Schlgt  auch das fehl,  wird der Anwender per Fileselector aufge-
    fordert,  eine IconLib anzugeben.  Dies kann man aber auch einfach
    mit "Abbruch" zurckweisen.
- Die  Setting-Datei  wird immer aus dem Verzeichnis geladen,  aus dem
  auch die IconLib geladen wird.
- Der IconMan versteht die Meldung VA_START. Wenn ihm darber oder di-
  rekt beim Start eine RSC-Datei bergeben wird, dann wird diese gela-
  den - gerade so, wie ber den entsprechenden Menpunkt.


"Man hat ihm das Gehirn entfernt!"

Der IconMan ist ein PD-Programm. Dies wird sich vielleicht eines Tages
einmal ndern, aber nicht, solange die Versionsnummer noch kleiner als
1.00 ist. Sollten Sie trotzdem der Meinung sein, da der IconMan schon
jetzt ein paar Mark wert ist, dann bedienen Sie sich bitte der folgen-
den Bankverbindung:

     Kontonr. 8042947
     Kreissparkasse Gro-Gerau
     BLZ 50852553

Wie schon angedeutet, betrachte ich den IconMan noch nicht als fertig.
Dazu  ist  die  Anwendbarkeit einfach noch zu beschrnkt.  Die jetzige
Version  des  IconMan  ist  ursprnglich  innerhalb von drei Tagen als
"Hack" entstanden  -  und das merkt man der Programmstruktur  (intern)
auch an.  Eine Erweiterung auf andere Icon-Gren und -Formate  (Farb-
icons)  wrde  zwangslufig bedeuten,  da grere Teile des Programms
schlicht  weggeworfen  und  neu geschrieben werden mten  -  und dazu
fehlt es mir einfach an der Zeit.  Rechnen Sie bitte nicht damit, da
in nchster Zeit eine entsprechende IconMan-Version erscheint.

Sollte  sich jemand berufen fhlen,  diese Aufgabe ganz oder teilweise
auf  sich zu nehmen,  so mge er  (oder sie)  sich doch mal mit mir in
Verbindung setzen.

Meine Adresse (auch fr andere Anfragen zu gebrauchen):

     Dirk Haun
     Europastr. 8
     D-64569 Nauheim
     Germany

e-mail:

     Dirk Haun @ WI2 (im Mausnetz)


Changes seit 0.62:

- Fehlermeldung "Falscher AES-Funktionsaufruf" unter SingleTOS
  beseitigt
- Untersttzt Iconify. Unter MultiTOS 1.08 wird dazu ein neues
  Fenstergadget verwendet (sog. "Smaller"), bei installiertem ICFS
  wird dieser verwendet. Notfalls geht es aber auch ohne.
 
  Und wie benutzt man das jetzt?

  Ausgelst wird das Ikonizieren,  indem man auf das Schliefeld eines
  Fensters klickt und dabei eine der Umschalttasten gedrckt hlt.

    [Alternate]  - ein Fenster verkleinern
    [Control]    - alle Fenster in ein einziges verkleinern
    [Shift]      - alle Fenster einzeln verkleinern
  