======================================================================
Chatwin
======================================================================
     Chatwin V3.02a                                    23.06.1996

     Inhalt

      1. Was ist Chatwin?
      2. Shareware
      3. Voraussetzungen
      4. Fenster und Dialoge
      5. Die Menleiste
      6. Die Chatwin-Kommandosprache
      7. Wie schreibe ich ein Takefile?
      8. Fehlermeldungen
      9. Tips, Tricks und Hinweise

----------------------------------------------------------------------

   Chatwin ist Shareware! Lesen Sie dazu bitte den Punkt Shareware!




======================================================================
1. Was ist Chatwin?
======================================================================

Chatwin ist eine Shell  (oder "Entwicklungsumgebung")  fr nahezu alle
klassischen Compilersprachen und hnlich aufgebaute Systeme.  Zu jeder
Sprache bzw. zu jedem System wird normalerweise eine eigene Shell mit-
geliefert.  Arbeitet  man mit mehreren solchen Sprachen,  mu man sich
jedesmal  umstellen.  Chatwin  dagegen kann als einheitliche Shell fr
alle  diese Sprachen verwendet werden und der typische Entwicklungszy-
klus  Editieren - Compilieren - Linken lt sich mit Chatwin und einem
geeigneten Editor mit einem einzigen Tastendruck auslsen (siehe unter
"Editor" und "SE-Protokoll").

Einige  Beispiele  fr Systeme,  die sich mit Chatwin benutzen lassen:
Die meisten C-Compiler (z.B. Pure C und Gnu C), Oberon, ST-Guide (auch
dort gibt es schlielich einen Compiler),  UDO oder auch TeX.  Und na-
trlich lt sich Chatwin auch "einfach so" verwenden, wenn man gerade
mal einen Kommdozeileninterpreter ("CLI") braucht.

Ein Nachteil soll nicht verschwiegen werden: Chatwin ist ein sehr fle-
xibles und vielseitiges Programm. Dadurch ist aber eine gewisse Einar-
beitungszeit ntig. Um den Einstieg zu erleichtern, werden aber einige
Beispiele  fr  Umgebungen  ("Settings")  fr verschiedene Anwendungen
mitgeliefert.

Wer einen Desktop-Ersatz  oder eine Unix-kompatible Shell sucht,  wird
mit  Chatwin  wahrscheinlich  nicht glcklich werden.  Chatwin verfgt
nicht  ber  Laufwerksfenster  (die Dateiliste kommt dem noch am nch-
sten)  und die Chatwin-Kommandosprache greift auf verschiedene Quellen
(darunter auch, aber eben nicht nur, Unix) zurck.


"How to get started"

Sie sind noch da?  Prima,  dann sollten Sie sich jetzt einmal an einer
Installation  fr Ihr System versuchen.  Wenn unter den mitgelieferten
Beispielen kein passendes fr Ihre Anwendung zu finden ist, dann soll-
ten  Sie  zunchst  die einzelnen Bestandteile Ihres Systems  (Editor,
Compiler, usw.)  bei  Chatwin  anmelden.  Das geschieht ber die Men-
punkte im Optionen-Men. Lassen Sie sich von den dort vorgegebenen Be-
zeichnungen  nicht  verwirren,  wenn  sie nicht zu den Programme Ihres
Systems  passen  -  nur den Editor sollten Sie auch wirklich unter dem
entsprechenden  Menpunkt  anmelden,  alle anderen Eintrge knnen Sie
nach Ihrem Gutdnken belegen.

Wenn Sie Ihr System soweit eingerichtet haben, da Sie einen Durchlauf
(z.B. das bersetzen eines Quelltextes) durch aufeinanderfolgendes An-
klicken  der  entsprechenden Menpunkt im Programm-Men  (z.B. Editor,
Compiler, Linker)  erfolgreich  durchfhren konnten,  dann sollten Sie
als nchstes daran gehen, diesen Ablauf in einem Takefile zu formulie-
ren.  Der  Abschnitt  "Wie schreibe ich ein Takefile?"  beschreibt die
Vorgehensweise exemplarisch fr Pure C,  weitere Anregungen knnen Sie
sich aus den mitgelieferten Beispiel-Takefiles holen.


brigens:  Das  Programm  Chatwin  ist benannt nach dem Schriftsteller
Bruce Chatwin.  Assoziationen mit  "Window"  sind also rein zuflliger
Natur und nicht beabsichtigt.



1.1 Bruce Chatwin
=================

Bruce Chatwin, geboren 1940 in Sheffield, arbeitete acht Jahre lang in
dem  Londoner Auktionshaus Sotheby's und spter als Journalist bei der
"Sunday Times".  Seit  1962 fhrten ihn ausgedehnte Reisen nach Asien,
in die Sowjetunion,  nach Osteuropa,  Westafrika,  Australien und nach
Lateinamerika.

Von ihm sind erschienen:

"In Patagonia"              (1977), dt. "In Patagonien"
"The Viceroy of Ouidah"     (1980), dt. "Der Vizeknig von Ouidah"
"On the Black Hill"         (1982), dt. "Auf dem schwarzen Berg"
"The Songlines"             (1987), dt. "Traumpfade"
"Utz"                       (1988), dt. "Utz"
"What am I doing here"      (1989), dt. "Was mache ich hier"
"Photographs and Notebooks" (1993), dt. "Auf Reisen"

Fr "In Patagonia" erhielt er mehrere internationale literarische Aus-
zeichnungen.  Verfilmt  wurden  "On the Black Hill",  "Utz" (mit Armin
Mller-Stahl als Utz) sowie  "The Viceroy of Ouidah"  (unter dem Titel
"Cobra Verde" mit Klaus Kinski, Regie: Werner Herzog).

Bruce Chatwin starb 1989 in Nizza.




======================================================================
2. Shareware
======================================================================
Shareware!                                                  23.06.1996

Wenn  Ihnen Chatwin gefllt und Sie das Programm regelmig verwenden,
dann  wird  eine  Sharewaregebhr  von 30,- DM fllig.  Da Chatwin ein
recht  komplexes  Programm ist,  und man seine Leistungsfhigkeit erst
nach  einiger  Zeit richtig einschtzen kann,  rume ich Ihnen hiermit
eine Testzeit von vier Wochen ein. Wenn Sie Chatwin nach Ablauf dieser
Frist immer noch verwenden, ohne gezahlt zu haben, so arbeiten Sie mit
einer Raubkopie!

Als Gegenleistung erhalten Sie die aktuelle Version auf Diskette sowie
das  Recht,  Verbesserungsvorschlge  anzubringen.  Hinweise auf evtl.
Fehler  sowie sinnvolle Erweiterungen werden natrlich auch von (noch)
nicht registrierten Anwendern gerne entgegengenommen. Von Erpressungs-
versuchen  der Art  "wenn dieses und jenes eingebaut wird,  dann werde
ich mich registrieren lassen" bitte ich allerdings abzusehen.

Chatwin  wird auf jeden Fall weiterentwickelt,  schon allein aus purem
Eigenbedarf.  Wenn  Sie  an dieser Entwicklung teilhaben wollen,  dann
schicken Sie bitte 30,- DM (in Scheinen oder als Scheck) an

     Dirk Haun
     Europastr. 8
     D-64569 Nauheim
     Germany

oder berweisen Sie das Geld auf mein Konto

     Konto Nr. 8042947 bei der
     Kreissparkasse Gro-Gerau
     BLZ 50852553

Bitte  geben  Sie  bei  einer berweisung den Betreff `Chatwin' an und
schreiben Sie mir zustzlich (per Post oder e-mail) noch Ihre Adresse!
Einzahlungen,  die ich nicht zuordnen kann, mu ich leider als Spenden
auffassen.

Per e-mail erreichen Sie mich unter

     Dirk Haun @ WI2

im  MausNet  (bitte nur Mail < 16 KByte!!!).  Dies  ist auch der beste
Weg, Fragen an mich zu stellen. Bei Anfragen per Brief bitte Rckporto
(1,- DM) beilegen (bei der Registrierung nicht notwendig)!


Updates

Updates  sind  z.Z. nur fr registrierte Anwender erhltlich.  Die je-
weils aktuelle Chatwin-Version kann bei mir (Adresse siehe oben) gegen
Einsendung  einer  Diskette  (DD oder HD)  und  eines adressierten und
frankierten  Rckumschlags  bezogen werden.  Ein solcher Umschlag kann
auch  "auf Vorrat"  bei mir deponiert werden,  dann verschicke ich die
neueste  Version,  sobald  sie fertiggestellt ist.  Fr Besitzer eines
Modems ist zudem ein Update per DF mglich, nheres bei Interesse per
e-mail (Adresse siehe oben).

Das erste Update erhalten Sie automatisch nach dem Eingang Ihrer Regi-
strierung, die Einsendung einer Diskette ist dabei nicht ntig.

Wenn  Sie  diese Zeilen lesen existiert brigens bereits  (mindestens)
eine Chatwin-Version 3.03.


Weitergabe und Vertrieb

Ginge es nach mir, dann stnde hier nur kurz  "Von dem Programm drfen
beliebig viele Kopien gemacht werden,  solange (a) alle mitgelieferten
Dateien  zusammen  bleiben und  (b) niemand Geld fr das Programm ver-
langt".  Die Vergangenheit hat aber leider gezeigt,  da es heutzutage
offenbar  ntig  ist,  solche  Bedingungen ausfhrlich und deutlich zu
formulieren. Daher nochmal in Langfassung:

Das Programm Chatwin ist Shareware.  Es darf beliebig kopiert und wei-
tergegeben,  aber nicht verkauft werden.  Das Programm darf ber Mail-
boxen  und  hnliche nichtkommerzielle Systeme  (z.B. ftp)  verbreitet
werden,  solange dem Empfnger dabei keine zustzlichen Kosten  (auer
den ohnehin anfallenden Gebhren)  entstehen.  Eine bernahme des Pro-
gramms  auf  PD-Disketten,  CDs,  Coverdisks  (oder hnliche, an Zeit-
schriften gebundene Speichermedien)  ist  nur nach Rcksprache und mit
schriftlicher Genehmigung des Autors gestattet. Das Programm darf ohne
entsprechende  Genehmigung  nicht  zusammen mit kommerzieller Software
(dazu zhlt auch Shareware)  vertrieben werden.  Ein Vertrieb zusammen
mit anderer kostenloser Software ist gestattet, solange deutlich wird,
da  Chatwin  ein  eigenstndiges  Produkt und nicht Teil eines Pakets
ist, und da die Benutzung von Chatwin nicht kostenlos ist.

Dem Chatwin-Paket drfen keine Dateien (insbesondere keine Werbung fr
Mailboxen) hinzugefgt werden. Auch drfen keine Dateien aus dem Paket
entfernt  werden,  auer  wenn  dies aus rechlichen Grnden ntig sein
sollte.  Das  Paket darf in beliebiger gepackter oder ungepackter Form
verbreitet werden, solange es dafr nachvollziehbare Grnde gibt (per-
snliche Sympathien oder Antipathien gegenber einem bestimmten Packer
sind keine nachvollziehbaren Grnde)  und  die Ordnerstruktur erhalten
bleibt.

Diese  Regelungen  gelten ausdrcklich nur fr die Version 3.02a.  Fr
die  Weitergabe  lterer und neuerer Versionen ist deren jeweilige An-
leitung zu konsultieren.


Copyright

Das  Programm  Chatwin  unterliegt dem Copyright von Dirk Haun / Terra
Software Systems. Alle Rechte vorbehalten.




======================================================================
3. Voraussetzungen
======================================================================

Hardware

Chatwin luft auf nahezu allen Rechnern,  auf denen ein Betriebssystem
TOS (oder ein dazu kompatibles) lauffhig ist.  Die Mindestanforderung
an Speicher betrgt 1 Megabyte  (mglicherweise luft Chatwin auch auf
Rechnern  mit  nur  512 KByte, dann knnen Sie aber auer Chatwin kein
weiteres  Programm mehr starten - und dazu war Chatwin doch eigentlich
gedacht!).

Empfohlen  wird eine Konfiguration,  bei der vor dem Start von Chatwin
noch mindestens 1 MByte Speicher frei sind.  Chatwin selbst belegt ca.
300 KByte,  bei  entsprechender  Installation  auch  mehr (Faustregel:
Speicherbedarf = Lnge der Datei CHATWIN.APP multipliziert mit 2).

Weitere Hardware wird nicht vorausgesetzt.  Empfohlen wird jedoch eine
Festplatte, eine Auflsung grer als 640 mal 480 Bildpunkte sowie ein
Prozessor mit hherer Leistung als ein 68000 mit 8 MHz.


Betriebssystem

Chatwin bentigt mindestens eine TOS-Version 1.02 (sog. "Blitter-TOS")
bzw. das Betriebssystem MagiC ab 2.00.  ltere Versionen der genannten
Betriebssysteme  erkennt Chatwin und verweigert mit einem entsprechen-
den Hinweis die Arbeit. Selbstverstndlich  luft Chatwin auch mit dem
Betriebssystem MultiTOS.

Die  einzige  Empfehlung,  die zum Betriebssystem gegeben werden kann,
lautet: Immer eine mglichst aktuelle Version verwenden.


sonstige Software

Chatwin  untersttzt  diverse  Programme bzw. kann mit ihnen zusammen-
arbeiten.  Unbedingt empfehlenswert sind ein Hilfesystem (insbesondere
das  Programm ST-Guide)  und ein externer Fontselektor,  z.B. das Pro-
gramm Calvino (siehe Fontauswahl).




======================================================================
4. Fenster und Dialoge
======================================================================

Die Dialoge von Chatwin liegen in Fenstern. Dadurch ist gewhrleistet,
da  andere  Prozesse,  die ebenfalls Ausgaben auf dem Bildschirm vor-
nehmen wollen, nicht behindert werden. Die meisten Dialoge sind nicht-
modal,  d.h. da die Dialoge nicht geschlossen werden mssen,  um eine
andere Funktion auswhlen zu knnen. Einen modalen Dialog erkennen Sie
daran,  da  er  keinen Closer hat.  Auerdem wird dann auch die Men-
leiste  gesperrt  (nur  die Accessories knnen noch angewhlt werden).
Wenn  ein  modaler  Dialog erscheint,  mssen Sie ihn erst bearbeiten,
bevor Sie eine andere Funktion in Chatwin auswhlen knnen.

Der  Aufbau  der  Dialoge ist weitgehend einheitlich:  Im Fenstertitel
steht  der Name bzw. die Funktion des Dialogs.  Am unteren Rand finden
sich verschiedene Buttons:  Ganz rechts der Button `Abbruch',  der die
Bearbeitung  des Dialogs abbricht und evtl. vorgenommene nderungen im
Dialog  wieder  rckgngig  macht.  Links  daneben  befindet  sich der
OK-Button, der die vorgenommenen Eingaben besttigt bzw. eine Funktion
auslst  (z.B.  Formatieren).  Ganz  links unten befindet sich zumeist
noch  ein Hilfe-Button ber den - sofern Sie ein Hilfe-ACC installiert
haben  (siehe Einstellungen)  -  ein Hilfstext zu dem Dialog abgerufen
werden kann.

Einige Objekte in den Dialogen knnen auch mit einem Doppelklick ange-
whlt werden. Dies kann alternativ auch ber einen einfachen Klick mit
der  rechten  Maustaste erreicht werden.  Zudem sind alle mit der Maus
erreichbaren  Objekte  auch  ber  Tastatur zu bedienen.  Dazu ist die
Alternate-Taste zusammen mit einer Buchstabentaste zu drcken.  Welche
Taste  das ist,  erkennen Sie an den unterstrichenen Buchstaben.  Wenn
also  im  Button  "Lschen"  das `L' unterstrichen ist,  so knnen Sie
diesen  Button  ber Tastatur anwhlen,  indem Sie [Alternate] und [L]
gleichzeitig drcken. Fr einen "Doppelklick per Tastatur" mu zustz-
lich noch eine Shift-Taste gedrckt werden.


Iconify

Chatwin beherrscht auch das sogenannte "Iconify", und zwar sowohl nach
der von Atari mit MultiTOS 1.08beta eingefhrten Methode (die auch von
MagiC ab der Version 3.00 untersttzt wird), als auch mit und ohne den
ICFS.  "Iconify"  bedeutet,  da ein Fenster auf die Gre eines Icons
"geschrumpft" wird. Dies ist also eine einfache Methode, Fenster kurz-
fristig "aus dem Weg zu rumen".

Ausgelst  wird  das Iconify unter einer entsprechenden MultiTOS- oder
MagiC-Version mit einem neuen Fensterelement (genannt "Smaller") links
neben dem Fuller.  Steht dieses Gadget nicht zur Verfgung,  so mssen
Sie  das Schliefeld des Fensters anklicken und dabei eine der folgen-
den Tasten gedrckt halten:

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

Zudem  untersttzt  Chatwin  noch  das Iconify per Tastatur.  Wenn Sie
[Control][Alternate][Space] drcken, wird das oberste Fenster als Icon
abgelegt,  bei  [Control][Alternate][(Links-)Shift][Space] werden alle
Fenster  in  einem  einzigen  Icon abgelegt.  Ein derart verkleinertes
Fenster  kann  durch  Anklicken oder die genannten Tastenkombinationen
wieder geffnet werden.




======================================================================
5. Die Menleiste
======================================================================

Die  Menleiste  von Chatwin besteht aus den folgenden Drop-down-Mens
(die mit `+' markierten Eintrge knnen auch mit zustzlich gedrckter
Shift-Taste angewhlt werden, siehe unten):

  CHATWIN
     ber Chatwin       Anzeige von Versionsnummer und Copyright
    --------------
     Accessories        (falls vorhanden)

  Datei
     Anzeigen           Datei anzeigen
     Info               Informationen fr Dateien, Ordner, Laufwerke
     Drucken           +Datei drucken
     CONSOLE.OUT       +Inhalt des Console-Fensters in Datei sichern
    --------------
     Lschen            Dateien oder Ordner lschen
     Formatieren        Disketten formatieren
    --------------
     Ordner neu         neuen Ordner anlegen
     Kopieren           Dateien oder Ordner kopieren
    --------------
     Beenden            Chatwin sofort verlassen

  Programm
     Editor            +Editor aufrufen
     Compiler          +Compiler aufrufen
     Assembler         +Assembler aufrufen
     Linker            +Linker aufrufen
     Debugger          +Debugger aufrufen
    ----------------
     (nicht belegt)    +Hier knnen bis zu acht beliebige
     [...]              weitere Programme angemeldet werden
    ----------------
     neues PRG          das zuletzt bersetzte Programm starten
     anderes            ein beliebiges anderes Programm starten

  Take
     Takefiles finden   Takefiles anmelden
    ------------------
     Takefile 1        +Takefile Nr. 1 starten
     Takefile 2        +Takefile Nr. 2 starten
     Takefile 3        +Takefile Nr. 3 starten
    ------------------
     anderes Takef.     ein beliebiges anderes Takefile starten

  Extras
     Quelltext         +aktuelle Arbeitsdatei festlegen
    ------------------
     Console            Console-Fenster ffnen
     Dateiliste         ffnet die Dateiliste
    ------------------
     nchstes Fenster  +nchstes Fenster nach oben bringen
     schliee Fenster  +oberstes Fenster schlieen

  Konfiguration
     Einstellungen      diverse Einstellungen
     Programmstart      Optionen fr Programmstarts einstellen
     Fontauswahl        Font fr Console und Dateiliste auswhlen
     Hintergrund        Hintergrundfarbe und -muster festlegen
     Drucker            Drucker-Einstellungen
     Menkrzel         Tastenkrzel fr Menleiste festlegen
     Gerusche          Soundfiles anmelden
    ------------------
     System-Info        Informationen ber das System anzeigen

  Optionen
     Editor             Optionen fr den Editor einstellen
     Compiler           Optionen fr den Compiler einstellen
     Assembler          Optionen fr den Assembler einstellen
     Linker             Optionen fr den Linker einstellen
     Debugger           Optionen fr den Debugger einstellen
    -----------------
     freie Option 1     freie Optionsbox Nr. 1
     freie Option 2     freie Optionsbox Nr. 2
     freie Option 3     freie Optionsbox Nr. 3
     freie Option 4     freie Optionsbox Nr. 4
    -----------------
     Setting laden      Setting laden
     Setting sichern   +Setting sichern


Die  Tastenkrzel der einzelnen Menpunkte sind hier nicht aufgefhrt,
da sie ber den Eintrag `Menkrzel' frei belegbar sind.

Das  Men "Konfiguration" heit kurz "Konfig",  wenn fr die lange Be-
zeichnung nicht gengend Platz zur Verfgung steht.


Shift-Taste

Einige  Menpunkte  knnen  auch mit zustzlich gedrckter Shift-Taste
angewhlt  werden  (entweder  beim Anklicken mit der Maus oder mit dem
dafr eingestellten Menkrzel). Dies hat dann folgende Auswirkungen:

Drucken (Datei-Men):
     es erscheint der Dialog fr die Drucker-Einstellungen

CONSOLE.OUT (Datei-Men):
     der Inhalt der Console wird auf dem Klemmbrett abgespeichert

Editor, Compiler, Assembler, Linker, Debugger (Programm-Men):
     es erscheint die zugehrige Optionsbox aus dem Optionen-Men

Extra-Programme (im Datei-Men):
     der zu dem jeweiligen Programm gehrende Dialog erscheint

Takefile 1/2/3 (Take-Men):
     das  jeweilige  Takefile wird als Default-Takefile angemeldet und
     mit einem Hkchen markiert

Quelltext (Extras-Men):
     der aktuelle Quelltext wird wieder abgemeldet

nchstes Fenster (Extras-Men):
     das  oberste  Fenster wird nach hinten gelegt  (mu vom Betriebs-
     system untersttzt werden)

schliee Fenster (Extras-Men):
     alle offenen Fenster werden geschloen

Setting sichern (Optionen-Men):
     der Fileselektor erscheint nicht,  das Setting wird unter seinem
     aktuellen Namen gesichert



5.1 Datei-Information
=====================

Dieser Dialog zeigt Informationen zu einer Datei an,  die Sie zuvor im
Fileselektor  ausgewhlt haben.  Die meisten Angaben sollten selbster-
klrend sein.

Wenn der Name der Datei lnger als 20 Zeichen ist, so kann er z.Z. nur
unter MagiC gendert werden,  da nur dort scrollbare Eingabefelder zur
Verfgung stehen.

In Abhngigkeit vom Filesystem,  auf dem sich die Datei befindet, wer-
den  im unteren Teil des Dialogs die Dateiattribute oder die Zugriffs-
rechte der Datei angezeigt.


Dateiattribute

   r  Die Datei kann nur gelesen, aber nicht geschrieben oder gelscht
      werden.
   w  Die Datei kann gelesen, geschrieben und gelscht werden.
   h  Die  Datei  ist versteckt  (engl. "hidden")  und  wird daher von
      vielen Programmen nicht gefunden oder angezeigt.
   s  Es  handelt sich um eine Systemdatei.  Diese Dateien sind norma-
      lerweise auch versteckt.
   a  Archiv-Bit. Hierber kann ein Backup-Programm erkennen, ob diese
      Datei seit dem letzten Backup gendert wurde.

Die Flags 'r' und 'w' knnen nicht gleichzeitig aktiviert sein.


Zugriffsrechte

Die  Zugriffsrechte  sind in drei Gruppen zu je drei Flags eingeteilt.
Die Bedeutung dieser Flags ist:

   r  Diese Datei kann gelesen werden.
   w  Diese Datei kann geschrieben werden.
   x  Diese Datei kann ausgefhrt werden
   -  Entsprechendes Zugriffsrecht nicht vorhanden.

Die  erste  Dreier-Gruppe  zeigt die Rechte fr den Besitzer der Datei
an,  die  zweite  Dreier-Gruppe  die Rechte fr alle User,  die in der
gleichen  Gruppe wie der Besitzer der Datei sind  (unter Unix und hn-
lichen Systemen werden die Benutzer zu Gruppen zusammengefat) und die
letzte Dreier-Gruppe gibt die Rechte fr alle brigen User an.

Die Zugriffsrechte knnen z.Z. mit Chatwin nicht gendert werden.



5.2 Ordner-Information
======================

Dieser Dialog zeigt Informationen zu einem Ordner an, den Sie zuvor im
Fileselektor  ausgewhlt  haben.  Die  Angaben sollten selbsterklrend
sein.

Wenn  der Name des Ordners lnger als 20 Zeichen ist,  so kann er z.Z.
nur unter MagiC gendert werden,  da nur dort scrollbare Eingabefelder
zur Verfgung stehen.



5.3 Disk-Info
=============

Dieser Dialog zeigt Informationen zu einer Diskette an,  die Sie zuvor
im Fileselektor ausgewhlt haben. Die  Angaben sollten selbsterklrend
sein.

Wenn der Name der Diskette lnger als 20 Zeichen ist,  so kann er z.Z.
nur unter MagiC gendert werden,  da nur dort scrollbare Eingabefelder
zur Verfgung stehen.

Anmerkung:  Eine Disk-Info fr ein groes oder langsames Laufwerk kann
einige  Zeit dauern,  da alle Verzeichnisse auf dem Laufwerk abgesucht
werden.



5.4 Formatieren
===============

Chatwin  kann  auch Disketten formatieren.  Dazu  knnen Sie in diesem
Dialog  das  Format  (einseitig oder zweiseitig DD bzw. zweiseitig HD)
einstellen.  Auerdem knnen Sie angeben,  ob die Diskette in Laufwerk
A: oder B: formatiert werden soll.

Der Formatiervorgang wird mit dem Button  `Format' gestartet.  Mit dem
Button  `Lschen'  wird  nur ein sogenanntes Soft-Format durchgefhrt,
d.h.  auf  der  Diskette werden die FATs und das Wurzelverzeichnis ge-
lscht.  Bei  dieser  Funktion mssen Sie selbst auf sinnvolle Angaben
achten!  Es ist sicher nicht sinnvoll, eine einseitige DD-Diskette als
HD zu formatieren, Chatwin hindert sie aber auch nicht daran.

Das  von  Chatwin  erzeugte Format unterscheidet sich bei DD-Disketten
minimal von den Disketten,  wie sie der Atari-Desktop formatiert:  Fr
die  FATs  werden nur jeweils zwei bzw. drei Sektoren  (bei ein-/zwei-
seitigen Disketten) reserviert, statt fnf, wie beim Desktop. Ergebnis
sind  drei bzw. zwei KByte mehr freier Speicher auf der Diskette.  Die
kleineren FATs sind vollkommen ausreichend und gefhrden Ihre Daten in
keinster Weise!

Die Disketten werden auerdem mit einer Spiralisierung formatiert,  so
da davon schneller geladen werden kann.

Um  HD-Disketten  formatieren  zu knnen,  bentigen Sie natrlich ein
entsprechendes Laufwerk.  Auerdem mu auch Ihre Betriebssystemversion
HD-Disketten  untersttzen.  Falls  dem  so  ist  (notfalls durch ent-
sprechende Erweiterungen) wird es einen Cookie _FDC geben, an dem sich
Chatwin  orientiert.  Es  ist aber nicht mglich zu erkennen,  welches
Laufwerk  nun wirklich HD-fhig ist.  Auch hier mssen Sie also selbst
auf sinnvolle Angaben achten.



5.5 Editor
==========

Unter  den  Programmen,  die  von Chatwin aus gestartet werden knnen,
kommt dem Editor eine besondere Rolle zu. Beim Programmieren verbringt
man wohl mit die meiste Zeit im Editor, daher haben Sie in Chatwin die
Mglichkeit,  Ihren  Lieblingseditor einzubinden.  Dies geschieht ber
den ersten Menpunkt im Optionen-Men.

Wird der Editor verlassen,  dann zumeist um ein gerade gendertes Pro-
gramm neu zu bersetzen. Um diesen immer wiederkehrenden Vorgang etwas
zu vereinfachen und zu beschleunigen,  wertet Chatwin den Rckgabewert
des  Editors aus.  In vielen Editoren hat man die Mglichkeit,  diesen
Rckgabewert  zu beeinfluen.  Manche Editoren erlauben es,  mit einem
einzigen  Tastendruck  den  gerade geffneten Text abzuspeichern,  den
Editor  zu  verlassen und einen bestimmten Wert an das aufrufende Pro-
gramm  (z.B. Chatwin) zurckzugeben.  Bei dem Editor Everest geht dies
z.B. ber die Tastenkombination  [Control][3],  wodurch auch eine Drei
an Chatwin bergeben wird.

Chatwin reagiert wie folgt auf die Rckgabewerte des Editors:

 0: keine Reaktion, der Editor wurde normal verlassen
 1: das Takefile Nummer 1 aus dem Take-Men wird gestartet
 2: das Takefile Nummer 2 aus dem Take-Men wird gestartet
 3: das Takefile Nummer 3 aus dem Take-Men wird gestartet

Auf andere Werte erfolgt keine spezielle Reaktion. Das alles gilt auch
nur, wenn der Editor ber den ersten Menpunkt des Programm-Mens oder
den Befehl ed aus der Console heraus gestartet wurde. Wurde der Editor
ber  den Befehl ed aus einem Takefile heraus gestartet,  funktioniert
dies nicht (um Rekursionsprobleme zu vermeiden).

Verfgen  Sie ber einen Editor,  der dies untersttzt,  so knnen Sie
durch  geeignete  Takefiles  und einen gezielten Tastendruck im Editor
bestimmen, was Chatwin als nchstes tun soll.

Unter  einem  Multitasking-System  erscheint  es  wenig sinnvoll,  den
Editor immer wieder zu verlassen. Solange z.B. der Compiler im Vorder-
grund beschftigt ist, strt ein im Hintergrund wartender Editor nicht
weiter. Auerdem entfllt so auch die Ladezeit.

Um  die  oben  aufgezeigte  Funktionalitt unter Multitasking-Systemen
nachzubilden  (wenn  der  Editor noch luft,  kann er natrlich keinen
Wert an Chatwin zurckgeben!),  wurde das sogenannte SE-Protokoll ein-
gefhrt.  Es  ermglicht einer Shell und einem Editor,  ber AES-Nach-
richten  zu  kommunizieren  und zusammenzuarbeiten.  Daher untersttzt
Chatwin natrlich auch dieses Protokoll.

Hinweis:  Damit  Chatwin per SE-Protokoll mit dem Editor kommunizieren
kann, mu fr den Editor im Dialog `Programmstart' der Punkt "parallel
starten" angekreuzt werden.

Unter  den  mitgelieferten Beispiel-Takefiles finden sich einige,  die
sinnvoll  als "Nachlufer" fr einen Editor einsetzbar sind,  z.B. das
an anderer Stelle in dieser Hilfe erluterte DEFAULT.T.



5.6 weitere Programme
=====================

In diesem Dialog knnen die Optionen fr eines der bis zu acht zustz-
lichen Programme (kurz "Extra-Programme") eingegeben werden.

Wenn  Sie  einen  mit  `(nicht belegt)'  beschrifteten Eintrag aus dem
Programm-Men anwhlen, so erscheint zunchst der Fileselektor und Sie
knnen  ein beliebiges Programm auswhlen.  Anschlieend knnen Sie in
dem Dialog einige Einstellungen vornehmen (s.u.).  Wenn Sie den Dialog
mit dem OK-Button quittiert haben, so wird bei der nchsten Anwahl des
Menpunkts  (dessen  Beschriftung  Sie  im  Dialog  bestimmen konnten)
direkt  das angemeldete Programm aufgerufen!  Wollen Sie wieder in den
Dialog kommen,  so ist gleichzeitig mit der Anwahl des Menpunkts eine
der beiden Shift-Tasten gedrckt zu halten.

Zu den mglichen Einstellungen:

ber  den  Aufbau  der  Kommandozeile (`Kommandozeile') sollte Sie das
Handbuch des jeweiligen Programms informieren.  Unter `Eintrag fr das
Programm-Men'  knnen  Sie einen Namen eintragen,  unter dem das Pro-
gramm im Programm-Men erscheinen soll.

Mit dem Button `Finden' kann ein anderes Programm angemeldet werden.

Mit  dem  Button `Abmelden' knnen Sie das Programm bei Chatwin wieder
abmelden.  Der Meneintrag wird dann entfernt und alle evtl. folgenden
Meneintrge aufgerckt. Die Eintrge sind dabei immer so organisiert,
da  zunchst die belegten Eintrge ("Programm-Slots") kommen und dann
genau  ein  unbelegter  (sofern  noch  nicht alle acht Eintrge belegt
sind).

Mit  einem  Doppelklick auf den  `OK'-Button  knnen Sie das jeweilige
Programm  auch  sofort starten,  ohne den Umweg ber das Programm-Men
nehmen zu mssen.



5.7 neues PRG
=============

Dieser  Menpunkt  soll  das  Starten  eines gerade frisch bersetzten
Programms vereinfachen. Nach Anwahl des Menpunkts erscheint der File-
selektor.  Wenn  Sie  vorher  die Environmentvariable $PRGPATH auf den
Pfad gesetzt haben, in dem Ihre ausfhrbaren Programme stehen, so wird
nun  dieses  Verzeichnis  angezeigt  und als Vorgabe fr den Namen des
Programms  wird  der  Name des aktuellen Quelltextes mit der Extension
*.PRG eingesetzt.  Im Fileselektor werden aber alle Dateien angezeigt,
die  den  Namen des aktuellen Quelltextes und eine beliebige Extension
haben.

Hat Ihr Programm eine andere Extension als *.PRG,  so knnen Sie diese
in  der  EnvVar  $PRGEXT eintragen  (nur die Extension, ohne Stern und
Punkt)  und  wird dann entsprechend zur Auswahl herangezogen.  Ist die
EnvVar $PRGPATH nicht vorhanden oder leer, so wird der Pfad angezeigt,
in  dem der aktuelle Quelltext steht.  Ist auch kein Quelltext festge-
legt, so wird das aktuelle Verzeichnis angezeigt.

Environmentvariable knnen mit dem Befehl env angelegt werden.



5.8 Programmparameter
=====================

Dieser Dialog erscheint, wenn Sie ein Programm starten wollen, fr das
im Dialog  `Programmstart' das Feld "mit Parameterbergabe" angekreuzt
ist,  also  blicherweise bei Programmen mit der Extension  *.TTP oder
*.GTP.  Sie  knnen in diesem Dialog nun die Parameter fr dieses Pro-
gramm eingeben. Der Inhalt der beiden Textzeilen wird einfach aneinan-
dergehngt und an das zu startende Programm bergeben.

Durch  Anklicken  einer  Eingabezeile knnen Sie den Fileselektor auf-
rufen und so einfach Dateinamen als Parameter bergeben.



5.9 Takefiles finden
====================

In diesem Dialog knnen Sie drei Takefiles angeben,  die dann im Take-
Men mit Namen eingetragen und auch aufgerufen werden knnen.

Der eigentliche Sinn liegt jedoch im folgenden:  Wenn der Editor (d.h.
das Programm,  das  ber den ersten Eintrag im Programm-Men bzw. ber
den  Befehl ed aufgerufen wird)  eine Zahl 1, 2 oder 3 zurckgibt,  so
startet  Chatwin  automatisch  das  Takefile  mit  der  entsprechenden
Nummer.

Wenn  Sie  beispielsweise den Editor Everest verwenden,  so knnen Sie
dort durch die Tastenkombination [Control][3]  (die Ziffer '3' auf dem
Zifferntastenblock)  den  Text abspeichern,  Everest verlassen und das
Takefile  Nummer 3  starten (eine elegantere Mglichkeit gibt es unter
Multitasking-Systemen ber das SE-Protokoll).

Dies funktioniert nur,  wenn der Editor entweder ber den ersten Men-
punkt  im  Programm-Men  oder  ber den Befehl  ed  in der Console im
Direktmodus aufgerufen wird.  Es funktioniert also nicht, wenn Sie den
Editor aus einem Takefile heraus gestartet haben!

Die drei Takefiles knnen auch ber den Befehl take aufgerufen werden.

Das vierte, mit "Liste" bezeichnete, Takefile kann ber das Popup-Men
der  Dateiliste  gestartet werden.  Es bekommt dabei den in der Datei-
liste  angewhlten Filenamen bergeben.  Es ist nicht mglich,  dieses
Takefile ber den take-Befehl aufzurufen.

Durch  einen  Doppelklick auf einen der Buttons kann das entsprechende
Takefile wieder abgemeldet werden.

Unter den ersten drei Takefiles kann eines als Default-Takefile ausge-
whlt  werden,  indem  der  entsprechende Button bei gedrckter Shift-
Taste anklickt wird.  Dieser Button  (und der entsprechende Eintrag im
Take-Men) wird dann mit einem Hkchen versehen.  Das Default-Takefile
wird immer dann ausgefhrt, wenn beim Befehl take kein Dateiname ange-
geben  wurde.  Auch  das  SE-Protokoll  kennt einen Befehl zum Starten
eines  Batchfiles,  wobei  dann  ebenfalls  das Default-Take gestartet
wird, wenn der Dateiname nicht mit bergeben wurde.



5.10 Console
============

Chatwin kann zwar weitgehend ber die Menleiste bedient werden, eini-
ge Mglichkeiten ergeben sich aber erst in der Console.

Wenn  Sie  den Menpunkt `Console' anwhlen,  ffnet sich das Console-
Fenster. Durch Eingabe von Befehlswrtern knnen Sie nun

- die meisten Befehle der Chatwin-Kommandosprache direkt aufrufen
  (Ausnahmen: alle Befehlskonstrukte, die sich ber mehrere Zeilen er-
  strecken,  wie  if/else/endif, repeat/until, while/wend, macro/endm,
  sowie die Befehle append und force)

- Makros aufrufen

- Takefiles starten (Name des Takefiles mit Extension *.T eingeben)

- Programme starten (wie von anderen Shells gewohnt: Programmname plus
  evtl. Parameter eingeben)

Wenn Sie aus Chatwin heraus ein TOS-Programm starten, so werden dessen
Ausgaben  in  das  Console-Fenster  umgelenkt  (nicht  unter MagiC und
nicht,  wenn  das  Programm  parallel gestartet wird.  Siehe dazu auch
`Programm starten').


Block aufziehen

In der Console kann mit der Maus ein Block aufgezogen werden: Wenn Sie
mit gedrckter linker Maustaste ber die Stellen fahren,  die markiert
werden sollen, dann werden diese invers angezeigt.  Wenn Sie die Maus-
taste loslassen, erscheint ein Popup mit den drei Mglichkeiten

Kopieren
    Der markierte Block wird in der Datei SCRAP.TXT auf dem Klemmbrett
    abgelegt.

Einfgen
    Der  markierte  Block  wird an der aktuellen Cursorposition in die
    Kommandozeile eingefgt (dies ist nur mglich, wenn nicht mehr als
    eine Zeile markiert wurde).

Ausfhren
    Der  markierte  Block  wird  wie ein Takefile behandelt und ausge-
    fhrt.

Wenn  Sie neben das Popup klicken,  verschwindet es und die Markierung
des Blockes bleibt erhalten. Sie knnen den Block nun greifen (mit der
Maus  in  den  markierten Bereich klicken und den Block bei gedrckter
Maustaste verschieben)  und  auf  das  Fenster eines anderen Prozesses
ziehen.  Wenn  das  Betriebssystem  Drag&Drop  ber  Pipes untersttzt
(MultiTOS oder MagiC ab Version 3),  dann wird der Block darber ber-
geben. Ohne Drag&Drop-Untersttzung wird versucht,  den Block ber das
XACC-Protokoll  Gruppe 1  mit  der  Nachricht  ACC_TEXT zu bermitteln
(dies funktioniert z.B. mit den Programmen Zeig's mir und CAT).

Der Block bleibt solange markiert, bis etwas in der Console ausgegeben
werden soll,  oder bis Sie eine Taste drcken,  einen neuen Block auf-
ziehen oder einen kurzen Mausklick in der Console ttigen.


Tastenbelegung:

 Cursor auf/          Hiermit kann in der History,  d.h. der Liste der
 Cursor ab            zuletzt eingegebenen Befehle, geblttert werden.
                      Die  Befehle  knnen  durch  Drcken  von Return
                      nochmals ausgefhrt werden.
                      Anmerkung:  Chatwin speichert nur alle verschie-
                      denen  Befehle,  die Sie schon einmal eingegeben
                      haben. Wenn Sie also einen Befehl in identischer
                      Form mehrmals eingeben,  so wird nur der jeweils
                      letzte Aufruf in der History gespeichert.

 Undo                 Gibt die History aus.

 Help                 Gibt eine Liste aller in der Console verfgbaren
                      Befehle aus.

 Funktionstaste       Ersetzt die Eingabezeile durch den Text, der auf
                      dieser Funktionstaste (F-Taste) liegt.

 Shift-F-Taste        F-Taste mit dem Text der Eingabezeile belegen.

 Tab                  Springt  zum  nchsten  Zeichen nach einem Leer-
                      zeichen bzw. ans Zeilenende.

 ESC                  Lscht die Eingabezeile

 Cursor links/
 Cursor rechts        Bewegung innerhalb der Eingabezeile.

 Shift-Cursor links   Springt zum Anfang der Eingabezeile.
 Shift-Cursor rechts  Springt zum Ende der Eingabezeile.

 Control-Cursor auf/  Wenn  die Console das oberste Fenster ist und im
 Control-Cursor ab    Hintergrund das Fenster der Dateiliste liegt, so
                      knnen  Sie  hiermit  den aktuellen Quelltext in
                      der Dateiliste bestimmen.


Sonstiges:

- Mit  einem  Ausrufezeichen  gefolgt von einem String kann der letzte
  Befehl  aus der History abgerufen werden,  der mit diesem String be-
  ginnt. Also z.B.

     !echo

  fhrt den letzten echo-Befehl nochmals aus. Mit zwei aufeinanderfol-
  genden  Ausrufezeichen  kann zudem der letzte Befehl nochmals ausge-
  fhrt werden,  wobei hier auch noch weitere Zeichen angegeben werden
  knnen, die dann an den Befehl angehngt werden, also z.B.

     echo Hello
     !!, world

  gibt erst "Hello" und dann "Hello, world" aus.

- Namen  von Icons,  die per Drag&Drop auf das Console-Fenster gezogen
  worden sind, werden an der aktuellen Cursorposition in die Kommando-
  zeile eingefgt.



5.11 Dateiliste
===============

Die  Dateiliste ist ein Fenster,  in dem Namen von Dateien aufgelistet
stehen.  Die Dateiliste wird geffnet ber den Menpunkt  `Dateiliste'
im  Extras-Men.  Es  erscheint ein Fenster mit der einzigen Textzeile
"[0 Dateien]"  darin.  Klicken  Sie  diese Zeile an,  so erscheint der
Fileselektor,  in  dem  Sie nun eine Datei auswhlen knnen.  Der Name
dieser  Datei  wird nun in der Dateiliste angezeigt.  Sie knnen jetzt
weitere Dateien einfgen.

Klicken Sie auf die Zeile, die die Anzahl der Dateien in der Liste an-
gibt,  so  erscheint sofort der Fileselektor.  Klicken Sie dagegen auf
einen  Dateinamen,  so erscheint ein Popup-Men mit folgenden Wahlmg-
lichkeiten:

einfgen
     Hiermit  knnen  Sie ein weitere Datei in die Liste einfgen.  Es
     erscheint der Fileselektor und die Datei wird ber der gerade an-
     geklickten eingefgt.
     Wenn Sie den Fileselektor Selectric (oder einen dazu kompatiblen,
     z.B. Freedom) verwenden, dann knnen Sie auch mehrere Dateien an-
     klicken, die dann alle in die Liste eingefgt werden.

entfernen
     Die angeklickte Datei wird aus der Liste entfernt.

Liste lschen
     Nach einer Sicherheitsabfrage wird die ganze Liste gelscht.

Liste laden
     Hiermit  kann  eine Dateiliste geladen werden.  Eine bereits vor-
     handene Liste wird durch die neue ersetzt.  Wollen Sie eine Liste
     zu  der  aktuellen hinzuladen,  so whlen sie bei "einfgen" eine
     Datei  mit der Extension *.LST aus.  Der Inhalt dieser Datei wird
     dann an der angegebenen Stelle in die aktuelle Liste eingefgt.

Liste sichern
     Die aktuelle Dateiliste wird unter einem frei whlbaren Namen ab-
     gespeichert.  Beim Sichern eines Settings wird die Liste auch ab-
     gespeichert.  Sie  erhlt dann den Namen des Settings mit der Ex-
     tension *.LST.

an Editor
     Die  angeklickte  Datei  wird  an den Editor bergeben,  d.h. der
     Editor wird gestartet und aufgefordert, die Datei nachzuladen.

an Takefile
     Die  angeklickte Datei wird an ein Takefile bergeben.  Das Take-
     file wird im Dialog `Takefiles finden' festgelegt (es ist das mit
     "Liste" bezeichnete Takefile).

Durch  einen  Doppelklick  auf einen Eintrag der Dateiliste wird diese
Datei als aktueller Quelltext bernommen.  Der aktuelle Quelltext wird
immer,  sofern  er  in  der  Liste enthalten ist,  mit einem >-Zeichen
markiert.

Eine Dateiliste wird als einfache ASCII-Datei gespeichert.  Es ist da-
her mglich, die LST-Dateien mit einem Editor zu bearbeiten.  In jeder
Zeile  steht  genau  ein Dateiname,  fhrende Leerzeichen werden igno-
riert,  folgende abgeschnitten.  Das Zeilenende sollte,  wie unter TOS
blich,  mit CR/LF abgeschloen sein (LF als Zeilentrenner gengt aber
auch).

Die Dateiliste ist auch teilweise ber Tastatur bedienbar:
 [Insert]     fgt am Ende der Liste einen neuen Eintrag ein  (es ff-
              net sich der Fileselektor,  in dem Sie die einzutragende
              Datei auswhlen knnen).
 [Delete]     entfernt den letzten Eintrag aus der Liste.
 [Control][E] bergibt den aktuellen Quelltext an den Editor.
 [Control][T] bergibt den aktuellen Quelltext an das Liste-Takefile.

Auerdem  kann  der  aktuelle  Quelltext mit den Cursortasten (auf/ab)
bestimmt  werden.  Liegt das Dateilistenfenster im Hintergrund und die
Console  ist  das oberste Fenster,  so kann der aktuelle Quelltext mit
[Control] und den Cursortasten (auf/ab) bestimmt werden.

Eine Datei kann auch per Drag&Drop in die Dateiliste eingefgt werden,
zudem  kann  auf die Dateiliste ber die Befehle addlist,  dellist und
getlist zugegriffen werden.



5.12 Einstellungen
==================

In  diesem  Dialog  knnen  einige  globale  Einstellungen fr Chatwin
vorgenommen werden.

Dialoge zentrieren
     Ist dieser Punkt angekreuzt,  so werden alle Dialoge in der Bild-
     schirmmitte  ausgegeben.  Andernfalls werden sie an der aktuellen
     Mausposition ausgegeben.

     Da  die  Dialoge in Fenstern sind,  knnen sie  -  unabhngig von
     dieser Einstellung - immer noch verschoben werden.

mit Grow-/Shrink-Boxen
     Ist  dieser  Punkt angekreuzt,  so wird beim ffnen und Schlieen
     von   Dialogen   ein  graphischer  Effekt  abgespielt,   der  das
     "Erscheinen" bzw. "Verschwinden" des Dialogs unterstreichen soll.
     Da  dieser  Effekt von einigen Leuten als strend empfunden wird,
     kann er hier abgeschaltet werden.  Auf schnelleren Rechnern  (TT)
     luft der Effekt ohnehin so schnell ab, da er fast nicht mehr zu
     sehen ist.

inverse Zeichen fett
     Hiermit  knnen Sie bestimmen,  ob reverse Zeichen in der Console
     wirklich invers (weie Schrift auf schwarzem Grund) oder in Fett-
     schrift erscheinen sollen.

Kobold verwenden
     Grere  Kopieraktionen  (Kopieren  ganzer Verzeichnisse oder das
     Kopieren  mehrerer  Dateien  mit Quantoren)  lt Chatwin von dem
     Dateikopierer  Kobold  abarbeiten.  Sollte dies aus irgendwelchen
     Grnden nicht erwnscht sein, so kann dies hier abgeschaltet wer-
     den.

     Unter SingleTOS mu der Kobold als Accesssory installiert werden,
     unter  einem  Multitasking-System kann Chatwin ihn auch nachstar-
     ten, wenn der Pfad in der EnvVar $KOBOLD_PATH angegeben wird.

MagiC: TOS-Prg. in Console
     Unter  MagiC kann die Ausgabe von TOS-Programmen nicht so einfach
     in  die  Chatwin-Console umgelenkt werden,  da zwar  (ab MagiC 3)
     Pipes  existieren,  die aber nicht - wie unter MultiTOS - zur Um-
     lenkung der Ausgabe verwendet werden knnen.  Daher kann mit die-
     sem  Schalter das gleiche Verhalten wie unter SingleTOS erzwungen
     werden, d.h. Chatwin hngt sich in die Vektoren zur Zeichenausga-
     be ein.  Unter einem Multitasking-System ist diese Vorgehensweise
     aber etwas "unfein",  da somit auch die Ausgaben von anderen Pro-
     grammen,  die  nicht aus Chatwin heraus gestartet wurden,  in die
     Chatwin-Console  umgelenkt  werden.  Dieser Schalter ist also nur
     ein Notbehelf,  bis MagiC endlich um die fehlenden Funktionen er-
     gnzt worden ist.

Editor beenden
     Wenn  Chatwin  beendet  wird  und der Editor noch parallel luft,
     kann Chatwin den Editor auf Wunsch auffordern,  sich ebenfalls zu
     beenden.  Wenn  der  Editor  das SE-Protokoll beherrscht,  so ge-
     schieht  dies  ber die Nachricht SE_TERMINATE,  andernfalls ber
     AP_TERM.

Darber  hinaus knnen in diesem Dialog ein Hilfesystem und ein Anzei-
geprogramm angemeldet werden:

Hilfe
     Whlen Sie im Fileselektor ein Programm aus,  das als Hilfesystem
     fungieren soll.  Empfohlen wird hierzu das Programm ST-Guide,  da
     die Chatwin-Hilfe z.Z. nur in dem Format fr dieses Programm vor-
     liegt  und  es sich zudem auch als eine Art Standard durchgesetzt
     hat (auch die Anleitungen zu vielen anderen Programmen liegen be-
     reits in diesem Format vor).

     Das Hilfe-Programm wird nachgestartet,  wenn es aufgerufen werden
     soll und nicht bereits parallel luft.  Unter einem Multitasking-
     System stellt dies kein Problem dar, aber unter SingleTOS sollten
     sie das Programm besser als Accessory installieren.

Anzeigen
     Hier  knnen Sie ein Programm anmelden,  das bei Anwahl des Men-
     punkts  `Anzeigen'  aus  dem  Datei-Men oder bei dem Befehl more
     aufgerufen werden soll.  Wenn Sie hier kein Programm angeben (und
     auch  in den Environmentvariablen $View und $SHSHOW kein Programm
     angegeben ist), zeigt Chatwin Dateien ggfs. selbst an. Da Chatwin
     nur  reine Textdateien anzeigen kann,  wird aber die Installation
     eines  entsprechenden Programms  (eines sogenannten Dateiviewers)
     empfohlen, z.B. das Programm Zeig's mir. Chatwin untersttzt auch
     das View-Protokoll zum Anzeigen von Dateien.

Durch  einen Doppelklick auf einen der Buttons "Hilfe" oder "Anzeigen"
wird das jeweilige Programm wieder abgemeldet.



5.13 Programmstart
==================

In diesem Dialog knnen Sie fr jedes einzelne Programm festlegen, wie
genau es von Chatwin gestartet werden soll.

In  die Liste der Programme werden automatisch alle die Programme auf-
genommen, die Sie fr die Eintrge im Programm-Men anmelden. Auerdem
werden Defaultwerte fr Programme mit den blichen Extensions  (*.PRG,
*.TOS, *.TTP, *.APP und *.GTP) aufgenommen. Alle diese Eintrge knnen
Sie auch nachtrglich noch verndern.

Mit  dem  Button  "Neu"  knnen neue Eintrge in die Liste aufgenommen
werden.  Dazu whlen Sie im Fileselektor das Programm aus,  das in die
Liste  aufgenommen werden soll.  Der Pfad,  in dem das Programm steht,
ist dabei nicht von Interesse und wird auch nicht gespeichert.  Auer-
dem knnen Sie auch weitere Masken der Form  "*.EXT"  eingeben, und so
z.B.  alle  Accessories als ausfhrbare Programme bei Chatwin anmelden
(viele  Accessories  knnen  auch  wie ein normales Programm gestartet
werden).

Mit dem Button  "Lschen"  wird der gerade selektierte Eintrag aus der
Liste entfernt.

Die  sechs  Schalter auf der rechten Seite haben,  wenn sie angekreuzt
sind, folgende Bedeutung:

GEM-Applikation
     Das  selektierte  Programm ist ein GEM-Programm.  Chatwin mu von
     jedem zu startenden Programm wissen, ob es ein GEM- oder TOS-Pro-
     gramm ist. Im Normalfall wird dieser Schalter anhand der Default-
     Extensions schon richtig gesetzt. Ist "GEM-Applikation" nicht an-
     gekreuzt,  so  nimmt Chatwin an,  da es sich um ein TOS-Programm
     handelt.

mit Parameterbergabe
     Wird das Programm ber die Eintrge "neues PRG" oder "anderes..."
     aus dem Programm-Men aufgerufen, so erscheint vorher ein Dialog,
     in dem man die Programmparameter eingeben kann.  Dies ist die De-
     fault-Einstellung fr Programme mit den Extensions TTP und GTP.

braucht eigenen Pfad
     Wenn  Chatwin  ein  Programm startet,  bei dem dieser Punkt ange-
     kreuzt  ist,  so  wird  das  Verzeichnis,  in dem dieses Programm
     steht,  als aktuelles Verzeichnis gesetzt.  Damit wird gewhrlei-
     stet, da Programme ihre RSC-Files u.. finden.  Hat ein Programm
     dies  nicht ntig  (z.B. weil es keine Dateien nachladen mu oder
     sie ber Environmentvariable findet),  so  braucht  dieser  Punkt
     nicht angekreuzt zu werden, es wird dann der aktuelle Pfad beibe-
     halten.

warten (nach TOS-Prg)
     Wird  das Programm ber einen Eintrag im Programm-Men gestartet,
     so  wird  nach  der  Rckkehr  aus diesem Programm noch auf einen
     Tastendruck  gewartet.  Diese  Option macht nur bei TOS- und TTP-
     Programmen  Sinn,  und ist daher auch nur anwhlbar,  wenn  "GEM-
     Applikation"  nicht  angekreuzt ist.  Der einzige Grund fr diese
     Option  ist,  da  beim  Start ber die Menleiste ggfs. erst die
     Console  geffnet werden mu und sie sich in diesem Fall nach dem
     Ende des Programm gleich wieder schliet. Man hat dann evtl. kei-
     ne Gelegenheit mehr, die Ausgaben des Programms noch zu lesen.

     Unter  dem  Betriebssystem  MagiC wird dieser Schalter z.Z. igno-
     riert,  da  Chatwin TOS-Programme dort ber das Programm VT52.PRG
     starten mu, das seinerseits ber eine entsprechende Einstellmg-
     lichkeit verfgt.

parallel starten
     Unter einem Multitasking-System soll dieses Programm parallel ge-
     startet  werden,  d.h.  Chatwin wartet nicht auf die Rckkehr des
     Programms,  sondern ist sofort bereit, den nchsten Befehl entge-
     genzunehmen.

     Diesen  Punkt  sollten  Sie auch ankreuzen,  wenn Sie unter einem
     Multitaskingsystem  mit einem Editor arbeiten,  der das SE-Proto-
     koll untersttzt.

versteht VA_START
     Dieser  Punkt  macht  nur  zusammen  mit den angekreuzten Punkten
     "GEM-Applikation" und "parallel starten" Sinn:  Chatwin berprft
     dann,  ob  das Programm evtl. schon parallel luft und verschickt
     dann ggfs. die Nachricht VA_START, mit der das Programm aktiviert
     wird und die Parameter bergeben werden.  Luft das Programm noch
     nicht, so wird es normal (aber parallel) gestartet.

Zum  nheren Verstndnis der Bedeutung dieser Schalter sei auf die Ab-
schnitte "Programm starten" und "VA-Protokoll" verwiesen.

Alle  vorgenommenen  Einstellungen werden natrlich im Setting gespei-
chert.



5.14 Fontauswahl
================

ber  diesen  Menpunkt knnen Sie einen anderen Font fr die Textdar-
stellung in der Console und in der Dateiliste auswhlen. Voraussetzung
dafr  ist  ein externer Fontselektor,  z.B. Calvino oder UFSL.  Diese
Programme  (und dazu kompatible) stellen eine Dialogbox zur Verfgung,
in  der  man  unter  den im System installierten Fonts einen auswhlen
kann. Calvino gehrt einer neuen Generation von Fontselektoren an, die
eine  erweiterte Auswahl  (gegenber Fontselektoren der ersten Genera-
tion wie UFSL) zur Verfgung stellen. Desweiteren gibt es noch Fontse-
lektoren,  die  als  parallel  laufendes  Programm  ber die Nachricht
FONT_SELECT aktiviert werden knnen.

Chatwin  untersttzt alle diese Mglichkeiten und geht dabei wie folgt
vor:

   1. Suche nach einem xFSL-Fontselektor
   2. Suche nach MagiC4-kompatiblen Fontselektor
   3. Suche nach einem UFSL-Fontselektor
   4. Suche nach einem bereits laufenden Programm, das die Nachricht
      FONT_SELECT versteht (Suche ber das XACC-Protokoll)
   5. Suche nach einem der Programme, die in der EnvVar $FONTSELECT
      stehen (Programm mu bereits parallel laufen)
   6. Versuch, eines der Programme aus der EnvVar $FONTSELECT zu
      starten (nur unter Multitasking-Systemen)

Darber  hinaus  akzeptiert  Chatwin auch die Nachrichten FONT_CHANGED
und  WinChangeFont,  d.h. da aus einem entsprechenden Programm heraus
auch  ein  neuer Font auf das Dateiliste- oder Console-Fenster gezogen
werden  kann  und  von  Chatwin dann als neuer Font fr dieses Fenster
bernommen wird.

Solange Sie auf Ihrem Rechner kein GDOS installiert haben, steht Ihnen
nur  der Systemzeichensatz in verschiedenen Gren zur Verfgung.  Mit
installiertem GDOS haben Sie freie Auswahl unter allen Fonts  (fr die
Dateiliste)  bzw. unter allen nicht-proportionalen Fonts (fr die Con-
sole).

Chatwin  speichert  die  ausgewhlten  Fonts im Setting ab  (Menpunkt
`Setting sichern' im Optionen-Men).



5.15 Hintergrund
================

In  diesem Dialog knnen Farbe und Muster des Chatwin-Desktops festge-
legt werden.  Auerdem kann ber den Punkt  `kein Chatwin-Desktop' der
Desktop  auch  ganz  abgemeldet  werden  (dann  bleiben  die Farb- und
Muster-Einstellungen  ohne Wirkung).  Unter Multitasking-Systemen wird
der Desktop per Default abgemeldet (kann aber, falls gewnscht, trotz-
dem wieder angemeldet werden).

Chatwin  merkt sich Farbe und Muster getrennt fr Farb- und Monochrom-
Auflsungen.  In  Farbauflsungen  kann die Hintergrundfarbe nur unter
den ersten 16 Farben ausgewhlt werden.



5.16 Drucker
============

In diesem Dialog knnen Sie Einstellungen fr den Menpunkt  "Drucken"
vornehmen, ber den Sie dann (Text-)Dateien aus Chatwin heraus drucken
lassen knnen.

Fr  die  Art der Ausgabe stehen Ihnen drei Mglichkeiten zur Auswahl:
Ausgabe  ber  eine  1stWord-Druckeranpassung,  ber  GDOS und mittels
eines externen Druckprogramms.

PRINTER.CFG / 1stWord-Druckeranpassung
     Wenn  Sie  diesen  Punkt anwhlen,  verwendet Chatwin zum Drucken
     eine  Druckeranpassung,  wie  sie  auch  von der Textverarbeitung
     1stWord  verwendet  wird.  In dem Kstchen wird dann der Name des
     Druckers, fr den die geladene Anpassung gedacht ist, angegeben.

     1stWord-Druckertreiber sind recht weit verbreitet,  es sollte da-
     her kein Problem darstellen, auch fr Ihren Drucker eine passende
     CFG-Datei zu finden.

GDOS-Gert
     Hier  knnen  Sie  - sofern ein GDOS installiert ist -  ein Gert
     auswhlen,  ber das die GDOS-Ausgabe erfolgen soll.  Die Auswahl
     geschieht ber ein Popup, das die Namen der installierten Gerte-
     treiber  oder,  wenn  diese nicht ermittelt werden knnen,  deren
     Nummern anbietet.

Druckprogramm
     Wenn Ihnen die in Chatwin eingebauten Druckfunktionen nicht zusa-
     gen, knnen Sie den Druckauftrag auch an ein externes Programm
     weiterreichen lassen. Whlen Sie dazu diesen Punkt an und suchen
     Sie im Fileselektor, der bei Anwahl des Buttons erscheint, das
     gewnschte Programm aus.

     Das  Druckprogramm  wird ggfs. nachgestartet,  wenn es bei Anwahl
     des Menpunkt  "Drucken"  noch nicht luft.  Andernfalls wird der
     Druckauftrag  ber  eine  sogenannte  CALCLOCK-Nachricht  an  das
     Druckprogramm bergeben.

     Ein  geeignetes  Programm,  das  auch die CALCLOCK-Nachricht ver-
     steht, ist beispielsweise IdeaList.

Die Einstellung  "Linker Rand"  gilt nur fr die Ausgabe mittels eines
1stWord-Treibers.



5.17 Menkrzel
===============

In  diesem  Dialog knnen Sie sich die Tastenkrzel fr die Menleiste
von Chatwin selbst (um)definieren.

Die  Buttons  im  oberen Teil des Dialogs stehen fr die sechs rechten
der  insgesamt  sieben Drop-down-Mens.  Durch Anklicken eines Buttons
haben sie Zugriff auf den jeweils ersten Eintrag des jeweiligen Mens.
Welchen Menpunkt Sie gerade bearbeiten, sehen Sie in der Zeile in der
Mitte  des  Dialogs.  Dort wird der Text des Eintrags,  sowie das bis-
herige Tastenkrzel angezeigt.  Wenn Sie diese Zeile anklicken, ffnet
sich ein Popup-Men,  in dem Sie den gewnschten Eintrag des aktuellen
Mens auswhlen knnen.

Im  unteren  Teil des Dialogs finden Sie die Buttons `Ctrl' und `Alt',
sowie  den Buchstaben der als Krzel dient.  Hier knnen Sie nun einen
beliebigen  Buchstaben A-Z oder eine der Ziffern 0-9 eintragen,  sowie
durch Anwahl eines Buttons festlegen,  ob zustzlich die Control- oder
Alternate-Taste gedrckt werden soll.

Sollten  Sie  ein  Tastenkrzel  doppelt  vergeben,  so werden Sie von
Chatwin darauf hingewiesen.  Soll ein Eintrag kein Krzel bekommen, so
lschen Sie einfach den Buchstaben durch Drcken von [Backspace].

Die vorgenommenen nderungen werden wirksam, sobald Sie den Dialog mit
dem  Button `OK' verlassen oder  (mittels der Buttons oder des Popups)
ein anderes Menkrzel anwhlen.

Das Krzel fr den Menpunkt `ber Chatwin' ist [Control][Shift][Help]
und wird nicht in der Menleiste angezeigt.



5.18 Gerusche
==============

In  diesem Dialog knnen Soundeffekte eingestellt werden,  die dann in
bestimmten Situationen abgespielt werden.

 Intro   wird  beim  Start von Chatwin abgespielt  (dazu mu die Datei
         CHATWIN.SET  im  gleichen  Verzeichnis   stehen   wie Chatwin
         selbst),  sowie  beim Nachladen eines Settings ber den Men-
         punkt `Setting laden' aus dem Optionen-Men.

 Ende    wird  beim  Verlassen von Chatwin abgespielt.  Chatwin wartet
         allerdings nicht, bis das Soundfile zuende ist,  daher ist im
         allgemeinen hier nichts zu hren. Wenn Sie das Programm Paula
         verwenden,  so knnen Sie hier aber ein MOD-File angeben, das
         dann von Paula in voller Lnge abgespielt wird.

 Fehler  wird immer dann abgespielt, wenn ein Fehler auftritt.

 Console wird beim ffnen des Console-Fensters abgespielt.

Der Dateiname darf auch Quantoren enthalten. Dann wird aus dem angege-
benen Ordner unter allen Dateien, auf die diese Maske pat, eine Datei
zufllig ausgewhlt und abgespielt.

Mit  den  `Test'-Buttons  knnen  Sie  das  jeweilige  Soundfile  aus-
probieren.  Durch  einen Doppelklick auf den Namen des Soundfiles kann
dieses wieder abgemeldet werden.

Ist  der  Punkt `Verstrker' angekreuzt,  dann wird die Lautstrke der
Soundfiles auf den maximal mglichen Wert umgerechnet.  Dabei wird die
Lautstrke,  die  (bei  Rechnern  mit DMA-Sound) ber das Kontrollfeld
einstellbar  ist,  nicht  verndert.  Vielmehr wird die Lautstrke der
einzelnen Samples beim Abspielen um den maximal mglichen Faktor ange-
hoben, so da das Signal gerade eben noch nicht verzerrt wird.

Schlielich kann mit dem Punkt `kein Sound' jegliche Geruscherzeugung
(sowohl fr die oben aufgefhrten Ereignisse als auch fr den play-Be-
fehl) global abgeschaltet werden.


Voraussetzungen

Damit Soundfiles (Samples) abgespielt werden knnen, mu eine der fol-
genden Voraussetzungen erfllt sein:

- Ihr Rechner mu ber DMA-Sound-Hardware verfgen  (1040STE, MegaSTE,
  TT oder Falcon).
- Das Programm MacSound von Richard Kurz mu installiert sein.  Dieses
  Programm existiert z.Z. nur in einer Version fr MagiCMac, Versionen
  fr andere Rechner sind aber angekndigt.
- Auf  Rechnern,  die nur ber den einfachen Yamaha-Soundchip verfgen
  (alte STs),  knnen Samples nur abgespielt werden, wenn das Programm
  Petra installiert ist.

Worber die Samples abgespielt werden,  wird im Gerusche-Dialog eben-
falls angezeigt.



5.19 System-Info
================

Dieser  Dialog  zeigt  verschiedene  Informationen ber Ihr System an,
darunter  den  freien  Speicher  und die Versionsnummern verschiedener
Betriebssystem-Teile.

Auf  der linken Seite wird der noch freie Speicher,  getrennt nach ST-
und  Alternate-RAM,  sowie  als  Summe angezeigt.  Verfgt Ihr Rechner
nicht  ber  Alternate-RAM,  so wird die entsprechende Zeile in heller
Schrift dargestellt.

Anmerkung: Alternate-RAM ist ein Sammelbegriff fr all die RAM-Sorten,
die  nicht  ST-RAM sind.  Darunter fallen das TT-Fast-RAM,  virtueller
Speicher oder sonstiger Speicher auf Hardware-Erweiterungen.

Auf der rechten Seite werden die Versionen verschiedener Teile des Be-
triebssystems aufgelistet.

TOS: Dies ist die Versionsnummer des TOS,  also des Betriebssystems im
     ganzen.  Dahinter steht noch eine Lnderkennung (z.B. FRG fr ein
     deutsches TOS).

AES: Die  Versionsnummer  des AES  (der Teil des Betriebssystems,  der
     u.a.  fr  die  Fensterverwaltung  zustndig ist).  Ein  "single"
     hinter  der Version steht fr ein Singletasking-AES,  ein "multi"
     entsprechend fr ein Multitasking-fhiges.

GDOS: Wenn auf Ihrem Rechner kein GDOS installiert ist, so stehen hier
     nur drei Striche. Andernfalls versucht Chatwin, das GDOS nher zu
     identifizieren.  Gelingt dies nicht, wird einfach "vorhanden" an-
     gegeben,  ansonsten  gegebenenfalls  der Name und die Version des
     GDOS.

Die  letzte  Angabe hngt vom verwendeten Betriebssystem ab:  Wenn Sie
MagiC verwenden, steht hier dessen Versionsnummer.  Haben Sie MiNT in-
stalliert, so steht hier dessen Versionsnummer. Andernfalls finden Sie
hier die Versionsnummer des Gemdos.



5.20 Optionen
=============

In  diesen  Dialogen  knnen  die  Optionen fr das jeweilige Programm
eingegeben  werden.  Die Besonderheit dieser Dialoge:  Sie knnen sich
eine Dialogbox fr Ihren Gebrauch erzeugen lassen.

ber  den  Aufbau  der  Kommandozeile (`Kommandozeile') sollte Sie das
Handbuch des jeweiligen Programms informieren.  Unter `Eintrag fr das
Programm-Men'  knnen  Sie einen Namen eintragen,  unter dem das Pro-
gramm im Programm-Men erscheinen soll.

Mit dem Button `Finden' kann ein anderes Programm angemeldet werden.

Mit dem Button  `Bauen'  knnen Sie sich eine neue Dialogbox erstellen
lassen,  in der Sie die Optionen, die an das Programm bergeben werden
sollen,  einfach  anklicken  knnen.  Genaueres  dazu finden Sie unter
`Optionen erstellen'.

Mit  einem  Doppelklick auf den  `OK'-Button  knnen Sie das jeweilige
Programm  auch  sofort starten,  ohne den Umweg ber das Programm-Men
nehmen zu mssen.

Wenn  Sie  den  Textcursor  in einem der Options-Buttons positionieren
wollen,  so  knnen  Sie das mit einem doppelten Linksklick oder einem
einfachen  Rechtsklick bewerkstelligen.  Fr die Hilfstexte gengt ein
einfacher Linksklick.



5.21 freie Optionsbox
=====================

Mit diesem Dialog knnen Sie sich eine Dialogbox  -  hnlich den Boxen
fr Editor, Compiler, usw.  -  definieren, die nicht an ein bestimmtes
Programm gebunden ist. Gedacht ist dies z.B. fr Optionen, die von den
anderen  stark abweichen (etwa in der Lnge),  oder fr eine Extra-Box
fr die Warnings eines C-Compilers.

Anzahl Optionen
     Hier  knnen  Sie angeben,  wieviele Options-Buttons die neue Box
     haben soll.

     Wollen Sie eine einmal definierte Optionsbox wieder entfernen, so
     knnen Sie hier 0 eintragen.

Lnge der Optionen
     Bestimmt,  wieviele Zeichen fr eine Option bentigt werden.  Bei
     stark  schwankenden  Werten  (wenn  also  eine Option zwei,  eine
     andere aber 10 Zeichen bentigt),  sollten Sie berlegen,  ob Sie
     dies nicht ber Environmentvariable auch anders lsen knnen.

     U.u.  kann es auch ausreichen,  solche "Abweichler" direkt in die
     Kommandozeile zu schreiben.

Lnge der Hilfstexte
     Hier  knnen  Sie  noch Platz fr einen Hilfstext zu jeder Option
     reservieren lassen. Sie knnen sich so zu jeder Option eine Notiz
     ber  deren  Zweck  schreiben.  Es ist aber auch die Angabe 0 zu-
     lssig.

Mit der Angabe `Radio-Buttons' knnen Sie bestimmen, ob immer nur eine
Option oder mehrere gleichzeitig angewhlt werden knnen.

`Optionen trennen'   kann nur angewhlt werden,  wenn  `Radio-Buttons'
nicht  angewhlt  ist.  Sie  bestimmen  hiermit,  ob  die  angewhlten
Optionen  "am Stck"  oder eben getrennt (durch je ein Leerzeichen) in
die Kommandozeile eingesetzt werden sollen.

An  der Stelle der Kommandozeile o. .,  an der die Optionen eingefgt
werden sollen, mssen Sie ein #-Zeichen, gefolgt von einer der Ziffern
6, 7, 8 oder 9 schreiben (d.h. #6 fr die erste "freie" Option, #7 fr
die zweite, usw.).

Nach Anklicken von `OK' erscheint die neue Optionsbox.  Nun knnen Sie
dort Ihre gewnschten Optionstexte eingeben.  Entspricht die Box nicht
Ihren Vorstellungen,  so knnen Sie durch Anwhlen des Buttons `Bauen'
nderungen  vornehmen.  Es  wird Ihnen dann auch die Mglichkeit ange-
boten, schon eingegebene Texte in die neue Box zu bernehmen.

Bei  der  Gestaltung  der  Optionsbox  setzt  natrlich der Bildschirm
Grenzen.  Chatwin  versucht dies notfalls durch Weglassen von Optionen
zu kompensieren.  Dies gilt auch, wenn Optionsboxen, die unter hheren
Auflsungen  entstanden sind,  auf einer niedrigeren Auflsung geladen
werden.

Jede  der  vier  "freien"  Optionsboxen kann zustzlich noch mit einem
Titel versehen werden, der dann auch im Options-Men angezeigt wird.



5.22 Optionen erstellen
=======================

Mit  diesem  Dialog  knnen Sie das Aussehen einer neuen Dialogbox fr
das entsprechende Programm festlegen.

Anzahl Optionen
     Hier  knnen  Sie angeben,  wieviele Options-Buttons die neue Box
     haben soll.

     Wollen Sie eine einmal definierte Optionsbox wieder entfernen, so
     knnen Sie hier  0  eintragen  (es  erscheint  wieder  die kleine
     Optionsbox ohne Options-Buttons).

     Als Beispiel sei fr den Pure C-Compiler die Zahl 18 genannt.

Lnge der Optionen
     Bestimmt,  wieviele Zeichen fr eine Option bentigt werden.  Bei
     stark  schwankenden  Werten  (wenn  also  eine Option zwei,  eine
     andere aber 10 Zeichen bentigt),  sollten Sie berlegen,  ob Sie
     dies nicht ber Environmentvariable auch anders lsen knnen.

     U.u.  kann es auch ausreichen,  solche "Abweichler" direkt in die
     Kommandozeile zu schreiben.

     Beispiel Pure C: zwei Zeichen

Lnge der Hilfstexte
     Hier  knnen  Sie  noch Platz fr einen Hilfstext zu jeder Option
     reservieren lassen. Sie knnen sich so zu jeder Option eine Notiz
     ber  deren  Zweck  schreiben.  Es ist aber auch die Angabe 0 zu-
     lssig.

     Beispiel Pure C: etwa 16 Zeichen

Mit der Angabe `Radio-Buttons' knnen Sie bestimmen, ob immer nur eine
Option oder mehrere gleichzeitig angewhlt werden knnen. Als Beispiel
knnte man fr einen Editor die Art des Textes auf Radio-Buttons legen
(%.c, %.s, etc.).

`Optionen trennen'  kann  nur angewhlt werden,  wenn  `Radio-Buttons'
nicht  angewhlt  ist.  Sie  bestimmen  hiermit,  ob  die  angewhlten
Optionen  "am Stck"  oder eben getrennt (durch je ein Leerzeichen) in
die Kommandozeile eingesetzt werden sollen.

An der Stelle der Kommandozeile,  an der die Optionen eingefgt werden
sollen,   mssen  Sie  ein  #-Zeichen,  gefolgt  von  der  Nummer  des
jeweiligen Programms (d.h. 1 fr den Editor, 2 fr den Compiler, usw.)
schreiben.   Chatwin  ersetzt  dann  z.B.  `#2'  durch die angewhlten
Compileroptionen `-m -p -y'.

Nach Anklicken von `OK' verschwindet die bisherige Optionsbox und wird
durch eine neue ersetzt. Nun knnen Sie dort Ihre gewnschten Options-
texte  eingeben.  Entspricht  die  Box  nicht Ihren Vorstellungen,  so
knnen  Sie  durch  nochmaliges Anwhlen von  `Bauen'  nderungen vor-
nehmen.  Es wird Ihnen dann auch die Mglichkeit angeboten, schon ein-
gegebene Texte in die neue Box zu bernehmen  (die Kommandozeile,  der
Eintrag  fr  das  Programm-Men sowie die Schalter werden automatisch
bernommen).

Bei  der  Gestaltung  der  Optionsbox  setzt  natrlich der Bildschirm
Grenzen.  Chatwin  versucht dies notfalls durch Weglassen von Optionen
zu kompensieren.  Dies gilt auch, wenn Optionsboxen, die unter hheren
Auflsungen  entstanden sind,  auf einer niedrigeren Auflsung geladen
werden.

Die  Lage  der Buttons `Finden', `Bauen' und `Hilfe' ist von der Gre
der  Optionsbox  abhngig.  Der  Normalfall  ist  die Lage wie bei der
ursprnglichen Optionsbox,  d.h.  `Finden' und `Bauen' liegen oberhalb
von  `Abbruch',  `Hilfe'  ganz  links  unten.  Unter Umstnden mu der
`Hilfe'-Button  ganz weggelassen werden und die beiden anderen Buttons
nach links (neben `OK') verschoben werden.



5.23 Setting
============

Da  man  in Chatwin sehr viele Einstellungen ttigen kann,  ist es nur
sinnvoll, da man diese auch irgendwie speichern kann.  Dazu dient das
sogenannte Setting. Dabei handelt es sich um Dateien mit der Extension
*.SET, die alle diese Informationen aufnehmen.

Im Setting werden gespeichert:

- Die Einstellungen aus den Dialogen
  * Einstellungen
  * Programmstart
  * Hintergrund
  * Drucker
  * Menkrzel
  * Gerusche
  * Takefiles finden
  * Formatieren

- der aktuelle Quelltext

- Die fnf Programme  (Editor, Compiler, Assembler, Linker, Debugger),
  ihre Kommandozeilen und evtl. angelegte Optionsboxen

- Die bis zu acht weiteren Programme aus dem Programm-Men

- evtl. angelegte freie Optionsboxen

- das  zuletzt  ber den Menpunkt `anderes ...' aus dem Programm-Men
  gestartete Programm (und die evtl. bergebenen Parameter)

- die Belegung der Funktionstasten

- Lage  und  Gre  des Console-Fensters  (wenn es offen war,  als das
  Setting gesichert wurde)

- Lage und Gre der Dateiliste  (wenn sie offen war,  als das Setting
  gesichert wurde). Der Inhalt der Dateiliste wird in einer Extradatei
  gesichert,  die  den  gleichen  Namen wie das Setting,  aber mit der
  Extension *.LST, erhlt.

- wenn Console und Dateiliste offen waren:  Welches der beiden Fenster
  das oberste war

- ID  und  Gre  der Fonts,  die fr Console und Dateiliste verwendet
  werden

Ein Setting kann mit dem Menpunkt  `Setting sichern'  unter einem be-
liebigen Namen gespeichert werden.  Mit dem Menpunkt  `Setting laden'
kann jederzeit ein neues Setting geladen werden.

Beim  Start  sucht  Chatwin  im aktuellen Verzeichnis nach einer Datei
CHATWIN.SET,  die,  sofern  vorhanden,  dann gleich geladen wird.  An-
schlieend   wird   aus  diesem  Verzeichnis  ggfs.  noch  eine  Datei
AUTOTAKE.T und eine Druckeranpassung PRINTER.CFG geladen.

Beim  Nachladen  eines Settings ber den Menpunkt `Setting laden' aus
dem Optionen-Men sucht Chatwin zunchst noch nach einem Takefile, das
den gleichen Namen wie das Setting hat.  Dieses wird dann ggfs. ausge-
fhrt. Andernfalls wird auch hier noch nach einem AUTOTAKE.T gesucht.

Ist  die  Console  beim Laden eines Settings bereits offen,  so werden
Lage,  Gre und Font nicht aus dem Setting bernommen  (gleiches gilt
fr  die  Dateiliste - deren  Inhalt wird aber durch die entsprechende
LST-Datei ersetzt).




======================================================================
6. Die Chatwin-Kommandosprache
======================================================================

Die folgenden Befehle bilden die Chatwin-Kommandosprache:

Programmstart:
     as      - Assembler aufrufen
     cc      - Compiler aufrufen
     db      - Debugger aufrufen
     ed      - Editor aufrufen
     errfile - Editor mit einer Fehlerdatei aufrufen
     ld      - Linker aufrufen

Datei- und Verzeichnisoperationen:
     append  - Ausgabeumlenkung
     cd      - aktuellen Pfad wechseln
     cp      - Dateien und Verzeichnisse kopieren
     force   - Ausgabeumlenkung
     fsdir   - Dateien und Verzeichnisse suchen
     join    - Dateien aneinanderhngen
     ls      - Inhaltsverzeichnis anzeigen
     mkdir   - Verzeichnisse anlegen
     mv      - Dateien und Verzeichnisse verschieben bzw. umbenennen
     rm      - Dateien und Verzeichnisse lschen
     rmdir   - leere Verzeichnisse lschen
     touch   - Datei mit aktueller Uhrzeit versehen

Interaktion mit dem Anwender:
     alert   - Alertbox anzeigen
     cls     - Console-Fenster lschen
     echo    - Text ausgeben
     fselect - Fileselektor aufrufen
     help    - Hilfe(text) anzeigen
     more    - Dateien anzeigen
     play    - Soundfiles abspielen

Ablaufsteuerung in Takefiles:
     if      - Bedingte Abarbeitung von Befehlen
     repeat  - Befehle wiederholt ausfhren
     return  - Takefile oder Macro beenden
     while   - Befehle wiederholt ausfhren

Makro-Befehle:
     alias   - Einzeilen-Makro definieren
     macro   - Mehrzeilenmakros definieren
     unalias - Makros lschen

Befehle zur Dateiliste:
     addlist - Datei in Dateiliste aufnehmen
     dellist - Datei(en) aus Dateiliste lschen
     getlist - Dateiliste auslesen

Sonstige Befehle:
     env     - Environmentvariable anlegen
     exit    - Console-Fenster schlieen
     fkey    - Funktionstastenbelegung
     fname   - Arbeitsdatei festlegen
     fsplit  - Dateiname zerlegen
     pwait   - auf einen Proze warten
     quit    - Chatwin verlassen
     shift   - Parameterliste schieben
     take    - Takefiles starten
     wait    - Warten auf Tasten- oder Maustastendruck
     which   - Ermitteln, welcher Befehl ausgefhrt wird

Diese  Befehle  knnen  Sie in der Console im Direktmodus eingeben und
ausfhren lassen, oder Sie schreiben eine Abfolge von Befehlen in eine
Datei,  ein  sogenanntes Takefile.  Ein Takefile mu die Extension *.T
haben  und  kann  durch  Eingabe  seines Namens (mit Extension) in der
Console  oder  durch  Auswahl ber den Menpunkt `anderes Takefile' im
Take-Men gestartet werden.

Beim  Start sucht Chatwin im aktuellen Verzeichnis nach einem Takefile
namens  `AUTOTAKE.T'.  Wird dies gefunden, so wird es ausgefhrt, noch
bevor  der Chatwin-Desktop erscheint.  Hier  knnen Sie dann z.B. Ihre
Lieblingsmakros unterbringen. Wenn Sie ein Setting-File ber den Men-
punkt  `Setting laden' aus dem Optionen-Men nachladen,  wird zunchst
im gleichen Verzeichnis,  in dem das SET-File steht,  nach einem Take-
file mit dem gleichen Namen (wie das Setting) gesucht und dieses ggfs.
ausgefhrt.  Wird  kein solches Takefile gefunden,  sucht Chatwin auch
noch nach einem AUTOTAKE.T.



6.1 Kommandobersicht
=====================

     addlist - Datei in Dateiliste aufnehmen
     alert   - Alertbox anzeigen
     alias   - Einzeilen-Makro definieren
     append  - Ausgabeumlenkung
     as      - Assembler aufrufen
     cc      - Compiler aufrufen
     cd      - aktuellen Pfad wechseln
     cls     - Console-Fenster lschen
     cp      - Dateien und Verzeichnisse kopieren
     db      - Debugger aufrufen
     dellist - Datei(en) aus Dateiliste lschen
     echo    - Text ausgeben
     ed      - Editor aufrufen
     env     - Environmentvariable anlegen
     errfile - Editor mit einer Fehlerdatei aufrufen
     exit    - Console-Fenster schlieen
     fkey    - Funktionstastenbelegung
     fname   - Arbeitsdatei festlegen
     force   - Ausgabeumlenkung
     fsdir   - Dateien und Verzeichnisse suchen
     fselect - Fileselektor aufrufen
     fsplit  - Dateiname zerlegen
     getlist - Dateiliste auslesen
     help    - Hilfe(text) anzeigen
     if      - Bedingte Abarbeitung von Befehlen
     join    - Dateien aneinanderhngen
     ld      - Linker aufrufen
     ls      - Inhaltsverzeichnis anzeigen
     macro   - Mehrzeilenmakros definieren
     mkdir   - Verzeichnisse anlegen
     more    - Dateien anzeigen
     mv      - Dateien und Verzeichnisse verschieben bzw. umbenennen
     play    - Soundfiles abspielen
     pwait   - auf einen Proze warten
     quit    - Chatwin verlassen
     repeat  - Befehle wiederholt ausfhren
     return  - Takefile oder Macro beenden
     rm      - Dateien und Verzeichnisse lschen
     rmdir   - leere Verzeichnisse lschen
     shift   - Parameterliste schieben
     take    - Takefiles starten
     touch   - Datei mit aktueller Uhrzeit versehen
     unalias - Makros lschen
     wait    - Warten auf Tasten- oder Maustastendruck
     which   - Ermitteln, welcher Befehl ausgefhrt wird
     while   - Befehle wiederholt ausfhren



6.2 addlist
===========

NAME
     addlist - Datei in die Dateiliste aufnehmen

SYNOPSIS
     addlist dateiname

BESCHREIBUNG
     Die angebene Datei wird am Ende der Dateiliste eingefgt. Handelt
     es  sich  bei  der Datei um den aktuellen Quelltext,  so wird der
     Eintrag noch mit einem Grer-Zeichen '>' markiert.

SIEHE AUCH
     dellist, getlist



6.3 alert
=========

NAME
     alert - Alertbox anzeigen

SYNOPSIS
     alert [icon][text][buttons]

BESCHREIBUNG
     Zeigt  eine  Alertbox an.  Im Gegensatz zu den anderen Befehlsbe-
     schreibungen  mssen  die  eckigen Klammern diesmal mit angegeben
     werden!

     Die  Syntax entspricht der bei der AES-Funktion form_alert() ver-
     wendeten:  In  den  ersten eckigen Klammern wird die Nummer eines
     anzuzeigenden Icons eingesetzt. Als Icons stehen zur Auswahl:

        [0] kein Icon
        [1] ein Ausrufezeichen
        [2] ein Fragezeichen
        [3] ein Stopschild

     In  den  zweiten  eckigen Klammern steht der eigentliche Text der
     Alertbox.  Einzelne  Zeilen knnen mit einem senkrechten Strich |
     voneinander  getrennt  werden.  Es stehen maximal fnf Textzeilen
     mit je maximal 30 Zeichen zur Verfgung.

     In  den  dritten  eckigen Klammern stehen,  ebenfalls durch senk-
     rechte Striche getrennt,  bis zu drei Buttontexte.  Dies sind die
     Alternativen, unter denen der Anwender eine auswhlen mu.

     Zwischen den drei Klammerpaaren drfen keine Leer- oder sonstigen
     Zeichen stehen!

     Defaultbutton  (d.h. der Button,  der auch mit der [Return]-Taste
     angewhlt  werden  kann),  ist  immer  der erste Button.  Welcher
     Button  angewhlt wurde,  steht anschlieend in der Variablen $?,
     die sonst fr den Programmrckgabewert verwendet wird.  $? ist 1,
     wenn der erste Button angewhlt wurde, 2 fr den zweiten, usw.

BEISPIEL
     alert [2][Datei lschen?][Ja|Nein]

SIEHE AUCH
     if



6.4 alias
=========

NAME
     alias - Einzeilen-Makro definieren

SYNOPSIS
     alias [macroname [definition]]

BESCHREIBUNG
     Definition  eines  Einzeilen-Makros (im folgenden Alias genannt).
     Parameter, die an den Alias bergeben werden, sind mit den Platz-
     haltern $0, ..., $9 (fr den ersten, ..., zehnten Parameter) bzw.
     $*  (fr alle bergebenen Parameter "am Stck")  verfgbar.

     Es ist auch mglich,  die Chatwin-Befehle durch Aliases umzudefi-
     nieren. Somit knnen Sie statt eines bestimmten Befehls immer ein
     Programm  (z.B. mit hnlicher Funktionalitt)  ausfhren  lassen,
     oder einen Befehl immer mit einer bestimmten Option aufrufen

     Ohne  Parameter zeigt der Befehl alle Aliases und Macros an,  mit
     nur  einem Makronamen wird nur dieses Makro angezeigt  (es knnen
     auch Quantoren verwendet werden).


BEISPIELE
     alias dir ls $*       ; dir-Befehl definieren
     alias dir             ; Definition des dir-Befehls anzeigen
     alias d*              ; alle Makros beginnend mit `d' anzeigen

     alias ls ls.ttp $*    ; statt ls soll immer das Programm ls.ttp
                             aufgerufen werden
     alias ls ls -v $*     ; ls soll immer mit Parameter -v aufgerufen
                             werden

SIEHE AUCH
      macro, unalias, ls



6.5 append
==========

NAME
     append - Ausgabeumlenkung

SYNOPSIS
     append device

BESCHREIBUNG
     Ausgabeumlenkung ber mehrere Befehle hinweg. Im Gegensatz zu der
     blichen Ausgabeumlenkung mit >>device  (die in Chatwin natrlich
     auch mglich ist) wird hiermit die Ausgabe umgelenkt,  bis entwe-
     der eine neue Umlenkung erfolgt oder das gerade laufende Takefile
     zuende ist.

     Im Gegensatz zu force wird bei einer Umlenkung in eine Datei die-
     se nicht berschrieben,  sondern geffnet und die Ausgaben an den
     vorhandenen Dateiinhalt angehngt.

     Kann in der Console im Direktmodus nicht verwendet werden!

     Mgliche Angaben fr `device':
        - ein Dateiname,
        - PRT:,
          PRN:  (Drucker, mit Zeichenwandlung),
        - LST:  (Drucker, ohne Zeichenwandlung),
        - AUX:  (serielle Schnittstelle),
        - CLIP: (Datei SCRAP.TXT auf dem Clipboard),
        - NIL:  (Nulldevice, d.h. die Ausgaben werden "verschluckt")
        - CON:  (Console, d.h. die Ausgabeumlenkung wird rckgngig
                 gemacht)

SIEHE AUCH
     force



6.6 as
======

NAME
     as - Assembler aufrufen

SYNOPSIS
     as [parameterliste]

BESCHREIBUNG
     Ruft  den  Assembler  (d.h. das dritte Programm aus dem Programm-
     Men)  auf.  Fehlt  die  Parameterliste,  so werden die Parameter
     bergeben,   die   im  entsprechenden  Optionen-Dialog  angegeben
     wurden.

SIEHE AUCH
     cc, db, ed, ld



6.7 cc
======

NAME
     cc - Compiler aufrufen

SYNOPSIS
     cc [parameterliste]

BESCHREIBUNG
     Ruft  den  Compiler  (d.h.  das zweite Programm aus dem Programm-
     Men)  auf.  Fehlt  die  Parameterliste,  so werden die Parameter
     bergeben,   die   im  entsprechenden  Optionen-Dialog  angegeben
     wurden.

SIEHE AUCH
     as, db, ed, ld



6.8 cd
======

NAME
     cd - aktuellen Pfad wechseln

SYNOPSIS
     cd [pfad]

BESCHREIBUNG
     Wechselt  in  den  angegebenen Pfad bzw. zeigt den aktuellen Pfad
     an. Beim Setzen eines Pfades wird dieser auch in der Environment-
     variable $CD abgelegt.

     Soll nur das Laufwerk gewechselt werden,  so gengt die alleinige
     Eingabe des Laufwerksbuchstabens, gefolgt von einem Doppelpunkt.

BEISPIELE
     cd e:/tex    ; wechselt in das Verzeichnis "tex" auf Laufwerk E:
     cd           ; zeigt das aktuelle Verzeichnis an
     e:           ; wechselt zum aktuellen Verzeichnis auf Laufwerk E:

SIEHE AUCH
     env



6.9 cls
=======

NAME
     cls - Console-Fenster lschen

SYNOPSIS
     cls

BESCHREIBUNG
     Lscht  den  Inhalt  des Console-Fensters und setzt den Cursor in
     die linke obere Ecke.



6.10 cp
=======

NAME
     cp - Dateien und Verzeichnisse kopieren

SYNOPSIS
     cp [-v] filespec1 [filespec2]

BESCHREIBUNG
     Dateien  und Verzeichnisse kopieren.  Fehlt die zweite Spezifika-
     tion, so wird in das aktuelle Verzeichnis kopiert.  In der ersten
     Spezifikation drfen auch Quantoren verwendet werden.

     Der  cp-Befehl kann auch den Dateikopierer Kobold aufrufen.  Dazu
     mssen aber folgende Voraussetzungen erfllt sein:
      - das Ziel der Kopieraktion mu auf einem TOS-Filesystem liegen
      - es  mssen  ganze  Ordner oder mehrere Dateien (mit Quantoren)
        kopiert werden
      - unter SingleTOS mu der Kobold als ACC installiert sein (unter
        einem  Multitasking-System  kann  er  auch als Proze parallel
        laufen)
      - wenn  der  Kobold nicht bereits luft,  kann Chatwin ihn unter
        einem Multitasking-System nachstarten, wenn er unter dem Namen
        KOBOLD_2.PRG  oder  KOBOLD_3.PRG in dem Verzeichnis liegt, das
        in der Environmentvariablen $KOBOLD_PATH angegeben ist

OPTIONEN
     -v  Die Namen der Dateien, die gerade kopiert werden, werden auf
         dem Bildschirm ausgegeben.

SIEHE AUCH
     join, mv



6.11 db
=======

NAME
     db - Debugger aufrufen

SYNOPSIS
     db [parameterliste]

BESCHREIBUNG
     Ruft  den  Debugger  (d.h.  das fnfte Programm aus dem Programm-
     Men)  auf.  Fehlt  die  Parameterliste,  so werden die Parameter
     bergeben,   die   im  entsprechenden  Optionen-Dialog  angegeben
     wurden.

SIEHE AUCH
     as, cc, ed, ld



6.12 dellist
============

NAME
     dellist - Datei(en) aus der Dateiliste lschen

SYNOPSIS
     dellist filespec

BESCHREIBUNG
     Alle  Dateien der Dateiliste,  auf die filespec pat,  werden aus
     der  Liste  gelscht.  filespec kann dabei die blichen Quantoren
     enthalten.

BEISPIELE
     dellist *     ; lscht die komplette Dateiliste
     dellist *.c   ; lscht alle C-Quelltexte aus der Liste

SIEHE AUCH
     addlist, getlist



6.13 echo
=========

NAME
     echo - Text ausgeben

SYNOPSIS
     echo [-n] [text]

BESCHREIBUNG
     Gibt einen Text aus. Ohne Text wird nur ein Zeilenvorschub ausge-
     geben.

OPTIONEN
     -n  Nach dem Text wird kein Zeilenvorschub ausgegeben.



6.14 ed
=======

NAME
     ed - Editor aufrufen

SYNOPSIS
     ed [parameterliste]

BESCHREIBUNG
     Ruft  den Editor  (d.h. das erste Programm aus dem Programm-Men)
     auf. Fehlt die Parameterliste, so werden die Parameter bergeben,
     die im entsprechenden Optionen-Dialog angegeben wurden.

     Hier  gibt  es noch eine Besonderheit:  Gibt der Editor eine 1, 2
     oder 3 zurck, so wird das Takefile mit der entsprechenden Nummer
     aus  dem Take-Men gestartet.  Bei Verwendung des Editors Everest
     kann man somit durch Drcken von  [Control]  und einer der Tasten
     [1],  [2]  oder [3] auf dem Zifferntastenblock den aktuellen Text
     abspeichern,  den  Editor verlassen und ein Takefile starten las-
     sen  (andere  Editoren  bieten  hnliche Funktionen an).  All das
     funktioniert genau dann, wenn der Editor ber den Eintrag im Pro-
     gramm-Men oder ber den Befehl ed im Direktmodus (also nicht aus
     einem Takefile heraus!) gestartet wurde.

SIEHE AUCH
     as, cc, db, errfile, ld



6.15 env
========

NAME
     env - Environmentvariable anlegen

SYNOPSIS
     env [variable=definition]

BESCHREIBUNG
     Hiermit  kann man Environmentvariablen (EnvVars) definieren.  Der
     Befehl   ohne  Parameter  zeigt alle definierten EnvVars an,  mit
     `variable='  kann  man  eine Variable auf einen Leerstring setzen
     und mit `env variable' kann man sie ganz lschen.

     Eine EnvVar kann (fast) berall eingesetzt werden. Man setzt dazu
     ein $-Zeichen vor den Namen:

        env TEST=Hallo     ; EnvVar TEST anlegen
        echo $TEST         ; Inhalt von TEST ausgeben


     Chatwin untersttzt eine Reihe spezieller Environmentvariablen.



6.15.1 Environmentvariablen
---------------------------

Chatwin untersttzt die folgenden speziellen Environment-Variablen (in
diesem Text meist mit "EnvVar" abgekrzt),  die mit dem env-Befehl an-
gelegt werden knnen:

   $AVSERVER  Name eines Desktops, der das VA-Protokoll untersttzt.
              Der Inhalt der Variablen mu genau dem Dateinamen des
              Programms (ohne Pfad und Extension) entsprechen. Die
              Variable mu schon vor dem Start von Chatwin angelegt
              worden sein!

   $CD        hier steht immer der aktuelle Pfad (Setzen der Variablen
              ist nutzlos, der aktuelle Pfad kann nur ber den Befehl
              cd gendert werden).

   $COLUMNS   enthlt die Anzahl Spalten, die z.Z. im Console-Fenster
              sichtbar sind (Setzen der Variablen hat keine Aus-
              wirkungen).

   $FONTSELECT hier stehen (ggfs. mehrere) Namen von Programmen
               (getrennt durch Semikolon), die als externer Font-
               selektor ber die FONT_SELECT-Nachricht aufgerufen
               werden knnen.

   $FSPATH,
   $FSNAME,
   $FSEXT     Pfad, Name und Extension. Wird von den Befehlen fsdir,
              fselect und fsplit verwendet.

   $HOME      in diesem Verzeichnis sucht Chatwin beim Programmstart
              nach seinem Setting (CHATWIN.SET), wenn er es nicht im
              aktuellen  Verzeichnis finden konnte.  Zuvor wird auch
              noch das Verzeichnis $HOME/defaults durchsucht (sofern
              es vorhanden ist).

   $KOBOLD_PATH enthlt den Pfad (und nur den Pfad!), in dem das Pro-
              gramm KOBOLD_2.PRG oder KOBOLD_3.PRG steht, das bei be-
              stimmten Kopieraktionen nachgestartet wird (nur unter
              Multitasking-Systemen und wenn es nicht bereits paral-
              lel, z.B. als Accessory, luft).

   $LINES     enthlt die Anzahl Zeilen, die z.Z. im Console-Fenster
              sichtbar sind (Setzen der Variablen hat keine Aus-
              wirkungen).

   $LISTENTRY wird vom Befehl getlist gesetzt.

   $MiNT_KLUDGE aktiviert einen "Workaround" fr einen Fehler in MiNT
              (siehe "Programm starten").

   $PRGEXT    Extension eines ausfhrbaren Programms. Wird vom Men-
              punkt `neues PRG' ausgewertet.

   $PRGPATH   Pfad, in dem die bersetzten Programme stehen. Wird vom
              Menpunkt `neues PRG' ausgewertet.

   $PS1       Der Inhalt dieser Variable wird als Prompt in der
              Console verwendet. Fehlt diese Variable, so wird "A>"
              verwendet (statt "A" steht immer der Buchstabe des
              aktuellen Laufwerks). Soll im neuen Prompt der Lauf-
              werksbuchstabe erscheinen, so ist dafr ein @ einzu-
              setzen, z.B. "{@}".

              Weitere Mglichkeiten:
              &P, &p  werden durch den aktuellen Pfad ersetzt (bei &P
                      in Grobuchstaben, bei &p in Kleinbuchstaben)
              &D, &d  nochmal der aktuelle Pfad, diesmal aber in der
                      von der MiNT-Lib bevorzugten dev-Schreibweise
                      (bei &D in Gro-, bei &d in Kleinbuchstaben)
              &i      reverse Darstellung ein
              &I      reverse Darstellung aus
              &&      ein(!) &-Zeichen
              &%      ein %-Zeichen

              Aber Achtung: Enthlt $PS1 ein %-Zeichen, so wird dieses
              auch ausgewertet und durch den aktuellen Quelltext er-
              setzt. Allerdings wird das %-Zeichen bereits bei der
              Eingabe des env-Befehls ausgewertet, was durch Voran-
              stellen eines $-Zeichens verhindert werden kann (siehe
              Quotes).

              Beispiele:
                 env PS1=&$%     ; %-Zeichen als Prompt
                 env PS1=$%$%$>  ; aktuellen Quelltext als Prompt

   $SEPROTO   Diese Variable existiert genau dann, wenn Chatwin
              (mindestens) ein Programm bekannt ist, das das
              SE-Protokoll untersttzt.
              Die Variable hat z.Z. keinen Wert und dient dazu, in
              Takefiles ggfs. anders zu reagieren, wenn der Editor per
              SE-Protokoll aufgerufen wird.

   $SHIFT     ein "herausgeschobener" Parameter, siehe shift.

   $SHSHOW    Name und Pfad eines Programms, das den more-Befehl er-
              setzen soll (wird auch ber den Menpunkt `Anzeigen'
              aufgerufen), z.B. Zeig's mir.

   $SRCPATH,
   $SRCNAME,
   $SRCEXT    Pfad, Name und Extension des aktuellen Quelltextes (zu-
              stzlich zu % und %%).

   $TAKE      gibt den Pfad an, in dem Takefiles gesucht werden.
              Wenn Sie ein Takefile aus der Console heraus starten
              wollen, knnen Sie z.B. einfach "test.t" eingeben. Wenn
              sich das Takefile in dem angegebenen Pfad befindet, wird
              es dann von dort gestartet.

   $View      Name und Pfad eines Programms, das den more-Befehl er-
              setzen soll (wird auch ber den Menpunkt `Anzeigen'
              aufgerufen) und das auch das View-Protokoll beherrscht,
              z.B. Zeig's mir.



6.16 errfile
============

NAME
     errfile - Editor mit Fehlerdatei aufrufen

SYNOPSIS
     errfile fehlerdatei quelltext

BESCHREIBUNG
     Ruft  den Editor  (d.h. das erste Programm aus dem Programm-Men)
     auf  und  bergibt die beiden Dateien.  Wenn der Editor das soge-
     nannte SE-Protokoll untersttzt, dann werden die Dateien ber die
     Nachricht SE_ERRFILE bergeben.

     Dabei  enthlt  die  Datei  "fehlerdatei"  eine Liste von Fehler-
     meldungen,  wie  sie von einem Compiler ausgegeben wurden und die
     Datei  "quelltext"  stellt  den  Quelltext dar,  auf den sich die
     Fehlermeldungen beziehen.

     Ist  kein  Editor bekannt,  der das SE-Protokoll untersttzt,  so
     entspricht der Befehl dem Aufruf

          ed quelltext fehlerdatei

     d.h. die Dateien werden in umgekehrter Reihenfolge bergeben.

SIEHE AUCH
     ed



6.17 exit
=========

NAME
     exit - Console-Fenster schlieen

SYNOPSIS
     exit

BESCHREIBUNG
     Schliet das Console-Fenster.

     Den  gleichen  Effekt  erzielen Sie durch einen Mausklick auf den
     Closer des Console-Fensters, mit dem Menpunkt `schliee Fenster'
     oder dem entsprechenden Tastaturkrzel.

SIEHE AUCH
     quit



6.18 fkey
=========

NAME
     fkey - Funktionstastenbelegung

SYNOPSIS
     fkey [nr [text]]

BESCHREIBUNG

     fkey  ohne  Parameter  zeigt die Belegung der Funktionstasten an.
     Belegt werden knnen Funktionstasten auf zwei Arten: Entweder man
     tippt  einfach den gewnschten Text in der Console ein und drckt
     dann [Shift] zusammen mit der gewnschten F-Taste,  oder man ver-
     wendet fkey mit Parametern:  Der erste Parameter gibt die Tasten-
     nummer (1 bis 10) an,  dahinter folgt der Text, der auf die Taste
     gelegt  werden  soll.  Fehlt  der Text,  so wird die Belegung der
     Taste gelscht.

     Ist  das letzte Zeichen des Textes auf einer F-Taste ein | (senk-
     rechter  Strich,  Character 124),  so wird beim Abruf der F-Taste
     gleich ein [Return] mit ausgegeben,  d.h. der Befehl, der auf der
     Funktionstaste liegt, wird gleich ausgefhrt.

     Die Belegung der Funktionstasten wird auch im Setting gesichert.



6.19 fname
==========

NAME
     fname - Arbeitsdatei festlegen

SYNOPSIS
     fname [file]

BESCHREIBUNG
     Legt die aktuelle Arbeitsdatei fest bzw. zeigt diese an.

     Der Name der Arbeitsdatei (ohne Extension) ist - hnlich wie Env-
     Vars jederzeit durch das %-Zeichen verfgbar.  Der Name der Datei
     allein  (ohne Pfad und ohne Extension) ist durch ein doppeltes %-
     Zeichen (%%) verfgbar.

     Zustzlich werden Pfad,  Name und Extension der Arbeitsdatei noch
     in den drei EnvVars $SRCPATH, $SRCNAME und $SRCEXT abgelegt.

SIEHE AUCH
     env



6.20 force
==========

NAME
     force - Ausgabeumlenkung

SYNOPSIS
     force device

BESCHREIBUNG
     Ausgabeumlenkung ber mehrere Befehle hinweg. Im Gegensatz zu der
     blichen Ausgabeumlenkung mit  >device  (die in Chatwin natrlich
     auch mglich ist) wird hiermit die Ausgabe umgelenkt,  bis entwe-
     der eine neue Umlenkung erfolgt oder das gerade laufende Takefile
     zuende ist.

     Kann in der Console im Direktmodus nicht verwendet werden!

     Mgliche Angaben fr `device':
        - ein Dateiname,
        - PRT:,
          PRN:  (Drucker, mit Zeichenwandlung),
        - LST:  (Drucker, ohne Zeichenwandlung),
        - AUX:  (serielle Schnittstelle),
        - CLIP: (Datei SCRAP.TXT auf dem Clipboard),
        - NIL:  (Nulldevice, d.h. die Ausgaben werden "verschluckt")
        - CON:  (Console, d.h. die Ausgabeumlenkung wird rckgngig
                 gemacht)

SIEHE AUCH
     append



6.21 fselect
============

NAME
     fselect - Fileselektor aufrufen

SYNOPSIS
     fselect [berschrift]

BESCHREIBUNG
     Ruft  den  Fileselektor  (ggfs.  mit einer berschrift) auf.  Die
     Rckgabe der ausgewhlten Datei erfolgt ber drei EnvVars:

       $FSEXT   enthlt die Extension der angewhlten Datei.
       $FSNAME  enthlt den Namen der ausgewhlten Datei (ohne Pfad!).
                Ist $FSNAME leer,  wurde entweder `Abbruch' angewhlt,
                oder keine Datei ausgewhlt.
       $FSPATH  enthlt den Pfadnamen der ausgewhlten Datei  (nur den
                Pfad!).  Man kann auch Ordner anwhlen,  indem man sie
                ffnet und dann - ohne eine Datei auszuwhlen - OK an-
                klickt. Dann  enthlt  $FSPATH  den Namen und Pfad des
                Ordners.

     Den kompletten Namen erhlt man also mit $FSPATH\$FSNAME.$FSEXT

     Wurde  im  Fileselektor  "Abbruch" angeklickt,  so sind alle drei
     Variablen leer (oder evtl. auch gar nicht vorhanden).

SIEHE AUCH
     env



6.22 fsdir
==========

NAME
     fsdir - Dateien und Ordner finden

SYNOPSIS
     fsdir [filespec]

BESCHREIBUNG
     Mit  diesem  Befehl kann ein Verzeichnis nach Dateien und Ordnern
     durchsucht  werden.  Zunchst  gibt  man bei fsdir einen Pfad und
     eine  Suchmaske an.  Die Rckgabe gefundener Dateien erfolgt ber
     die Environmentvariablen $FSPATH,  $FSNAME und $FSEXT.  Bei jedem
     weiteren  Aufruf  von fsdir (ohne Parameter) wird das Verzeichnis
     nach  weiteren  Dateien durchsucht,  auf die die zuvor angegebene
     Maske pat.

     Der  Name eines gefundenen Objekts wird in $FSNAME abgelegt,  die
     Extension  in $FSEXT.  War das Objekt ein Ordner,  so ist $FSPATH
     leer, andernfalls steht dort nochmals der Pfad, der gerade durch-
     sucht wird.  Ist $FSNAME leer, so wurden keine (weiteren) Objekte
     gefunden.

BEISPIEL
     ; Diese Befehlsfolge gibt alle C-Quelltexte aus, die in dem
     ; angegebenen Verzeichnis stehen
     fsdir d:/pure/sources/*.c ; Suche auf C-Dateien beschrnken
     while !env(FSNAME=)       ; solange $FSNAME nicht leer
       if env($FSPATH=)        ; ist es ein Ordner?
         echo Ordner: $FSNAME.$FSEXT
       else
         echo $FSPATH/$FSNAME.$FSEXT
       endif
       fsdir                   ; weitersuchen
     wend

SIEHE AUCH
     env



6.23 fsplit
===========

NAME
     fsplit - Dateiname zerlegen

SYNOPSIS
     fsplit filename

BESCHREIBUNG
     Zerlegt einen Filenamen in die  drei EnvVars $FSPATH, $FSNAME und
     $FSEXT.

SIEHE AUCH
     env, fselect



6.24 getlist
============

NAME
     getlist - Dateiliste auslesen

SYNOPSIS
     getlist [filespec]

BESCHREIBUNG
     Mit getlist knnen die in der Dateiliste enthaltenen Dateien aus-
     gelesen werden.  Mit filespec kann die Suche in der Liste auf be-
     stimmte  Dateien  beschrnkt  werden.  Ein Aufruf von getlist mit
     einer filespec liefert den ersten passenden Eintrag in der EnvVar
     $LISTENTRY. Durch weitere Aufrufe von getlist ohne Parameter kann
     der  Rest  der Liste ausgelesen werden.  Das Ende der Liste wurde
     erreicht, wenn $LISTENTRY leer ist.

BEISPIEL
     ; Diese Befehlsfolge gibt alle C-Quelltexte aus, die in der
     ; Dateiliste stehen
     getlist *.c              ; Suche auf C-Dateien beschrnken
     while !env(LISTENTRY=)   ; solange $LISTENTRY nicht leer
       echo $LISTENTRY        ; ausgeben
       getlist                ; nchster Eintrag
     wend

SIEHE AUCH
     addlist, dellist, env



6.25 help
=========

NAME
     help - Hilfe(text) anzeigen

SYNOPSIS
     help [text]

BESCHREIBUNG
     Zeigt eine Liste der verfgbaren Befehle an. Ein bergebener Text
     wird   zunchst  unter  den  Makros gesucht  (ggfs. wird dann die
     Definition des Makros ausgegeben),  und im Falle eines Mierfolgs
     an das Hilfe-ACC (siehe "Einstellungen") bergeben.



6.26 if
=======

NAME
     if - Bedingte Abarbeitung von Befehlen

SYNOPSIS
     if bedingung
       Befehl(e)
     elsif bedingung2
       Befehl(e)
     elsif bedingung3
     ...
     else
       Befehl(e)
     endif

BESCHREIBUNG
     Das  if-Konstrukt  ermglicht die bedingte Abarbeitung von Befeh-
     len.  Ist die Bedingung hinter dem if wahr, so werden die folgen-
     den Befehle abgearbeitet, sonst werden der Reihe nach alle elsif-
     Bedingungen getestet.  Wird keine gltige Bedingung gefunden,  so
     werden die Befehle hinter dem else ausgefhrt.
     Sowohl  die  elsif-  als  auch die  else-Bedingung kann aber auch
     fehlen.

     Folgende Mglichkeiten fr die Bedingungen stehen zur Verfgung:
       - ein Dateiname (Existenz der Datei wird berprft)
       - def(makro)    (Existenz des Makros wird berprft)
       - time(file1 vgl time2)
                       (Vergleicht   Datum   und  Uhrzeit  der  beiden
                        Dateien.  vgl  ist eines der Vergleichszeichen
                        ==, !=, >=, >, <=, <)
       - env(variable=wert)
                       (berprft,  ob  die  Variable  den angegebenen
                        Wert  hat  (der auch leer sein kann),  bzw. ob
                        die Variable berhaupt vorhanden ist:
                        env(variable))
       - $? vgl Wert   (Vergleicht den Rckgabewert $? mit einem
                        Integerwert)

     Diese Terme knnen mit && (logisches UND), || (logisches ODER), !
     (Negation)  und  Klammern  beliebig  verknpft  und verschachtelt
     werden.

     Das  Konstrukt kann in der Console im Direktmodus nicht verwendet
     werden.

ANMERKUNG
     Beachten Sie bitte, da mit den Vergleichsoperationen ==, >, etc.
     immer ein numerischer Vergleich durchgefhrt wird! Beim Vergleich
     zweier EnvVars mittels

        if $TEST1==$TEST2

     wird  also  zunchst der numerische Wert beider EnvVars ermittelt
     und  dieser  dann verglichen.  Wenn die beiden Variablen nur Text
     enthalten,  wird  der  numerische  Wert Null sein und obiger Test
     folglich  positiv  ausfallen,  auch  wenn die beiden Texte unter-
     schiedlich sind!

     Wenn  Sie  einen  Stringvergleich durchfhren wollen,  knnen Sie
     dies mit der Funktion env() (s.o.) tun:

        if env(TEST1=$TEST2)

     Dies  wird  dann  das  gewnschte Ergebnis liefern.  Beachten Sie
     bitte die Schreibweise: "TEST1" ohne, "$TEST2" mit Dollarzeichen.

SIEHE AUCH
     repeat, while



6.27 join
=========

NAME
     join - Dateien aneinanderhngen

SYNOPSIS
     join [-v] file1 file2 ... as jfile

BESCHREIBUNG
     Hngt   die   bergebenen  Dateien in der angegebenen Reihenfolge
     aneinander  und  nennt das Ergebnis jfile.  Die Dateinamen (auer
     jfile) drfen auch Quantoren enthalten.

OPTIONEN
     -v  Whrend des Vorgangs werden die Dateinamen angezeigt.



6.28 ld
=======

NAME
     ld - Linker aufrufen

SYNOPSIS
     ld [parameterliste]

BESCHREIBUNG
     Ruft den Linker  (d.h. das vierte Programm aus dem Programm-Men)
     auf. Fehlt die Parameterliste, so werden die Parameter bergeben,
     die im entsprechenden Optionen-Dialog angegeben wurden.

SIEHE AUCH
     as, cc, db, ed



6.29 ls
=======

NAME
     ls - Inhaltsverzeichnis anzeigen

SYNOPSIS
     ls [-1flnv] [filespec]

BESCHREIBUNG
     Zeigt  ein  Inhaltsverzeichnis an.  Die Auswahl kann mit filespec
     beeinflut werden  (Angabe eines Pfades oder bestimmter Dateien).
     Ohne  diese  Angabe  wird  der Inhalt des aktuellen Verzeichnises
     ausgegeben.

OPTIONEN
     -1  einspaltige  Ausgabe erzwingen  (sonst abhngig von der Gre
         des Console-Fensters)

     -f  Classify (an Verzeichnisse wird ein /, an ausfhrbare Dateien
         ein * angehngt).

     -l  Ausgabe im langen Format (mit Dateilnge, Datum und Uhrzeit).
         -l hebt die Wirkung von -n wieder auf.

     -n  nur die Namen anzeigen

     -v  Summe der Lngenangaben und Anzahl der Dateien und Ordner mit
         ausgeben

BEISPIEL
     Wie Sie vielleicht bemerkt haben, gibt ls Dateien immer im langen
     Format aus, also so,  wie man es unter Unix blicherweise von dem
     Befehl "ll" erwartet. Kein Problem, man kann ls ja umdefinieren:

        alias ls ls -n $*
        alias ll ls -l $*

     Anschlieend verhalten sich ls und ll wie unter Unix.

SIEHE AUCH
     alias



6.30 macro
==========

NAME
     macro - Mehrzeilenmakros definieren

SYNOPSIS
     macro name
       Befehl(e)
     endm

BESCHREIBUNG
     Die  Befehle  zwischen  macro und endm werden als Macro unter dem
     angegebenen  Namen definiert.  An das Macro knnen auch Parameter
     bergeben werden; sie sind mit den Platzhaltern  $0, ..., $9 (fr
     den ersten, ..., zehnten Parameter) bzw. $* (fr alle bergebenen
     Parameter "am Stck") verfgbar.

     Innerhalb  des  Macros sind alle Befehle auer  macro  selbst er-
     laubt.

     Das  Konstrukt kann in der Console im Direktmodus nicht verwendet
     werden.

SIEHE AUCH
     alias, unalias



6.31 mkdir
==========

NAME
     mkdir - Verzeichnis anlegen

SYNOPSIS
     mkdir verzeichnis

BESCHREIBUNG
     Legt ein Verzeichnis an.

SIEHE AUCH
     rmdir



6.32 more
=========

NAME
     more - Dateien anzeigen

SYNOPSIS
     more file1 [file2 ...]

BESCHREIBUNG
     Die angegebene(n) Datei(en) werden angezeigt. Ist unter dem Men-
     punkt  `Einstellungen'  ein Dateiviewer angegeben,  so werden die
     Dateien an dieses Programm bergeben.  Andernfalls wird versucht,
     eines  der Programme aus den EnvVars $View oder $SHSHOW sowie aus
     dem Cookie "View" zu finden und ggfs. zu starten (siehe auch "Das
     View-Protokoll").

     Lt  sich  kein Programm finden oder starten,  zeigt Chatwin die
     Dateien selbst an, was jedoch nur fr Textdateien vorgesehen ist.

SIEHE AUCH
     env



6.33 mv
=======

NAME
     mv - Dateien und Verzeichnisse verschieben bzw. umbenennen

SYNOPSIS
     mv [-v] filespec1 [filespec2]

BESCHREIBUNG
     Dateien und Verzeichnisse verschieben.  Fehlt die zweite Spezifi-
     kation,  so wird in das aktuelle Verzeichnis kopiert.  In der er-
     sten Spezifikation drfen auch Quantoren verwendet werden.

     Sind Quell- und Zielpfad identisch,  so entspricht die Aktion ei-
     nem Umbenennen der Objekte.

     Der  mv-Befehl kann auch den Dateikopierer Kobold aufrufen.  Dazu
     mssen aber folgende Voraussetzungen erfllt sein:
      - das  Ziel  der  Verschiebe-Aktion mu auf einem TOS-Filesystem
        liegen
      - es  mssen  ganze  Ordner oder mehrere Dateien (mit Quantoren)
        verschoben werden
      - unter SingleTOS mu der Kobold als ACC installiert sein (unter
        einem  Multitasking-System  kann  er  auch als Proze parallel
        laufen)
      - wenn  der  Kobold nicht bereits luft,  kann Chatwin ihn unter
        einem Multitasking-System nachstarten, wenn er unter dem Namen
        KOBOLD_2.PRG  oder  KOBOLD_3.PRG in dem Verzeichnis liegt, das
        in der Environmentvariablen $KOBOLD_PATH angegeben ist

     Wenn  Sie einen Rename-Befehl vermissen,  knnen Sie sich mit dem
     folgenden Makro behelfen:

        alias ren mv $0 $1

OPTIONEN
     -v  Die  Namen der Dateien, die gerade verschoben werden,  werden
         auf dem Bildschirm ausgegeben.

SIEHE AUCH
     cp



6.34 play
=========

NAME
     play - Soundfiles abspielen

SYNOPSIS
     play [-sv] [soundfile ...]

BESCHREIBUNG
     Spielt das angegebene Soundfile ab. Dabei ist auch die Angabe von
     Quantoren erlaubt (z.B. spielt "play e:/noise/*.mod" ein zufllig
     ausgewhltes MOD-File aus dem Ordner "noise" auf Laufwerk E: ab).

     Fehlt  der  Name des Soundfiles,  so wird das zuletzt abgespielte
     Soundfile nochmals abgespielt.

     Auch  hier  gilt wieder:  Um MOD-Files abspielen zu knnen,  wird
     Paula bentigt, alles andere versucht Chatwin selbst abzuspielen.

OPTIONEN
     -s  Spielt zufllig eines der aufgelisteten Soundfiles ab.

     -v  Gibt den Namen und Pfad des abgespielten Soundfiles aus.

BEISPIELE
     play -s hello.wav hahn.snd morning.hsn
          ; whlt unter den drei auflisteten Soundfiles eines zufllig
          ; aus und spielt es ab

     play g:\sounds\*.*
          ; whlt unter den Soundfiles in dem angegebenen Verzeichnis
          ; zufllig eines aus und spielt es ab



6.35 pwait
==========

NAME
     pwait - auf einen Proze warten

SYNOPSIS
     pwait [-q] pid

BESCHREIBUNG
     pwait wartet auf den Proze mit der Nummer pid.  Diese Nummer er-
     hlt man,  wenn ein Programm unter einem Multitasking-System par-
     allel gestartet wurde.  Nach dem Programmstart erhlt man dann in
     $? nicht den Rckgabewert (das Programm luft ja noch!),  sondern
     die  pid  (Proze-ID).  Will man spter den Rckgabewert des Pro-
     gramms erfahren, so kann man diesen mit pwait abfragen. Luft der
     Proze noch,  so wartet pwait erst auf dessen Ende.  Anschlieend
     steht der Rckgabewert in $?.

     Wurde das Programm mit der Nachricht VA_START gestartet,  so kann
     Chatwin  die  pid  des Prozees nicht erfahren und auch nicht auf
     das Programm warten. In diesem Fall erhlt man beim Programmstart
     statt der Proze-ID den Wert 18193  (= hex. $4711, die Nummer der
     Nachricht VA_START) zurck.

     Wurde noch kein Proze mit ID pid gestartet, so wird eine Fehler-
     meldung ausgegeben.

     Hinweis:  Wenn  der Proze,  auf den pwait warten soll,  gestoppt
     wurde, wartet Chatwin trotzdem!  Falls der Proze dann nicht wie-
     der  gestartet oder beendet werden kann,  kann auch Chatwin nicht
     weiterlaufen.

     Unter einem Singletasking-TOS tut dieser Befehl nichts,  er kehrt
     sofort zurck.

OPTIONEN
     -q  Wenn  kein  Proze mit Proze-ID pid bekannt ist,  wird keine
         Fehlermeldung ausgegeben. $? wird auf 0 gesetzt.



6.36 quit
=========

NAME
     quit - Chatwin verlassen

SYNOPSIS
     quit [rckgabewert]

BESCHREIBUNG
     Verlt Chatwin sofort (ohne Sicherheitsabfrage).

     Als Rckgabewert kann ein Integer im Bereich -32768 bis 32767 an-
     gegeben  werden,  der dann an den Aufrufer von Chatwin  (z.B. den
     Desktop) zurckgegeben wird.

SIEHE AUCH
     exit



6.37 repeat
===========

NAME
     repeat - Befehle wiederholt ausfhren

SYNOPSIS
     repeat
       Befehl(e)
     until bedingung

BESCHREIBUNG
     Die  Befehle  zwischen  repeat  und  until  werden so lange immer
     wieder ausgefhrt, bis die Bedingung wahr ist.

     Folgende Mglichkeiten fr die Bedingungen stehen zur Verfgung:
       - ein Dateiname (Existenz der Datei wird berprft)
       - def(makro)    (Existenz des Makros wird berprft)
       - time(file1 vgl time2)
                       (Vergleicht   Datum   und  Uhrzeit  der  beiden
                        Dateien.  vgl  ist eines der Vergleichszeichen
                        ==, !=, >=, >, <=, <)
       - env(variable=wert)
                       (berprft,  ob  die  Variable  den angegebenen
                        Wert  hat  (der auch leer sein kann),  bzw. ob
                        die Variable berhaupt vorhanden ist:
                        env(variable))
       - $? vgl Wert   (Vergleicht den Rckgabewert $? mit einem
                        Integerwert)

     Diese Terme knnen mit && (logisches UND), || (logisches ODER), !
     (Negation)  und  Klammern  beliebig  verknpft  und verschachtelt
     werden.

     Die  Schleife  kann auch mit dem Befehl  break  vorzeitig beendet
     werden.  Auerdem  kann  mit  dem  Befehl  continue  der  nchste
     Schleifendurchlauf unmittelbar begonnen werden.

     Das  Konstrukt kann in der Console im Direktmodus nicht verwendet
     werden.

SIEHE AUCH
     if, while



6.38 return
===========

NAME
     return - Takefile oder Macro beenden

SYNOPSIS
     return [rckgabewert]

BESCHREIBUNG
     Beendet  ein gerade laufendes Takefile oder Mehrzeilenmakro.  Der
     Rckgabewert  kann ein Integer im Bereich  -32768 bis 32767 sein.
     Er kann beim Aufrufer (d.h. "eine Ebene hher") ber die Variable
     $? abgefragt werden.

     return ohne Parameter wird als return 0 interpretiert.  Endet das
     Macro bzw. Takefile ohne  return, so wird ebenfalls ein Rckgabe-
     wert von 0 angenommen.

     Der  Befehl  kann  in  der Console im Direktmodus nicht verwendet
     werden.

SIEHE AUCH
     if



6.39 rm
=======

NAME
     rm - Dateien und Verzeichnisse lschen

SYNOPSIS
     rm [-qrv] filespec ...

BESCHREIBUNG
     Lscht Dateien und Verzeichnisse (Angabe von Quantoren mglich).
     Per  Default  werden  immer nur die angegebenen Objekte bzw. auf
     der angegebenen Verzeichnisebene gelscht.

OPTIONEN
     -q  Gibt  keine  Meldung aus,  wenn das zu lschende Objekt nicht
         existiert.

     -r  Lscht rekursiv, d.h. auch Verzeichnisse unter dem angegebe-
         nen werden durchsucht.

     -v  Gibt  hinterher  aus,  wieviele  Dateien und Ordner gelscht
         wurden.

BEISPIELE
     rm trashdir/*      ; lscht alle Dateien und Verzeichnisse im
                          Verzeichnis `trashdir'
     rm texte/*.bak     ; lscht im Verzeichnis `texte' alle Dateien
                          und Verzeichnisse mit Extension *.bak
     rm -r texte/*.bak  ; lscht im Verzeichnis `texte' und in allen
                          darunterliegenden Verzeichnissen

SIEHE AUCH
     rmdir



6.40 rmdir
==========

NAME
     rmdir - leere Verzeichnisse lschen

SYNOPSIS
     rmdir verzeichnis ...

BESCHREIBUNG
     Lscht das bzw. die angegebenen leeren(!) Verzeichnisse.

     Verzeichnisse, die noch Dateien und evtl. weitere Unterverzeich-
     nisse enthalten, knnen mit rm gelscht werden.

OPTIONEN
     -q  Gibt  keine  Meldung aus,  wenn das zu lschende Objekt nicht
         existiert.

SIEHE AUCH
     mkdir, rm



6.41 shift
==========

NAME
     shift - Parameterliste schieben

SYNOPSIS
     shift [envvar]

BESCHREIBUNG
     Schiebt  in  der  aktuellen Parameterliste alle Parameter um eins
     nach  links.  Somit ist der vormals zweite Parameter mit  $0  er-
     reichbar und der vorher unerreichbare elfte Parameter mit $9. Der
     ehemals erste Parameter steht noch in der Variablen $SHIFT.

     Wird  eine  EnvVar  bergeben,  so   wird   statt  der  aktuellen
     Parameterliste der Inhalt der Variablen geschoben.

SIEHE AUCH
     alias, env, macro



6.42 take
=========

NAME
     take - Takefiles starten

SYNOPSIS
     take [nr]

BESCHREIBUNG
     Ruft eines der Takefiles Nr. 1-3 auf. Ohne Angabe der Nummer wird
     das  Default-Takefile gestartet.  Beliebige Takefiles knnen ein-
     fach durch Angabe ihres Namens (aber mit Extension .t) aufgerufen
     werden.  Wenn  das  Takefile in dem Pfad liegt, der in der EnvVar
     $TAKE  angegeben  ist,  dann mssen Sie nicht einmal den Pfad mit
     eingeben.

     Die Takefiles knnen mit dem Menpunkt  `Takefiles finden'  ange-
     meldet  werden.  Dort  kann  auch das Default-Takefile festgelegt
     werden.

     Es ist nicht mglich, Parameter an diese Takefiles zu bergeben!



6.43 touch
==========

NAME
     touch - Datei mit aktueller Uhrzeit versehen

SYNOPSIS
     touch file

BESCHREIBUNG
     Versieht  die  angegebene  Datei  mit dem aktuellen Datum und der
     aktuellen Uhrzeit.

     touch kann nicht auf Verzeichnisse angewendet werden.



6.44 unalias
============

NAME
     unalias - Makros lschen

SYNOPSIS
     unalias macrospec

BESCHREIBUNG
     Lscht Makros (Aliases und Macros).  Macrospec kann ein einzelner
     Name sein oder Quantoren enthalten (* lscht alle Makros).

SIEHE AUCH
     alias, macro



6.45 wait
=========

NAME
     wait - Warten auf Tasten- oder Maustastendruck

SYNOPSIS
     wait

BESCHREIBUNG
     Wartet auf einen Tastendruck oder Mausklick.



6.46 which
==========

NAME
     which - ermittelt, welcher Befehl ausgefhrt wird

SYNOPSIS
     which befehl

BESCHREIBUNG
     which  ermittelt,  welcher Befehl ausgefhrt wrde,  wenn man den
     als  Paramater bergebenen Befehl in der Console oder einem Take-
     file  ausfhren lassen wrde.  Dabei expandiert which auch Aliase
     und  EnvVars,  bercksichtigt  Macros und sucht Programme entlang
     $PATH.  Ausgegeben wird schlielich der Befehl, das Programm, das
     Takefile oder das Macro, das tatschlich ausgefhrt wrde.

BEISPIELE
     Angenommen,  im  Verzeichnis  c:\gemini\bin  gbe es ein Programm
     test.prg und das Verzeichnis stnde in $PATH.  Auerdem existiere
     ein  Alias  namens  "hallo",  der test.prg aufruft.  Dann liefert
     which folgende Ausgaben (jeweils mit einem >-Zeichen markiert):

     which test
     >c:\gemini\bin\test.prg

     which hallo
     >c:\gemini\bin\test.prg



6.47 while
==========

NAME
     while - Befehle wiederholt ausfhren

SYNOPSIS
     while bedingung
       Befehl(e)
     wend

BESCHREIBUNG
     Die  Befehle zwischen while und wend werden so lange immer wieder
     ausgefhrt, solange die Bedingung wahr ist.

     Folgende Mglichkeiten fr die Bedingungen stehen zur Verfgung:
       - ein Dateiname (Existenz der Datei wird berprft)
       - def(makro)    (Existenz des Makros wird berprft)
       - time(file1 vgl time2)
                       (Vergleicht   Datum   und  Uhrzeit  der  beiden
                        Dateien.  vgl  ist eines der Vergleichszeichen
                        ==, !=, >=, >, <=, <)
       - env(variable=wert)
                       (berprft,  ob  die  Variable  den angegebenen
                        Wert  hat  (der auch leer sein kann),  bzw. ob
                        die Variable berhaupt vorhanden ist:
                        env(variable))
       - $? vgl Wert   (Vergleicht den Rckgabewert $? mit einem
                        Integerwert)

     Diese Terme knnen mit && (logisches UND), || (logisches ODER), !
     (Negation)  und  Klammern  beliebig  verknpft  und verschachtelt
     werden.

     Die  Schleife  kann auch mit dem Befehl  break  vorzeitig beendet
     werden.  Auerdem  kann  mit  dem  Befehl  continue  der  nchste
     Schleifendurchlauf unmittelbar begonnen werden.

     Das  Konstrukt kann in der Console im Direktmodus nicht verwendet
     werden.

SIEHE AUCH
     if, repeat




======================================================================
7. Wie schreibe ich ein Takefile?
======================================================================

Ein Takefile ist eine einfach ASCII-Datei, die die Extension *.T haben
sollte.  Pro Zeile steht darin immer genau ein Befehl(swort),  ein Be-
fehl kann aber beliebig mit Leerzeichen eingerckt werden. Ein Kommen-
tar  wird  mit  einem  Semikolon ";" eingeleitet und gilt dann fr den
Rest der Zeile  (eine Zeile kann auch nur aus einem Kommentar bestehen
oder auch ganz leer sein).

Es gibt mehrere Mglichkeiten,  ein Takefile zu starten.  Die einfach-
sten  sind sicher ber den Menpunkt `anderes Takefile'  (letzter Ein-
trag  im  Take-Men),  sowie durch Eintippen des Namens in der Console
(analog zum Aufruf eines Programms).  Andere Mglichkeiten bieten sich
ber den take-Befehl, sowie im Zusammenhang mit dem Editor.

Zunchst  einmal ist es sinnvoll,  sich mit einigen Besonderheiten der
Chatwin-Kommandosprache vertraut zu machen. Es gibt zwei Arten von Be-
fehlen:  Solche,  die  nur  in Takefiles verwendet werden knnen,  und
solche,  die  in der Console im Direktmodus und in Takefiles verwendet
werden knnen. Zur ersten Sorte gehren die Befehlsgruppen wie if/else
/endif  oder  Schleifen  wie  repeat/until sowie die Befehle force und
append.  Die  Mitglieder  der  zweiten  Gruppe  knnen Sie einfach er-
mitteln, indem Sie in der Console die Help-Taste drcken.

Das  zweite  wichtige  Konzept in Chatwin ist das des aktuellen Quell-
textes.  Dieser  wird  mit dem ersten Eintrag im Extras-Men oder ber
den  Befehl  fname angemeldet.  Ab dann kann diese Datei einfach durch
ein  Prozentzeichen "%" angesprochen werden.  Dabei merkt sich Chatwin
aber  nur  den Pfad- und Dateinamen ohne Extension!  Sind Sie in einer
Situation nur am Dateinamen (ohne Pfad und Extension) interessiert, so
knnen  Sie  darauf mit einem doppelten Prozentzeichen "%%" zugreifen.
ber  die  drei  Environmentvariablen  $SRCPATH,  $SRCNAME und $SRCEXT
knnen  Sie  zustzlich  noch  direkt auf den Pfad,  den Namen und die
Extension des Quelltextes zugreifen.

Der  Grund,  warum die Extension bei "%" und "%%" nicht behalten wird,
ist  einfach folgender:  Im Normalfall geht es darum,  einen Quelltext
einer bestimmten Programmiersprache zunchst in eine Objektdatei (oder
ggfs. noch in eine Assemblerdatei) und schlielich in ein ausfhrbares
Programm  zu  berfhren.  Dabei bleibt der Dateiname selbst erhalten,
whrend  die  Extension in einem bestimmten Schema wechselt  (z.B. von
*.C nach *.S nach *.O nach *.PRG).  Diesen  Wechsel  wird  man dann in
einem   Takefile  "fest verdrahten",   whrend  der  Dateiname  selbst
variabel bleibt.

Schlielich  mu man noch wissen,  da jedes aus Chatwin heraus aufge-
rufene  Programm oder Takefile einen Integer-Wert  (also eine Zahl mit
dem  Wertebereich -32768 bis +32767)  zurckgibt.  Dieser Rckgabewert
ist ber die Zeichenfolge $? verfgbar  (bis zum nchsten Aufruf eines
Programms  oder Takes).  Dies gilt auch fr die fest angemeldeten Pro-
gramme,  die ber die Befehle ed, cc, as, ld und db aufgerufen werden.
blicherweise bedeutet der Rckgabewert 0,  da keine Fehler aufgetre-
ten  sind,  Werte kleiner als 0 stehen fr bestimmte (Betriebssystem-)
Fehlermeldungen,  whrend Werte grer 0 fr eigene Meldungen zur Ver-
fgung stehen.

Gewappnet  mit  diesen  Informationen  soll nun ein einfaches Takefile
entstehen. Ein blicher Ablauf bei der Programmentwicklung ist folgen-
der: Eine Datei wird in den Editor geladen und verndert. Anschlieend
soll  sie  vom  Compiler  bersetzt und vom Linker in ein ausfhrbares
Programm  verwandelt  werden.  Natrlich  macht der Aufruf des Linkers
keinen  Sinn,  wenn der Compiler einen Fehler gefunden hat.  In diesem
Fall  soll  daher  wieder  der Editor aufgerufen werden.  Hat man sich
Editor,  Compiler  und Linker auf den entsprechenden Menpunkten ange-
meldet,  so stehen diese Programme nun ber die Befehle ed,  cc und ld
zur  Verfgung.  Im folgenden wird von der Programmiersprache C ausge-
gangen  (da  wir ja eine Extension fr den Quelltext bentigen),  ohne
auf irgendwelche Besonderheiten wie Compileroptionen zu achten.

Eine erste Implementierung knnte so aussehen:

   ed %.c       ; Editor mit Quelltext aufrufen
   repeat       ; wiederhole ...
     cc %.c     ;   Compileraufruf
     if $?!=0   ;   Rckgabewert ungleich 0?
       ed %.c   ;     dann Editor aufrufen
     endif
   until $?==0  ; bis Rckgabe gleich 0 (kein Fehler)
   ld %.prg=%.o ; Linker aufrufen (mit Phantasie-Optionen)

Bei  nherer  Betrachtung  offenbart sich jedoch ein Fehler:  Wenn der
Compiler einen Fehler meldet  (Rckgabewert ungleich Null)  wird zwar,
wie  gewnscht,  der  Editor aufgerufen.  Dieser berschreibt nun aber
durch  seinen  eigenen  Rckgabewert  den  des  Compilers,  so da mit
einiger  Wahrscheinlichkeit  die  Schleife  abgebrochen  wird,  da der
Editor ja keinen Fehler meldet.  Dann wird natrlich der Linker aufge-
rufen,  ohne  da  nochmals der Compiler ber den genderten Quelltext
gelaufen ist.

Nebenbei bemerkt lt sich die etwas kryptisch wirkende Zeile
   if $?!=0
auch krzer als
   if $?
schreiben - die Wirkung ist dieselbe.

Zweiter Versuch:

   repeat
     ed %.c     ; Editor
     cc %.c     ; Compiler
   until $?==0  ; Schleife wiederholen, falls Rckgabe ungleich 0
   ld %.prg=%.o ; Linkeraufruf

Dies  funktioniert  wie  erwnscht.  Man kann dieses einfache Beispiel
noch  ausbauen.  So  knnte man den Editor gleich noch mit einer  (vom
Compiler erzeugten) Liste der Fehlermeldungen aufrufen. Unter den mit-
gelieferten Takefiles befinden sich einige etwas komplexere Beispiele,
die Sie sich einmal ansehen sollten.

Unter diesen Beispielen befindet sich auch das Takefile DEFAULT.T, das
unter "Beispiel-Takefile" nher erklrt wird.



7.1 Beispiel-Takefile
=====================

Hier  soll  einmal ein Takefile etwas ausfhrlicher besprochen werden.
Es handelt sich um ein Takefile fr Pure C fr Programme,  die nur aus
einem  C-Quelltext  bestehen  (also  gewissermaen  das Gegenstck zum
DEFAULT.PRJ von Pure C).

Bentigt werden insgesamt drei Dateien:
 - DEFAULT.T    das eigentliche Takefile
 - DEFAULT.LNK  eine Liste der Libraries fr den Linker
 - COMPILE.T    ein Unter-Takefile zum bersetzen eines C-Quelltexts

Folgende Voraussetzungen mssen gegeben sein:

 - $OBJ ist der Pfad, in dem die Objektfiles abgelegt werden
 - $PRGPATH ist der Pfad, in dem die Programme abgelegt werden
 - $TAKE ist der Pfad, in dem die Takefiles und DEFAULT.LNK stehen
 - der Quelltext,  der bersetzt werden soll, ist als aktueller Quell-
   text angemeldet;  das fertige Programm bekommt den Namen des Quell-
   textes mit Extension $PRGEXT

Dieses  Takefile ist als "Nachlufer" des Editors konzipiert,  d.h. es
soll automatisch ausgefhrt werden,  wenn der Editor beendet wird oder
wenn  der  Editor die Nachricht ES_MAKE schickt  (je nachdem, ob unter
einem Single- oder Multitasking-Betriebssystem gearbeitet wird).

Dies ist DEFAULT.T

 ; Einfach-Takefile fr Pure C fr Programme, die nur
 ; aus einem C-Quelltext bestehen.
 ; Bentigt COMPILE.T und DEFAULT.LNK (dort ggfs. Pfade anpassen!).
 ;
 cls                                  ; Console-Fenster lschen
 if !$OBJ\%%.o || TIME($OBJ\%%.o<%.c) ; Compilieren ntig?
   $TAKE\compile.t                    ;   ja, auf geht's
   if $?                              ;   alles OK?
     return -1                        ;     nein, Abbruch
   endif
 endif
 if !$PRGPATH\%%.$PRGEXT || TIME($PRGPATH\%%.$PRGEXT<$OBJ\%%.o)
   mv $OBJ\%%.o $OBJ\a.o              ;     Objektfile umbenennen
   ld #4 -S=8192 -C=$TAKE\DEFAULT.LNK ;     Linker aufrufen
   mv $OBJ\a.o $OBJ\%%.o
   if $?                              ;     Linker-Fehler aufgetreten?
     echo Linker Error #$?            ;       ja, ausgeben
     return -2
   else
     mv $PRGPATH\linker.out $PRGPATH\%%.$PRGEXT
   endif
 else
   echo %%.$PRGEXT is up to date!
 endif

Zunchst  wird  berprft,  ob  der  Quelltext berhaupt neu bersetzt
werden mu.  Fehlt das Objektfile [!$OBJ\%%.o] oder ist das Objektfile
lter als der Quelltext [TIME($OBJ\%%.o<%.c)],  dann mu neu bersetzt
werden.  Dazu  wird das Takefile COMPILE.T aufgerufen,  das gleich an-
schlieend  besprochen  wird.  Meldet dieses einen Returnwert ungleich
Null zurck [if $?],  so ist ein Fehler aufgetreten und auch das aktu-
elle Takefile wird abgebrochen und meldet eine -1 an den Aufrufer.

Unabhngig  davon,  ob  compiliert wurde oder nicht  (solange nur kein
Fehler aufgetreten ist),  wird nun berprft, ob der Linker aufgerufen
werden mu.  Dies ist dann der Fall,  wenn das Programmfile nicht exi-
stiert  [!$PRGPATH\%%.$PRGEXT]  oder die Programmdatei lter ist,  als
das Objektfile [TIME($PRGPATH\%%.$PRGEXT<$OBJ\%%.o)].

In  DEFAULT.LNK stehen die Namen der Dateien, die der Linker zusammen-
fgen soll.  DEFAULT.LNK sieht so aus (die Pfade mssen ggfs. angepat
werden!):

 -O=d:\pure\exec\linker.out
 d:\pure\lib\pcvstart.o
 d:\pure\obj\a.o
 d:\pure\lib\pcbgilib.lib
 d:\pure\lib\pcfltlib.lib
 d:\pure\lib\pcstdlib.lib
 d:\pure\lib\pcextlib.lib
 d:\pure\lib\pctoslib.lib
 d:\pure\lib\pcgemlib.lib

Die erste Zeile gibt an,  da das fertige Programm "LINKER.OUT" heien
soll  und  in der dritten Zeile wird fr das Objektfile der Name "A.O"
vorausgesetzt.  Da man von einem Takefile aus diese Namen nicht ndern
kann,  mssen  die  Dateien in DEFAULT.T entsprechend umbenannt werden
(siehe dort):

Zunchst wird das Objektfile in A.O umbenannt (eine evtl. noch vorhan-
dene gleichnamige Datei wird dabei berschrieben).  Anschlieend  wird
der Linker aufgerufen.  Dabei werden alle Optionen, die in der Linker-
Optionsbox  eingestellt  wurden,  bergeben [#4] und als Stack 8 KByte
angegeben [-S=8192]. Die Dateien, die gelinkt werden sollen, stehen in
DEFAULT.LNK im Ordner $TAKE [-C=$TAKE\DEFAULT.LNK]. Nachdem der Linker
fertig  ist,  erhlt  A.O wieder seinen richtigen Namen.  Anschlieend
wird  der  Rckgabewert des Linkers ausgewertet.  Ist er ungleich Null
[if $?],  so  ist ein Fehler aufgetreten.  Die Nummer des Fehlers wird
ausgegeben und das Takefile beendet (an den Aufrufer wird -2 zurckge-
geben).  Andernfalls  erhlt  nun  das  fertige Programm,  das ja noch
LINKER.OUT heit,  seinen richtigen Namen.  Eine evtl. noch vorhandene
ltere Programmdatei wird dabei automatisch berschrieben


Kommen wir nun zu COMPILE.T. Dieses Takefile bernimmt die eigentliche
bersetzung des C-Quelltextes und sieht so aus:

 ; Unter-Takefile: C-Quelltext compilieren, rev. 23.06.1996
 env ERRORS=$OBJ\errors.out
 echo Compiling "%%.c"
 repeat
   if env(PROJECT)               ; luft ein Projekt?
     cc $OPTC $* %.c >$ERRORS    ;   ja, Compiler so aufrufen
   else
     cc #2 %.c >$ERRORS          ;   nein, Compileroptionen bernehmen
   endif
   if $?==0                      ;  kein Fehler?
     grep Warning $ERRORS >NIL:  ;    Text `Warning' in errors.out?
     if $?
       rm -q $ERRORS             ;      nein, errors.out lschen
     endif
   endif
   if $ERRORS                    ;  existiert errors.out?
     errfile $ERRORS %.c         ;    ja, Editor aufrufen
     if $?==0                    ;    nicht nochmal compilieren?
       return -1                 ;      Abbruch
     endif
   else
     mv %.o $OBJ\%%.o            ;    *.o-Datei nach $OBJ verschieben
   endif
 until !$ERRORS                  ; bis kein errors.out mehr existiert
 env ERRORS

Dieses Takefile ist so ausgelegt, da es auch in anderem Zusammenhang,
nmlich  bei  der  Nachbildung  der Pure-C-Projects,  verwendet werden
kann. Daher die Unterscheidung anhand der Environmentvariable $PROJECT
(unter  den Beispiel-Takefiles,  die Sie zusammen mit Chatwin bekommen
haben, sollte sich auch das Project-Beispiel befinden).

In unserem Zusammenhang ruft  COMPILE.T  zunchst den Compiler mit den
Optionen  aus seiner Optionsbox auf (#2).  Die Ausgaben werden in eine
Datei  "ERRORS.OUT"  umgelenkt.  Meldet  der  Compiler  keinen  Fehler
[if $?==0],  so wird diese Datei mit einem Hilfsprogramm nach dem Text
"Warning" durchsucht, da der Compiler leider keinen speziellen Rckga-
bewert fr den Fall kennt,  da nur Warnings, aber keine echten Fehler
aufgetreten sind.  Wurden auch keine Warnings gefunden, wird die Datei
ERRORS.OUT gelscht.

Als  nchstes wird berprft,  ob ERRORS.OUT noch vorhanden ist.  Wenn
ja,  dann  hat der Compiler offenbar Fehler oder Warnings im Quelltext
gefunden.  Daher  wird in diesem Fall der Editor mit dem Quelltext und
der  Fehlerliste  aufgerufen.  Durch den Rckgabewert des Editors wird
nun entschieden, ob der (dann vermutlich genderte) Quelltext nochmals
compiliert  werden soll,  oder ob das Takefile abgebrochen werden soll
[if $?==0 / return -1].

Mute der Editor dagegen gar nicht aufgerufen werden,  so wird nun die
vom  Compiler  erzeugte Objektdatei,  die noch im gleichen Verzeichnis
wie der Quelltext steht,  in das Verzeichnis fr alle Objektfiles ver-
schoben [mv %.o $OBJ\%%.o].

Dieser  ganze Vorgang wird in einer repeat-until-Schleife solange wie-
derholt, bis keine Datei ERRORS.OUT mehr existiert [until !$ERRORS].




======================================================================
8. Fehlermeldungen
======================================================================

Es  folgt eine Auflistung aller Fehlermeldungen,  die Chatwin ausgeben
kann. Aufgefhrt sind hier nur die "echten" Fehlermeldungen, nicht die
ebenfalls vorhandenen Hinweise wie "Leeres Verzeichnis" (bei ls).  Ein
Fehler fhrt immer zum Abbruch eines Takefiles oder Makros, eine ande-
re Meldung nicht.


Syntax-Fehler.
   Ein syntaktischer Fehler ist aufgetreten.  Bitte lesen Sie nochmals
   die  Beschreibung des Befehls,  den Sie verwenden wollten.  Stimmen
   die Parameter?

Benutzer hat abgebrochen.
   Dies ist keine Fehlermeldung im eigentlichen Sinne: Die Abarbeitung
   eines  Takefiles  oder  Makros  wurde  durch gleichzeitiges Drcken
   beider [Shift]-Tasten abgebrochen.

break auerhalb einer Schleife.
continue auerhalb einer Schleife.
   Die  Befehle  break und continue knnen nur innerhalb von Schleifen
   (while ... wend, repeat ... until)  verwendet werden.  Ein Takefile
   oder Makro kann mit return abgebrochen werden.

Unbekanntes Kommando.
   Chatwin hat weder einen eingebauten Befehl, noch ein Makro oder ein
   Programm gefunden, das diesen Namen trgt. Wahrscheinlich haben Sie
   sich  einfach  vertippt  oder kein derartiges Makro vereinbart oder
   das gewnschte Programm befindet sich nicht im Suchpfad.

Fehler in einem Ausdruck.
   Der Ausdruck hinter einem if,  elsif,  while oder until weist einen
   Fehler  auf.  Bitte lesen Sie noch einmal die Beschreibung des ent-
   sprechenden Befehls.

else ohne passendes if.
elsif ohne passendes if.
endif ohne passendes if.
   Es  wurde ein else,  elsif oder endif gefunden,  zu dem kein korre-
   spondierendes  if bekannt ist.  Vermutlich ein Fehler in einer Ver-
   schachtelung mehrerer Schleifen und Bedingungen.

"..." ist kein zulssiger Name.
   Sie  haben  einen Namen fr ein Makro oder eine Environmentvariable
   gewhlt, der nicht zulssig ist. Gltige Namen drfen nur die Buch-
   staben  A-Z (gro und klein),  die Ziffer 0-9 sowie den Unterstrich
   enthalten. Auerdem darf ein Name nicht mit einer Ziffer beginnen.

Nicht genug Parameter.
   Der  Befehl  bentigt mehr Parameter.  Bitte lesen Sie nochmals die
   Beschreibung des Befehls.

Datei(en) "..." nicht gefunden.
   Sie wollten eine Aktion auf einer Datei durchfhren, die nicht vor-
   handen ist. Stimmen Pfad- und Dateiname?

Kann Datei "..." nicht ffnen.
   Die  Datei  konnte nicht geffnet werden.  Mglicherweise existiert
   die Datei nicht (stimmen Pfad- und Dateiname?) oder es sind bereits
   zu viele Dateien offen.

Kann Datei "..." nicht lesen.
   Beim Lesen der Datei trat ein Fehler auf. Mglicherweise ein Defekt
   auf der Diskette bzw. Festplatte.

Kann Datei "..." nicht schreiben.
   Beim  Schreiben  der Datei trat ein Fehler auf.  Mglicherweise ist
   nicht gengend Platz auf dem Medium oder es liegt ein Defekt vor.

Kein freier Speicher mehr.
   Fr  die  gewnschte  Aktion konnte Chatwin nicht gengend Speicher
   anfordern.

Kein Quelltext ausgewhlt.
   Sie  haben in einem Kommando oder Ausdruck das %-Zeichen verwendet,
   aber noch keinen Quelltext ausgewhlt,  der dafr eingesetzt werden
   knnte.

Programm wurde mit Fehler(n) beendet.
   Beim  Abarbeiten  eines Programms trat ein Fehler auf bzw. das Pro-
   gramm konnte erst gar nicht gestartet werden.

Kann Datei "..." nicht umbenennen.
Kann Disk "..." nicht umbenennen.
Kann Verzeichnis "..." nicht umbenennen.
   Das  Objekt  (Datei, Diskette oder Verzeichnis)  konnte nicht umbe-
   nannt  werden.  Mglicherweise existiert bereits ein Objekt mit dem
   gewnschten  neuen Namen oder das Medium ist schreibgeschtzt.  Mit
   TOS-Versionen  vor  1.04  knnen auerdem keine Verzeichnisse umbe-
   nannt werden.

Kann Datei "..." nicht lschen.
   Die Datei konnte nicht gelscht werden.  Vermutlich ist bei ihr das
   Schreibschutz-Bit gesetzt.

Kann Verzeichnis "..." nicht lschen.
   Das  Verzeichnis  konnte  nicht gelscht werden.  Entweder befinden
   sich  darin noch Objekte,  die nicht gelscht werden konnten,  oder
   Sie  haben  versucht,  mit rmdir einen Ordner zu lschen,  der noch
   Objekte enthlt  (verwenden Sie  rm -r  um einen Ordner zu lschen,
   der noch andere Objekte enthlt).

Kann Verzeichnis "..." nicht anlegen.
   Es  konnte kein neues Verzeichnis mit diesem Namen angelegt werden.
   Wahrscheinlich existiert bereits ein anderes Objekt dieses Namens.

Kann Datei "..." nicht anlegen.
   Es  konnte  keine  (neue)  Datei  mit diesem Namen angelegt werden.
   Wahrscheinlich existiert bereits ein anderes Objekt dieses Namens.

Kann Pfad nicht wechseln.
   Es  konnte  nicht in den gewnschten Pfad gewechselt werden.  Wahr-
   scheinlich existiert dieser nicht. Tippfehler?

CLIP: nicht verfgbar.
   Das Klemmbrett steht nicht zur Verfgung und konnte auch nicht ein-
   gerichtet werden.

Programm nicht verfgbar.
   Fr  einen der Befehle ed, cc, as, ld oder db wurde noch kein zuge-
   hriges Programm angemeldet.

Dies ist kein Verzeichnis.
   Sie haben versucht,  eine Verzeichnisoperation auf ein Objekt anzu-
   wenden,  das kein Verzeichnis ist (z.B. eine Datei oder ein Wurzel-
   verzeichnis).

Fehler beim Formatieren. Disk schreibgeschtzt oder defekt.
   Beim Formatieren trat ein Fehler auf.  Wenn es bei der letzten Spur
   auftrat (Chatwin formatiert Disketten von hinten!),  ist vermutlich
   die  Diskette  schreibgeschtzt,  ansonsten wohl ein Sektor auf der
   Disk defekt.

Zu viele verschachtelte aliases.
   Um  Endlosschleifen beim Ersetzen von Makros zu vermeiden,  ist die
   maximale  Verschachtelungstiefe  auf  acht Ebenen begrenzt.  Diesen
   Wert haben Sie offenbar berschritten.

wend ohne passendes while.
   Es  wurde ein wend gefunden,  ohne da ein korrespondierendes while
   bekannt wre. Vermutlich ein Fehler in einer Verschachtelung mehre-
   rer Schleifen und Bedingungen.

until ohne passendes repeat.
   Es wurde ein until gefunden, ohne da ein korrespondierendes repeat
   bekannt wre. Vermutlich ein Fehler in einer Verschachtelung mehre-
   rer Schleifen und Bedingungen.

endif erwartet.
until erwartet.
wend erwartet.
   Am  Ende eines Takefiles oder Makros fehlte noch ein endif,  until
   oder wend.

Kann Disk nicht lesen.
   Die Informationen auf der Diskette konnten nicht gelesen werden. Da
   diese  Meldung  nur direkt nach dem Formatieren einer Diskette auf-
   treten  kann,  ist  die Disk vermutlich an wichtigen Stellen defekt
   und damit unbrauchbar.

Kann Dateiattribute nicht ndern.
   Die Attribute einer Datei konnten nicht gendert werden. Stimmt der
   Name?

Kann Datei "..." nicht zum Anhngen ffnen.
   An die Datei sollen eigentlich noch Daten angehngt werden.  Leider
   lt sie sich nicht im entsprechenden Modus ffnen.  Vermutlich ist
   hier das Schreibschutz-Flag gesetzt.

Nicht zulssige Umlenkung.
   Fr die Ausgabeumlenkung wurde ein nicht zulssiger Name verwendet.
   Bitte  vergleichen  Sie  mit  der  Liste  der zulssigen Namen beim
   Befehl force. Evtl. haben Sie aber auch vergessen, ein >-Zeichen zu
   quoten.

macro innerhalb einer Macro-Definition.
   Innerhalb  einer Macro-Definition darf der Befehl macro nicht noch-
   mals  auftreten.  Mglicherweise  haben Sie auch einfach vergessen,
   eine vorherige Macro-Definition mit endm abzuschlieen.

Takefile nicht verfgbar.
   Das Takefile, das sie aufrufen wollten,  wurde noch nicht unter dem
   Menpunkt `Takefiles finden' angemeldet.

Einen solchen Dialog kann ich nicht erstellen.
   Sie  haben  beim Erstellen einer Optionen-Box unsinnige Werte ange-
   geben,  z.B.  als Lnge fr die Optionen mehr Zeichen,  als in eine
   Bildschirmzeile passen.

Defekte SET-Datei.
   Die Struktur der SET-Datei ist defekt.

Kann Datei "..." nicht verschieben.
   Beim  Verschieben  einer Datei trat ein Fehler auf.  Wahrscheinlich
   liegt im Zielverzeichnis bereits ein Objekt dieses Namens vor.

Sie brauchen PAULA, um MOD-Dateien abspielen zu knnen.
   Um  MOD-Files  (spezielle Soundfiles) abspielen zu knnen,  mu das
   Programm  Paula  als  Accessory oder parallel laufender Proze vor-
   handen sein.

Keine Fenster-Handles mehr frei. Bitte schlieen Sie ein nicht be-
ntigtes Fenster.
   Es  konnte  kein weiteres Fenster geffnet werden.  Das normale TOS
   erlaubt nur maximal 7 offene Fenster.  Abhilfen: Ein nicht mehr be-
   ntigtes Fenster schlieen und ggfs. eine Betriebssystemerweiterung
   verwenden, die mehr offene Fenster erlaubt (Winx, MultiTOS, MagiC).

Kann "..." nicht mit aktueller Uhrzeit versehen.
   Der Befehl touch ist auf dieser Datei fehlgeschlagen. Entweder han-
   delt  es  sich um einen Ordner  (diese knnen nicht mit einer neuen
   Uhrzeit versehen werden), oder die Datei ist schreibgeschtzt.

Kann Laufwerk nicht zum Formatieren sperren.
   Auf diesem Laufwerk hat ein anderer Proze noch offene Dateien, da-
   her  kann Chatwin das Laufwerk z.Z. nicht fr sich beanspruchen und
   formatieren.

Schreibfehler. Disk schreibgeschtzt?
   Beim Formatieren konnten die Formatinformationen nicht auf die Disk
   geschrieben  werden.  Ein gesetzter Schreibschutz oder eine defekte
   Diskette sind die wahrscheinlichen Ursachen.

"..." antwortete nicht innerhalb des Timeout-Intervalls.
   Es wurde versucht,  einem anderen Proze eine Nachricht zu bermit-
   teln,  auf  die  dieser  nicht  innerhalb  eines bestimmten Zeitab-
   schnitts  geantwortet  hat.  Mglicherweise versteht der Proze die
   Nachricht nicht.

Keine Hilfe verfgbar.
   Es ist kein Hilfesystem (ein Accessory oder parallel laufendes Pro-
   gramm) vorhanden.

"..." ist keine Chatwin-SET-Datei.
   Die  Datei,  die  Chatwin  als Setting laden sollte,  ist keine von
   Chatwin geschriebene SET-Datei oder defekt.

Kein Druckertreiber installiert.
   Fr die Bios-Ausgabe ist kein passender Druckertreiber installiert.
   Siehe `Drucker'.

Falsche F-Tasten-Nummer.
   Gltige Nummern fr eine Funktionstaste sind die Zahlen 1 bis 10.

Kann Verzeichnis "..." nicht ffnen.
   Das angegebene Verzeichnis konnte nicht geffnet werden. Vermutlich
   ein Tippfehler oder das Verzeichnis existiert nicht.

Verzeichnisse knnen nicht zusammengefgt werden.
   Sie haben beim Befehl join ein Verzeichnis angegeben.

Die Datei kann sich nicht selbst enthalten.
   Sie  haben beim Befehl join eine Datei sowohl links als auch rechts
   vom "as" angegeben.

LTL-Fehler.
   Beim Oberon-Load-Time-Linking trat ein Fehler auf.

Kein Proze mit ID ... gefunden.
   Sie  wollten  mit  pwait auf einen Proze warten, der Chatwin nicht
   bekannt ist.

Programmabsturz.
   Das aus Chatwin heraus gestartete Programm ist abgestrzt.

Programmabbruch.
   Das aus Chatwin heraus gestartete Programm wurde abgebrochen.

Auf dieses Fenster knnen keine Icons oder Daten gezogen werden.
   Drag&Drop  von Icons ist nur auf die Console und auf die Dateiliste
   mglich.

Kein Fontselektor installiert.
   Wenn  Sie  den Font fr das Console-Fenster oder die Dateiliste n-
   dern  wollen,  bentigen  Sie  unbedingt ein externer Fontselektor,
   z.B. das Programm Calvino.

Der Font dieses Fensters kann nicht gendert werden.
   Der  Font  kann nur in der Console und der Dateiliste gendert wer-
   den.

Es knnen keine Soundfiles abgespielt werden.
   Soundfiles knnen nur abgespielt werden, wenn Ihr Rechner ber DMA-
   Sound-Hardware verfgt (STE-Modelle, TT, Falcon) oder wenn ein Pro-
   gramm  installiert ist,  das Samples abspielen kann und von Chatwin
   untersttzt wird (z.B. das Programm MacSound von Richard Kurz unter
   MagiCMac).




======================================================================
9. Tips, Tricks und Hinweise
======================================================================

Dieser Abschnitt soll noch einige Tips vermitteln,  mit denen man sich
die  Arbeit erleichtern kann,  sowie Hinweise auf mgliche Komplikati-
onen geben.


AUTOTAKE.T

Beim  Start sucht Chatwin im aktuellen Verzeichnis nach einem Takefile
namens AUTOTAKE.T und fhrt dies, sofern es gefunden wird, auch gleich
aus.  Es bietet sich daher als Platz fr die Definition oft bentigter
Makros  und  Environmentvariablen  an.  Zuvor  wird brigens noch nach
einer Setting-Datei CHATWIN.SET gesucht.

Beim  Nachladen  eines SET-Files wird in dem Verzeichnis,  aus dem das
Setting  geladen  wird,  zunchst nach einem Takefile mit dem gleichen
Namen  wie  das  Setting  und bei Mierfolg auch noch nach einem AUTO-
TAKE.T gesucht. Somit kann man sich auch leicht verschiedene Stze von
Makros  und Umgebungen definieren und diese in verschiedenen Verzeich-
nissen unterbringen.


Quotes

Eine Reihe von Zeichen haben fr Chatwin eine bestimmte Funktion, d.h.
wenn  sie  in einer Kommandozeile auftauchen,  werden sie in einer be-
stimmten Art und Weise interpretiert. Dazu gehren

   % aktueller Quelltext
   > Ausgabeumlenkung
   # (gefolgt von einer Ziffer) Optionen aus einer Optionsbox
   - (nur direkt nach einem Befehlswort) kennzeichnet einen Schalter
   / (bei der bergabe an andere Programme) Teil eines Pfadnamens
   $ Quote-Zeichen

Soll  eines dieser Zeichen nicht interpretiert werden,  so mu man ihm
ein  $-Zeichen  voranstellen  ("quoten").  In  anderen Shells ist dies
meist so gelst, da Parameter, die nicht interpretiert werden sollen,
in  Anfhrungszeichen (oder Hochkommata) eingeschlossen werden mssen.
Da  das  Quoten  aber  eher  die  Ausnahme als die Regel ist,  wird in
Chatwin ein anderer Weg gegangen:  Man mu solche Zeichen durch Voran-
stellen des $ vor dem interpretiert werden schtzen.

Ein paar Beispiele zur Illustration:

   echo -n Hello, world!
   ; gibt "Hello, world!" ohne Zeilenvorschub aus

   echo $-n Hello, world!
   ; gibt "-n Hello, world!" aus

   lharc a $/r i:/test d:/pure/*.c
   ; Ruft den Packer LHarc mit Kommando 'a' und Option '/r' auf.
   ; Die / in den Pfaden werden automatisch in \ gewandelt.

   env PS1=&p$>
   ; definiert als Prompt den aktuellen Pfad (&p), gefolgt von
   ; einem >-Zeichen (siehe auch $PS1)

   echo Programm $#4 kostet $$100
   ; gibt den Text "Programm #4 kostet $100" aus


CLIP:

Das  Klemmbrett  (Clipboard)  kann  in  einigen Befehlen auch ber den
Pseudo-Dateinamen CLIP: angesprochen werden:

   ls CLIP:   listet alle Dateien SCRAP.* auf dem Clipboard auf,
   rm CLIP:   lscht alle Dateien SCRAP.* auf dem Clipboard,
   ed CLIP:   ldt die Datei SCRAP.TXT in den Editor,
   more CLIP: zeigt die Datei SCRAP.TXT an

Bei nderungen am Klemmbrett  (wenn Dateien gelscht, geschrieben oder
verndert wurden)  verschickt Chatwin die Nachricht SC_CHANGED an alle
anderen Prozesse, um sie von der nderung zu informieren.


#!

Die  erste  Zeile  eines Takefiles darf auch mit den beiden Zeichen #!
beginnen, Chatwin behandelt dies ebenfalls als Kommentar. Verschiedene
andere Shells erwarten hinter diesen beiden Zeichen aber den Namen des
Programms, das diese Datei verarbeiten kann und starten es dann nach.

Wenn Sie also in die erste Zeile Ihrer Takefiles

     #!chatwin.app

schreiben,  dann  knnen  Sie diese Takes auch aus anderen Programmen,
z.B. der Mupfel von Gemini, starten.


(to be continued ...)




======================================================================
A. Andere Programme
======================================================================
Andere Programme                                   (Stand: 23.06.1996)

In  diesem  Text  werden  verschiedene  Programme  erwhnt,  mit denen
Chatwin zusammenarbeiten kann.  Bitte beachten Sie,  da es sich dabei
zum  Teil auch um Shareware-Programme handelt!  Falls Sie eines dieser
Programme regelmig verwenden,  so mssen Sie selbstverstndlich auch
die Sharewaregebhr an den jeweiligen Autor entrichten!


Programm       Autor, Adresse                        Status, Preis
----------------------------------------------------------------------
Everest        Oliver Schmidt                        Shareware (20 DM)
               Haselredder 23
               23701 Eutin

Freedom        Kolja Koischwitz                      Shareware (30 DM)
               Sandhauser Strae 21
               13505 Berlin
               e-mail: joust@cs.tu-berlin.de

Gemini         Stefan Eissing                        Shareware, wird
               Theaterstr. 104                       z.Z. aber kosten-
               52062 Aachen                          los vertrieben
               e-mail: Stefan Eissing @ AC (MausNet)

IdeaList       Christoph Bartholme                   Shareware (20 DM)
               Ettlinger Str. 37
               76137 Karlsruhe
               e-mail: Christoph Bartholme @ KA (MausNet)

Paula          Pascal Fellerich                      Shareware (30 DM)
               45, rue des Gents
               L-3482 Dudelange
               (Luxembourg)
               e-mail: Pascal Fellerich 2:270/16.3 (Fido)

Petra          Christoph Peus                        Freeware
               Stolzestr. 30
               44139 Dortmund
               e-mail: Christoph Peus @ UN (MausNet)

Selectric      Stefan Radermacher                    Shareware (30 DM)
               Unter Krahnenbumen 52-54
               50668 Kln
               e-mail: Stefan Radermacher @ K (MausNet)

ST-Guide       Holger Weets                          Fairware
               Tangastrasse 45                        (Spende erbeten)
               26121 Oldenburg
               e-mail: Holger Weets @ OL (MausNet)

STJ-Oberon 2   Stephan Junker                        Freeware
               Aachener Str. 115
               52076 Aachen
               e-mail: Stephan Junker @ AC2 (MausNet)

UDO            Dirk Hagedorn                         Shareware (40 DM)
               In der Esmecke 9
               59846 Sundern
               e-mail: Dirk Hagedoren @ MK2 (MausNet)

UFSL           Michael Thnitz                       Freeware
               Osningstr. 69
               33605 Bielefeld
               e-mail: Michael Thaenitz @ BI (MausNet)

Zeig's mir     Reiner Rosin                          Shareware (40 DM)
               Peter-Spahn-Str. 4
               65375 Oestrich-Winkel
               e-mail: Reiner Rosin @ WI2 (MausNet)
----------------------------------------------------------------------

Disclaimer:  Alle Angaben ohne Gewhr!  Ich,  Dirk Haun, profitiere in
keinster Weise davon, da ich diese Programme hier aufliste!




======================================================================
B. Programm starten
======================================================================

Die Hauptaufgabe von Chatwin ist es, Programme zu starten.  Das klingt
trivial,  ist es aber nicht.  Die Art und Weise,  wie Chatwin ein Pro-
gramm  startet,  hngt  sehr  stark vom verwendeten Betriebssystem ab.
Dieser  Abschnitt  soll  einige  Hintergrnde  und Probleme dabei auf-
zeigen.


SingleTOS

Das  Starten von GEM-Programmen unter einem Singletasking-TOS bereitet
keine  weiteren Schwierigkeiten.  Da immer nur ein GEM-Programm laufen
kann,  schliet Chatwin alle seine Fenster und verschwindet vorberge-
hend aus dem Blickfeld  (aber nicht aus dem Speicher).  Nach der Rck-
kehr  aus  dem anderen Programm ffnet Chatwin seine Fenster wieder an
den  alten  Positionen und stellt so den Zustand vor dem Programmstart
wieder her.

Interessant  wird es bei TOS-Programmen:  Die Ausgabe von TOS-Program-
men  wird  unter SingleTOS abgefangen und in das Console-Fenster umge-
lenkt.  Dabei macht sich Chatwin zunutze,  da eben immer nur ein Pro-
gramm  (egal ob TOS oder GEM) laufen kann.  Bei flchtiger Betrachtung
sieht es so aus,  als wrden Chatwin und das TOS-Programm gleichzeitig
laufen, oder als wre das TOS-Programm ein Teil von Chatwin.


MultiTOS

Unter  MultiTOS werden beim Start von GEM-Programmen die Fenster nicht
geschloen.  Vielmehr wird Chatwin (intern) in einen Wartezustand ver-
setzt, in dem er auf das Ende des gerade gestarteten Programms wartet.
Whrend dieser Zeit werden aber noch gewisse Nachrichten, wie z.B. Re-
draws fr die offenen Fenster, bearbeitet. In Chatwin knnen aber kei-
ne  neuen Aktionen ausgelst werden.  Anders verhlt es sich, wenn ein
Programm parallel gestartet wurde: Chatwin ist dann sofort wieder ein-
satzbereit.

Auch unter MTOS werden die Ausgaben von TOS-Programmen in das Console-
Fenster  umgelenkt.  Im Gegensatz zur Lsung unter SingleTOS geschieht
dies aber ber Pipes. Die SingleTOS-Methode, nmlich das Verbiegen be-
stimmter  Vektoren,  ist  unter  einem  Multitasking-System nicht mehr
sinnvoll anwendbar,  da sie eine globale nderung am System darstellen
wrde und somit auch Prozesse betrfe, die nicht von Chatwin gestartet
worden sind.  Werden TOS-Programme parallel gestartet, so wird dies an
das Betriebssystem weitergereicht, das dann dafr Sorge zu tragen hat,
da ein geeignetes Programm die Ausgaben des TOS-Programms in ein Fen-
ster umlenkt. Unter MTOS existieren dafr mehrere Programme, z.B. TOS-
WIN und MINIWIN.

Ein  generelles Problem unter MultiTOS ist das Vererben eines Environ-
ments an ein nachgestartetes Programm.  Soll ein GEM-Programm oder ein
parallel ablaufendes TOS-Programm gestartet werden, so wird ein spezi-
eller  Mechanismus  verwendet,  der  eigentlich das Environment an den
neuen Proze weitergeben soll.  Tatschlich funktioniert dies aber bei
allen ffentlich erhltlichen MultiTOS-Versionen nicht.


MiNT

Unter  MiNT  (dem  "Unterbau" von MultiTOS,  ohne multitasking-fhiges
AES)  werden  die  Ausgaben  von  TOS-Programmen ebenfalls,  wie unter
MultiTOS,  in  das  Console-Fenster  umgelenkt,  solange die Programme
nicht parallel gestartet werden.  Das Starten von GEM-Programmen funk-
tioniert dagegen wie unter SingleTOS, d.h. Chatwin schliet alle seine
Fenster.

Wichtiger Hinweis: In allen "offiziellen" MiNT-Versionen existiert ein
Fehler,  der  beim Nachstarten von Programmen auftreten kann.  Chatwin
enthlt dafr einen  "Workaround",  d.h. einen Trick,  der verhindert,
da  dieser  Fehler  auftritt.  In  den von Michael Hohmuth gepflegten
MiNT-Versionen  (MH-MiNT oder neuerdings FreeMiNT)  ist  dieser Fehler
aber ab  MiNT 1.12H3  behoben.  Gleichzeitig funktioniert nun aber der
Workaround  von  Chatwin  nicht mehr.  Da Chatwin diese MiNT-Versionen
nicht voneinander unterscheiden kann (sie tragen alle die gleiche Ver-
sionsnummer 1.12) wurde folgende Vorgehensweise gewhlt:

- Wenn  eine  MiNT-Version <1.12 installiert ist,  wird der Workaround
  verwendet.
- Wenn  eine  MiNT-Version 1.12 oder grer installiert ist,  wird der
  Workaround nicht verwendet.

Dieses   Verhalten   kann  durch  Anlegen  einer  Environmentvariablen
$MiNT_KLUDGE  beeinflut werden:  Hat die Variable den Wert "1",  dann
wird der Workaround aktiviert, andernfalls deaktiviert.

Wenn Sie also MiNT 1.12,  1.12H1  oder  1.12H2 verwenden, dann sollten
Sie diese Zeile in Ihr AUTOTAKE.T schreiben:

     env MiNT_KLUDGE=1

Der Betrieb unter MultiTOS ist von diesem Problem nicht betroffen.


MagiC (ehemals "Mag!X") und MagiCMac

Fr den Start von GEM-Programmen gilt unter MagiC 2.0 das gleiche, was
schon  zum Thema MultiTOS gesagt wurde.  Insbesondere gilt dies leider
auch fr das Problem des Environments,  wobei hinzukommt,  da ein Me-
chanismus wie unter MTOS erst gar nicht vorgesehen ist.

Durch das Fehlen von Pipes ist Chatwin gezwungen,  TOS-Programme unter
MagiC 2  immer von dem dort mitgelieferten Programm VT52.PRG ausfhren
zu lassen.  Dabei kann jedoch,  wie erwhnt,  kein Environment vererbt
werden,  was  aber  von vielen TOS-Programmen unbedingt bentigt wird.
Als Abhilfe wurde folgende Lsung eingebaut: TOS-Programme, deren Aus-
gabe mit dem Aufruf umgelenkt wurde (z.B. in eine Datei), werden nicht
parallel gestartet.  Dadurch ist Chatwin zwar whrend der Laufzeit des
Programms blockiert,  jedoch ist dies die einzige Mglichkeit, das En-
vironment an andere Programme weiterzugeben.

In MagiC 3 und 4 hat sich an dieser Situation nur wenig gendert. Zwar
kann dort nun das Environment vererbt werden (auch beim Start ber das
VT52.PRG),  jedoch knnen die nunmehr vorhandenen Pipes nicht sinnvoll
genutzt werden,  da immer noch eine Mglichkeit fehlt, eine Ausgabeum-
lenkung  zu  vererben  [Fr die Experten: Es fehlt Pexec(100)].  Daher
startet Chatwin unter MagiC 3 Programme so wie unter MagiC 2  (mit dem
einzigen  Unterschied,  da  nun wenigstens immer das Environment ver-
erbt wird).

Eine  Umlenkung der Ausgaben von TOS-Programmen in die Chatwin-Console
kann mit dem Schalter  "MagiC: TOS-Prg. in Console"  im Einstellungen-
Dialog  erzwungen werden.  Dies ist aber nur ein Notbehelf,  bis MagiC
endlich auch in diesem Punkt MultiTOS-kompatibel ist.


andere Betriebssysteme

Aus den obigen Ausfhrungen sollte deutlich geworden sein, da Chatwin
sehr  genau wissen mu,  unter welchem Betriebssystem gerade Programme
gestartet werden sollen.  Ein Anpassung an andere Betriebssysteme wird
deshalb im Normalfall vonnten sein.

Erfahrungen  mit  N.AES liegen z.Z. noch keine vor.  Im Prinzip sollte
Chatwin  N.AES  wie  MultiTOS behandeln.  Beachten Sie daher bitte die
obigen Anmerkungen zu MultiTOS.

Das Betriebssystem MultiGEM wird nicht untersttzt.


Allgemeines

Wollen Sie,  wie weiter oben erwhnt, ein Programm (unter einem Multi-
tasking-System)  parallel starten,  so stehen Ihnen zwei Mglichkeiten
zur  Auswahl:  Zum einen knnen Sie ein &-Zeichen an die Kommandozeile
des Programms (beim Aufruf aus der Console oder einem Takefile heraus)
anhngen.  Dies  signalisiert Chatwin  "dieses Programm bitte parallel
starten".  Die  andere Mglichkeit ist,  das Programm vorher im Dialog
`Programmstart'  einzutragen  und den Punkt  "parallel starten"  anzu-
kreuzen.

Wenn Chatwin ein Programm parallel startet, kehrt er sofort wieder zu-
rck  und ist bereit,  weitere Eingaben entgegenzunehmen.  Nhere Aus-
knfte  ber  das  "Schicksal" eines so gestarteten Programms erhalten
Sie mit dem Befehl pwait.

Unter  Single- und MultiTOS sowie unter MiNT versucht Chatwin,  den in
seinem  Console-Fenster  ablaufenden  TOS-Programmen ber die Environ-
mentvariablen  $LINES  und  $COLUMNS  die  aktuelle Gre des Console-
Fensters  mitzuteilen.  Programme,  die  sich an diese Angaben halten,
nutzen dann nur die aktuelle Flche des Console-Fensters, so da nicht
stndig gescrollt werden mu.

Chatwin ist weitgehend machtlos, wenn sich Programme nicht an die gn-
gigen  Methoden zur Ausgabe auf den Bildschirm halten.  Programme, die
direkt auf den Bildschirm zeichnen  (ohne Fenster) oder TOS-Programme,
die  ihre Bildschirmausgaben ber das Bios  (statt Gemdos)  abwickeln,
werden  auch  mit  anderer  Software und mit knftigen Betriebssystem-
Versionen  rger  bereiten.  Sie  sollten auf den Einsatz solcher Pro-
gramme  verzichten  oder  sich  mit dem jeweiligen Autor in Verbindung
setzen.




======================================================================
C. Oberon
======================================================================

Chatwin  verfgt ber eine Schnittstelle zum Oberon-System von Stephan
Junker  (STJ-Oberon 2),  ber  die ein Load-Time-Linking  (kurz "LTL")
realisiert  wird.  D.h.  da die vom Oberon-Compiler erzeugten Objekt-
files  von  Chatwin  aus wie normale Programme gestartet werden knnen
(der Link-Vorgang entfllt also).

Chatwin wird dazu von dem Oberon-Loader (aus dem Oberon-Paket) nachge-
startet.  Genauere  Hinweise  zur Installation entnehmen Sie bitte der
Dokumentation des STJ-Oberon.

Ist  das  LTL  installiert  (fr Chatwin an einem Cookie zu erkennen),
dann  knnen  Sie  von  Chatwin  aus OBJ-Dateien wie normale Programme
starten.  Dies gilt auch fr die Meneintrge,  ber die Programme ge-
startet werden, also auch fr die Eintrge "Editor", "Compiler", etc.

Es  ist  nicht ntig,  im Dialog `Programmstart' die Extension "*.OBJ"
einzutragen. Sie knnen dort aber einzelne OBJ-Dateien eintragen, wenn
Sie erreichen wollen, da vor deren Start ber die Menleiste der Dia-
log  zur Eingabe der Programmparameter  (wie bei normalen TTP-Program-
men) erscheint. Tragen Sie dazu einfach die Datei wie ein gewhnliches
Programm  im Programmstart-Dialog ein und kreuzen Sie  "mit Parameter-
bergabe"  an.  Dies  ist brigens der einzige Schalter,  der fr OBJ-
Files ausgewertet wird.




======================================================================
D. VA-Protokoll
======================================================================

Das VA-Protokoll  (oft auch AV-Protokoll genannt) wurde von dem alter-
nativen Desktop Gemini eingefhrt. ber dieses Protokoll knnen Datei-
namen  und Kommandos zwischen dem Desktop und anderen Prozessen ausge-
tauscht  werden.  Dieses  Protokoll  wird mittlerweile von vielen Pro-
grammen und einigen weiteren Desktops (und natrlich auch von Chatwin)
untersttzt.


AV-Server

Voraussetzung  ist,  neben  der Untersttzung des Protokolls durch die
beteiligten Programme, da eines der Programme (meist der Desktop) als
sogenannter  AV-Server  fungiert.  Chatwin  versucht zwar selbstndig,
einen  AV-Server  zu finden,  aber das beste wird sein,  wenn Sie sich
schon beim Hochfahren des Rechners eine Environmentvariable  $AVSERVER
anlegen  lassen  (z.B.  mit  einem  geeigneten  Programm fr den AUTO-
Ordner), die den Namen des AV-Servers enthlt.


Andere Aktionen

Neben  dem  Drag&Drop  werden  Dateinamen  meist  ber  die  Nachricht
VA_START bergeben,  die Chatwin ebenfalls versteht.  Die Reaktion von
Chatwin  auf  diese  Nachricht hngt von der Art der bergebenen Datei
ab:

  - Takefiles werden ausgefhrt
  - SET-Files werden geladen
  - bei allen anderen Dateiarten wird der Dateiname als neuer Name fr
    den aktuellen Quelltext bernommen

Viele  (leider noch nicht alle)  AV-Server  untersttzen auch die Mg-
lichkeit,  die  Funktion  "Fenster wechseln"  applikationsbergreifend
auszufhren,  d.h. da mit der Tastenkombination [Control][W] zwischen
allen offenen Fenstern aller beteiligten Programme umgeschaltet werden
kann.  Wenn  Chatwin einen AV-Server erkennt,  fhrt er das Umschalten
zwischen  seinen Fenstern daher nicht mehr selbst aus,  sondern beauf-
tragt den AV-Server damit.




======================================================================
E. SE-Protokoll
======================================================================

Das sogenannte SE-Protokoll  ("Shell-Editor-Protokoll") ist eine rela-
tiv  neue  Mglichkeit,  ber  die  ein  Editor mit einer Shell  (z.B.
Chatwin) kommunizieren kann. Gedacht ist dies hauptschlich fr Multi-
tasking-Systeme, es wre aber auch unter SingleTOS anwendbar, wenn der
Editor als Accessory luft.

Die  Idee  bei diesem Protokoll ist,  da man vom Editor aus bestimmte
Funktionen in der Shell auslsen kann. Umgekehrt braucht die Shell den
Editor  nicht  immer neu zu starten,  sondern sie teilt einem parallel
laufenden  Editor  ber  AES-Nachrichten mit,  welche Dateien er laden
soll.

Chatwin untersttzt die folgenden Nachrichten:

* Nachrichten der Shell an den Editor:
  - SE_INIT      (Kontaktaufnahme mit Editoren)
  - SE_OK        (Besttigungsmeldung auf ES_INIT)
  - SE_ACK       (allgemeine Besttigungsmeldung)
  - SE_OPEN      (Editor soll Datei ffnen)
  - SE_ERRFILE   (Editor soll Fehlerdatei laden, siehe errfile)
  - SE_TERMINATE (Editor soll sich beenden)
  - SE_QUIT      (Shell beendet die Kommunikation)

* Nachrichten des Editors an die Shell:
  - ES_INIT      (Kontaktaufnahme mit Shells)
  - ES_OK        (Besttigungmeldung auf SE_INIT)
  - ES_ACK       (allgemeine Besttigungsmeldung)
  - ES_COMPILE   (Shell soll Datei an den Compiler bergeben)
  - ES_MAKE      (Makefile - bzw. bei Chatwin: Takefile - starten)
  - ES_LINK      (Shell soll Datei an den Linker bergeben)
  - ES_QUIT      (Editor beendet die Kommunikation)


Wenn  bei der Nachricht  ES_MAKE  kein Dateiname eines Takefiles ber-
geben wird, dann startet Chatwin das Default-Takefile, d.h. dasjenige,
das im Take-Men mit einem Hkchen markiert ist.

Damit  die Kommunikation mit dem Editor klappt,  mu im Programmstart-
Dialog der Punkt "parallel starten" angekreuzt sein.

Der  Editor  Everest  untersttzt ab der Version 3.5 das SE-Protokoll,
der Editor QED ab der Version 3.30.




======================================================================
F. XACC-Protokoll
======================================================================

Das  XACC-Protokoll  diente  ursprnglich zur Kontaktaufnahme zwischen
Accessories  und dem Hauptprogramm unter SingleTOS  (wo dies sonst nur
dann mglich ist,  wenn man den genauen Namen des jeweils anderen Pro-
zesses  kennt).  Aber auch unter modernen Multitasking-Systemen ist es
sinnvoll,  da es Informationen liefern kann, die man andernfalls nicht
bekommt (z.B. den Typ eines Programms, d.h. ob es sich um einen Editor
oder eine Shell oder ... handelt).  Zudem  ermglicht es auch den Aus-
tausch von Daten (Tastendrcke, Texte und Bilder).

Das XACC-Protokoll kennt drei Gruppen (Stufen): Gruppe 0 dient nur zur
Kontaktaufnahme  (und  evtl. Bekanntgabe des Programmtyps),  Programme
der  Gruppe 1  knnen  Tastendrcke und Texte,  Programme der Gruppe 2
auch Bilder und Metafiles austauschen.

Chatwin untersttzt XACC Gruppe 1,  sowie die XDSC-Infos (d.h. die An-
gabe des Programmtyps).  Bei verschiedenen Aktionen macht Chatwin sei-
nerseits  Gebrauch  von den XDSC-Infos anderer Programme,  so z.B. bei
der Kommunikation mit einem Fontselektor oder einem Dateiviewer.

Ein Text,  der ber das XACC-Protokoll an Chatwin geschickt wird  (mit
der Nachricht ACC_TEXT)  wird  von Chatwin als auszufhrendes Takefile
angesehen und dementsprechend behandelt, d.h. gestartet.

Wenn  in  der Console ein Block aufgezogen worden ist,  so kann dieser
mit der Maus "gegriffen" und an ein anderes Programm versendet werden,
das  ebenfalls  XACC Gruppe 1  (oder hher)  beherrscht  (wenn das Be-
triebssystem Drag&Drop beherrscht,  wird Chatwin allerdings versuchen,
den Block ber das Drag&Drop-Protokoll zu bermitteln).




======================================================================
G. View-Protokoll
======================================================================

Das  View-Protokoll  regelt  die Kommunikation mit einem externen Pro-
gramm  zum Anzeigen von Dateien,  einem sogenannten Dateiviewer.  Dazu
wird zunchst natrlich ein Dateiviewer bentigt, der dieses Protokoll
untersttzt,  z.B.  das Programm  Zeig's mir.  Zur Kontaktaufnahme mit
diesem Programm mu es parallel zu Chatwin (oder als Accessory) laufen
und  sich Chatwin gegenber als View-Protokoll-fhig zu erkennen gege-
ben haben.  Findet sich kein solches Programm, wird Chatwin versuchen,
eines nachzustarten.

Wenn  Chatwin eine Datei anzeigen soll  (ber den Menpunkt `Anzeigen'
oder ber den more-Befehl), dann geht er wie folgt vor:

  1. Test, ob das Programm, das im Einstellungen-Dialog angemeldet
     wurde, bereits luft
  2. Suche nach einer EnvVar $View und, falls vorhanden, nach dem
     darin angegebenen Programm
  3. Suche nach einem Cookie "View" und, falls vorhanden, nach dem
     darin angegebenen Programm
  4. Suche nach einer EnvVar $SHSHOW und, falls vorhanden, nach dem
     darin angegebenen Programm

Lt sich durch einen dieser vier Punkte ein Programm finden,  das be-
reits luft und das View-Protokoll versteht, so wird es mit dem Anzei-
gen der Datei beauftragt.  Luft noch keines dieser Programme, so wer-
den  die  Punkte  1-4 nun erneut abgearbeitet,  diesmal wird aber ver-
sucht,  das jeweilige Programm selbst zu starten.  Nur im allergrten
Notfall,  d.h. wenn keine Programme angegeben sind oder gestartet wer-
den  konnten,  wird  Chatwin  die Datei selbst anzeigen.  Chatwin kann
allerdings nur Textdateien anzeigen.

Anmerkung:  Der  erste  Punkt  ist eine Chatwin-eigene Erweiterung des
View-Protokolls.

Tip:  Wenn  Ihr bevorzugter Dateiviewer das View-Protokoll beherrscht,
dann  sollten  Sie ihn in der EnvVar  $View  anmelden,  andernfalls in
$SHSHOW.




======================================================================
H. Drag&Drop
======================================================================

Drag&Drop  wird von Chatwin sowohl ber das VA-Protokoll als auch ber
das  "echte"  Drag&Drop-Protokoll von MultiTOS untersttzt.  In beiden
Fllen  ist  ein  Multitaskingsystem Voraussetzung.  Fr das MultiTOS-
Drag&Drop wird ein System bentigt,  das ber Pipes verfgt, also z.B.
MultiTOS,  MagiC ab Version 3  (oder auch MagiCMac oder MagiC-PC) oder
N.AES.

Gemeinsam ist beiden Drag&Drop-Protokollen die prinzipielle Vorgehens-
weise:  Icons  werden  mit  der Maus gegriffen und auf Fenster anderer
Programme oder auf andere Icons gezogen, wodurch eine Aktion ausgelst
wird.  Whrend das VA-Protokoll aber nur die Namen des Icons bergibt,
werden  beim MultiTOS-Protokoll normalerweise die Daten,  die das Icon
reprsentiert,  bergeben.  Erst  wenn sich Sender und Empfnger nicht
ber  die  Art der bergebenen Daten einigen knnen,  wird stattdessen
ein Name bergeben.

Folgende Drag&Drop-Mglichkeiten bietet Chatwin an:

Console:
- Werden Icons auf die Chatwin-Console gezogen,  so wird deren Name an
  der aktuellen Cursorposition in die Kommandozeile eingefgt.
- Textdaten,  die auf die Console gezogen werden, werden als Takefiles
  behandelt und ausgefhrt.
- Sollte ein Sender ein Settingfile bergeben (mir ist kein derartiges
  Programm bekannt), so wird dieses Setting bernommen.
- Textblcke,  die  in  der  Console  aufgezogen  wurden,  knnen  per
  Drag&Drop an andere Programme (z.B. Texteditoren) bergeben werden.

Dateiliste:
- Werden  Icons auf die Dateiliste gezogen,  so wird deren Name in die
  Dateiliste eingefgt.
- Eintrge  der  Dateiliste  knnen  per Drag&Drop an andere Programme
  bergeben werden, wobei hier nur der Name bergeben wird.

Was  andere Programme mit den bergebenen Daten bzw. Dateinamen anfan-
gen, hngt natrlich von der jeweiligen Anwendung ab.




======================================================================
I. IFormats-Paket
======================================================================

Das  IFormats-Paket von Martin Osieka besteht aus drei CPXen  (Modulen
fr das modulare Kontrollfeld XControl von Atari),  in  denen man ein-
stellen kann,  wie Datums-, Uhrzeit- und Zahlenangaben formatiert wer-
den sollen. Die CPXe kennen bereits die Standardeinstellungen fr ver-
schiedene  Lnder  (so  wird z.B. der 23. Juni 1996 in Deutschland als
23.06.1996 notiert, in den USA dagegen als 6/23/1996),  man  kann sich
aber auch eigene Ausgabeformate definieren.

Wenn  diese  CPXe installiert sind,  bernimmt Chatwin die dort einge-
stellte Formatierung fr alle Ausgaben von Datums-,  Uhrzeit- und Zah-
lenangaben, z.B. beim Befehl ls oder im Dialog `Datei-Information'.

Das IFormats-Paket ist z.Z. leider noch nicht fertig. Es existiert je-
doch eine ffentliche Beta-Version, die privat  (aber nicht ber Mail-
boxen) weitergegeben werden darf.

Bezugsquelle:  Maus OF2, Tel. 06103-921170,  Gruppenprogrammteil WINX,
Dateiname IFORMAT?.LZH (Das Fragezeichen steht fr die Versionsnummer,
z.Z. "1").

Diese  Version  ist bereits voll funktionsfhig und wird auch hoffent-
lich bald durch eine "offizielle" Version abgelst.

======================================================================
