Wichtige Hinweise
*******************

   Ich habe diese Zeilen an den Anfang des Dokuments gestellt, damit
niemand behaupten kann, man habe sie nicht finden können.


Namensänderungen
=================

   Um von Commodore verordneten Standards zu gehorchen, wurden die Namen
der von `term' verwendeten Konfigurationsdateien und deren bevorzugter
Aufenthaltsort geändert. Anstatt die Dateien standardmäßig in
`ENVARC:term' unterzubringen, werden sie jetzt im Verzeichnis
`TERM:config' abgespeichert und gesucht (*der Konfigurationspfad läßt
sich natürlich immer noch auf einen anderen Wert setzen*). Wird kein
Verzeichnis `TERM:' gefunden, wird es auf das aktuelle Verzeichnis
gelegt. Ist kein Verzeichnis `TERM:config' vorhanden, so wird es
ebenfalls angelegt. Die Namen der Konfigurationsdateien haben sich wie
folgt geändert:

`Preferences.term'
`term_preferences.iff'
     Neuer Name ist jetzt `term.prefs'

`Phonebook.term'
`term_phonebook.iff'
     Neuer Name ist jetzt `phonebook.prefs'

`Hotkeys.term'
`term_hotkeys.iff'
     Neuer Name ist jetzt `hotkeys.prefs'

`Speech.term'
`term_speech.iff'
     Neuer Name ist jetzt `speech.prefs'

`Macros.term'
`term_macros.iff'
`macros.prefs'
     Neuer Name ist jetzt `functionkeys.prefs'

`Fast!Macros.term'
`term_fastmacros.iff'
     Neuer Name ist jetzt `fastmacros.prefs'

   Damit `term' und `termcap' sich miteinandern vertragen, mußte auch
die Systemvariable `TERMPATH' umbenannt werden, sie heißt jetzt
`TERMCONFIGPATH'.


Neue Dateiformate
==================

   In den letzten Versionen lief die Weiterentwicklung der
Konfigurationsdateien drastisch auseinander. Um etwas aufzuräumen und
für künftige Erweiterungen den Boden zu bereiten, habe ich mich wieder
einmal dazu entschlossen, das Format von Konfigurationsdateien und
Telefonbuch komplett umzustellen.

   Da `term' nicht mehr über die Funktionen verfügt, die von älteren
Versionen erzeugte Dateien automatisch konvertieren konnten, habe ich
ein zusätzliches Programm beigefügt, um Konfigurations- und
Telefonbuchdateien auf den neuesten Stand zu bringen: `UpdateConfig'.
Es erkennt automatisch, ob es sich bei der zu konvertierenden Datei um
eine Konfigurationsdatei oder um eine Telefonbuchdatei handelt. Um eine
Konfigurationsdatei zu übertragen, ist so z.B. `UpdateConfig
term.prefs term_neu.prefs' und um eine Telefonbuchdatei zu übertragen
z.B. `UpdateConfig phonebook.prefs phonebook_neu.prefs' einzugeben.

   *Vorsicht:  es können nur unverschlüsselte Telefonbuchdateien
konvertiert werden! Vor der Konvertierung sollten sie also besser
unverschlüsselt abgespeichert werden.*


Das Carrier-Signal
===================

   Ab Version 2.3 hat der Schalter `Check carrier' im Modemfenster eine
neue Funktion. Ist der Schalter aktiv, wird während eines
Dateitransfers das Carrier-Signal geprüft, ist es nicht mehr vorhanden,
wird die Übertragung abgebrochen. Wer einen Nullmodem-Transfer
durchführt, sollte den Schalter deshalb *unbedingt* ausschalten.


Der High-speed Modus
=====================

   Aktivieren des sogenannten `High-speed Modus' (siehe
Schnittstellenfenster) hatte immer den Effekt, die seriellen Parameter
auf acht Bits pro Zeichen, ein Stop-Bit, keine Parität zu setzen. Bis
Version 2.3 zeigte `term' diese Veränderungen allerdings nicht an. Man
wundere sich jetzt bitte nicht, daß dieser Schalter auch andere
serielle Parameter beeinflußt.


Warum funktioniert das nicht?
******************************

   Ich nehme zwar nicht an, daß die Anwender, die diesen Abschnitt
eigentlich lesen sollten, dies auch wirklich machen werden, aber
nichtsdestotrotz ist er vielleicht doch recht nützlich. Hier wird kurz
beschrieben, aus welchen Gründen verschiedene Funktionen des
Programmes eingeschränkt sein könnten oder eventuell sogar gar nicht
funktionieren.

  1. Obwohl ich die Datei `term.catalog' richtig in der Schublade
     `LOCALE:catalogs/deutsch' untergebracht habe, verwendet `term'
     keine deutschsprachigen Programmtexte!

     Für die deutschen Texte wird zumindest die Workbench-Version 2.1
     benötigt. Verschiedene Beta-Test-Versionen verfügten über eine
     Reihe von Fehlern, die das korrekte Einlesen der Datei
     `term.catalog' verhinderten. Es sollte also auf jeden Fall die
     endgültige Version 38.35 verwendet werden (*wer eine Raubkopie
     einer Beta-Test-Version benutzt, sollte sich über gar nichts
     wundern!*).

  2. Wenn ich in einem Fenster die `Help'-Taste drücke, blitzt der
     Bildschirm kurz auf, die Online-Hilfe wird aber nicht aktiv!

     Die Online-Hilfe benötigt mindestens Workbench 3.0, um zu
     funktionieren. Es reicht nicht, die `amigaguide.library' korrekt
     im System installiert zu haben.

  3. Meine ganzen ARexx-Programme für `term' funktionieren plötzlich
     nicht mehr!

     In Version 3.1 habe ich für `term' eine komplett neue
     ARexx-Schnittstelle implementiert. Leider sind die unterstützten
     Befehle zu denen von Vorgängerversionen vollkommen inkompatibel.
     Existierende ARexx-Programme müssen demnach umgeschrieben werden.

  4. Durch Doppelklicken kann man keine Wähllisten mehr im Telefonbuch
     zusammenstellen, der angeklickte Eintrag wird sofort gewählt!

     In Version 3.1 wurde das Schema zum Zusammenstellen von Wähllisten
     verändert. Doppelklicken führt dazu, daß der jeweilige Eintrag
     sofort angewählt wird. Um Wähllisten zusammenzustellen, ist eine
     der Umschalttasten für Groß-/Kleinschreibung (Shift) gedrückt
     zu halten, während man einen Eintrag einmal anklickt.

  5. Beim Dateitransfer wird zwar noch das Fenster geöffnet, aber die
     Übertragung fängt gar nicht erst an! Ich benutze eine
     BSC-MultiIO-Karte.

     Aus mir bisher nicht einsichtigen Gründen arbeitet `term' 3.1
     nicht korrekt mit der Treibersoftware der BSC-MultiIO-Karten
     zusammen. Ich habe jedoch erfahren, daß mit der neuen
     Treibersoftware-Version 2.6 keinerlei solche Probleme mehr
     auftreten.

  6. Der Dateitransfer bricht bei Zugriffen auf die Festplatte immer
     mit einem Fehler ab! Ich benutze eine Festplatte mit
     GVP-Controller.

     Ältere Versionen der GVP-Treibersoftware klemmten während
     Plattenzugriffen kurzzeitig die Interruptverarbeitung ab, wodurch
     die Datenübertragung durch das `serial.device' behindert wurde.
     Angeblich behebt das von GVP oder einem GVP-Vertragshändler
     erhältliche Programm `GVPPatch' dieses Problem (*Ich habe dies
     nicht selbst getestet!*).

  7. `term' unterstützt keine ZModem-Resume-Funktion!

     `term' verwendet keine ins Programm eingebauten Transferprotokolle,
     sondern greift auf die sogenannten XPR-Bibliotheken zurück, wie
     z.B. `xprzmodem.library'. Sollen Funktionen wie die
     ZModem-Resume-Funktion aktiviert werden, so müssen die Parameter
     der verwendeten Bibliothek geändert werden. Dies geschieht durch
     Aufruf der Funktion `Transfer...' im Menü `Settings'. Um speziell
     die Resume-Funktion des ZModem-Protokolles zu aktivieren, ist
     unter `Overwrite mode (Y,N,R,S)' ein `R' einzugeben. Weitere
     Parameter sind in der Dokumentation des jeweiligen
     Transferprotokolles nachzulesen.

  8. Obwohl `term' sonst deutschsprachige Texte verwendet, werden im
     Transferfenster englischsprachige Meldungen ausgegeben!

     Die von `term' verwendeten Transferprotokolle sind in sich
     abgeschlossene Einheiten, in denen auch Fehlermeldungen und
     Hinweistexte gespeichert sind. Letztlich ist es das Protokoll, das
     eine Meldung zur Ausgabe an `term' weiterreicht, es ist nicht
     `term' selbst, das die Fehlermeldungen und Hinweise absetzt. Da
     ich die Transferprotokolle nicht selbst implementiert habe, konnte
     ich mich auch nicht um die Anpassung der Texte und Meldungen
     kümmern, die aus diesem Grund natürlich nicht notwendigerweise
     ins Deutsche übersetzt sind.

  9. Obwohl ich die Sprachfunktion von `term' aktiviert habe, spricht
     das Programm kein Wort!

     Mit der Einführung der Workbench 2.1 hat Commodore die
     Unterstützung des Sprachsynthesizers eingestellt; `term' kann in
     diesem Fall keine Sprachausgabe tätigen. Ist in den
     `Locale'-Einstellungen eine andere Primärsprache als `english'
     eingestellt, so wird der Sprachsynthesizer ebenfalls nicht
     aktiviert, da die gesprochenen Texte nur in Englisch verfügbar
     sind.

 10. Wenn ich Dateien empfange (`downloade') landen sie nicht in der
     Schublade, die ich eingestellt habe!

     Das verwendete Transferprotokoll hat zumeist eigene Ansichten
     darüber, in welcher Schublade die empfangenen Dateien abgelegt
     werden sollen. Diese Einstellungen sind in den Optionen des
     Transferprotokolles zu konfigurieren (Funktion `Transfer...' im
     Menü `Settings'), nähere Informationen lese man in der
     Dokumentation des Protokolles nach. Um die in den `Paths...'
     Einstellungen zu konfigurierenden Empfangspfad zu verwenden, ist
     in den `Miscellaneous...' Einstellungen der Schalter `Override
     transfer path' zu aktivieren.

 11. Manchmal hört `term' mit der Textausgabe auf und nimmt keine
     Zeichen mehr von der Tastatur an; wenn man eine Taste drückt,
     blitzt der Bildschirm auf oder das Programm `piepst'!

     In diesem Fall sollte man einen Blick auf das Anzeigefeld in der
     linken unteren Ecke des Bildschirms werfen. Steht unter `Status'
     das Wort `Holding', wurde die Textausgabe durch ein `Control + S'
     angehalten, was z.B. passieren kann, wenn man eine verrauschte
     Telefonleitung erwischt hat und das Modem zufällige Zeichen
     empfängt. Drückt man die Tasten `Control + Q' wird die
     Textausgabe wieder aktiviert.

 12. Ich habe meine Konfigurationsdateien in eine andere Schublade
     kopiert und in der Hauptkonfiguration von `term' die Dateipfade
     aktualisiert. Trotzdem sucht das Programm, wenn ein
     Telefonbucheintrag angewählt wurde, in den alten Schubladen nach
     den Konfigurationsdateien!

     `term' verwendet beim Programmstart eine Systemvariable
     (`TERMPATH') um festzustellen, wo die Hauptkonfigurationsdatei zu
     suchen ist. Fehlt diese Variable, wird in der Schublade `TERM:'
     nachgeschaut. Ändert man den Aufenthaltsort der
     Hauptkonfigurationsdatei, muß man -- sofern vorhanden -- auch die
     Systemvariable aktualisieren.

     Hat man dies bereits getan, oder existiert keine solche Variable,
     aber `term' sucht immer noch in der falschen Schublade, sollte man
     sich die zu den jeweiligen Telefonbucheinträgen gehörenden
     Pfadeinstellungen anschauen. Im Normalfall sind diese mit der
     Hauptkonfiguration identisch, bei einer Änderung der
     Hauptkonfiguration müssen diese auch angepaßt werden.

 13. Obwohl mehrere Dateien ausgewählt sind, die verschickt werden
     sollen, überträgt `term' nur die erste Datei und ignoriert die
     restlichen!

     Nicht jedes Transferprotokoll implementiert eine Funktion zum
     Verschicken mehrerer Dateien. Leider gibt es für `term' keine
     Möglichkeit, nachzuschauen, ob ein Protokoll diese Funktion
     unterstützt. Im Bedarfsfall halte man sich deshalb an die
     Dokumentation des jeweiligen Transferprotokolles.

 14. Am Anfang eines Dateitransfers zeigt `term' an, daß es das
     Transferprotokoll nicht kennen würde!

     Die im Transferfenster angezeigten Informationen werden vom
     verwendeten Transferprotokoll ausgegeben und aktualisiert. *`term'
     hat keinen Einfluß auf die angezeigten Texte!* Zieht es das
     Protokoll vor, sich nicht zu identifizieren (hierfür ist die
     Anzeige `Protocol' gedacht), so muß es ihm überlassen bleiben.

 15. Obwohl alles richtig eingestellt ist und auch meine ARexx-Skripts
     korrekt programmiert sind, wird kein einziges Skript ausgeführt!

     Zur korrekten Ausführung eines ARexx-Skripts muß das Programm
     `RexxMast' gestartet worden sein, das den ARexx-Interpreter
     installiert. Meines Wissens nach ist dies speziell auf dem A4000
     nicht der Fall. Hierzu sollte man das in der Schublade `System'
     befindliche Programm `RexxMast' in die Schublade `WBStartup' legen.

 16. Das Textpufferfenster läßt sich nicht auf die volle Breite des
     Bildschirms aufziehen, es werden immer nur maximal 80 Zeichen
     angezeigt!

     Warum sollte es breiter sein, wenn ohnehin nur 80 Zeichen pro
     Zeile abgespeichert werden? Auch der Textpufferbildschirm hat nur
     Raum für 80 Zeichen pro Zeile, manchmal auch für weniger
     Zeichen, was vom verwendeten Zeichensatz abhängig ist.

 17. Obwohl die Auto-Download-Funktion des Dateitransferprotokolles
     eingeschaltet ist, wird sie nicht aktiviert, wenn gerade ein
     ARexx-Programm läuft!

     Tatsächlich rufen alle ARexx-Befehle bei der Bildschirmausgabe
     nur die Funktion auf, die den Text auf den Bildschirm bringt.
     Sonderfunktionen, wie z.B. Auto-Download werden nicht unterstützt
     und müssen im Bedarfsfall von Hand in ARexx nachprogrammiert
     werden.

 18. Der Textpufferbildschirm öffnet sich nicht in demselben
     Bildschirmmodus wie der Hauptbildschirm!

     `term' versucht für den Textpufferbildschirm einen Anzeigemodus
     zu finden, der dem des Hauptbildschirmes entspricht, bzw. ähnelt.
     Kann dieser jedoch die notwendigen Eigenschaften nicht erfüllen,
     die gefordert sind (feste Breite, Zentrierung), wird einer der
     Standardmodi gewählt.

 19. Leite ich den `term' Hauptbildschirm mit einem Spezialprogramm in
     einen anderen Bildschirmmodus um, so wird der Schirm viel zu klein
     geöffnet!

     `term' schaut vor dem Öffnen des Bildschirms nach, wie groß die
     Anzeige werden wird und verwendet diese Informationen beim Öffnen
     des Schirms. Das Programm paßt sich zwar an die endgültige
     Schirmgröße an, es ist aber dennoch zu empfehlen den Bildschirm
     nicht einfach umzulenken, sondern direkt den gewünschten
     Anzeigemodus einzustellen.

 20. Ist der Schalter `Faster layout' aktiv, stürzt das Programm beim
     Öffnen des Bildschirms ab!

     Graphikkarten von Drittanbietern, die eine selbstgeschriebene
     Intuition-Emulation verwenden, kommen nicht notwendigerweise mit
     dem speziellen Bitmap-Format zurecht, das bei aktiviertem `Faster
     layout' Schalter verwendet wird. In diesem Fall ist stark
     anzuraten, diese Funktion nicht zu benutzen! Sind die
     Einstellungen jedoch bereits abgespeichert, die diesen Modus
     aktivieren und führt ein Neustart des Programmes nur zu einem
     dramatischen Systemabsturz, sollte folgende Taktik verwendet
     werden:

       1. Feststellen, in welcher Schublade sich die Konfigurationsdatei
          befindet, mit der `term' startet.

       2. Umbenennen der Konfigurationsdatei (z.B. durch Eingabe des
          Shell-Befehls `Rename term.prefs term.prefs_alt').

       3. Starten von `term'.

       4. Neueingabe der Konfiguration, Abspeichern der neuen
          Konfiguration.


 21. Die CPS-Anzeige des Transferprotokolles stimmt nicht mit der
     CPS-Anzeige der Gegenstelle überein!

     Die Berechnung des Datendurchsatzes ist von vielen Faktoren
     abhänging, wie Leitungsqualität, Geschwindigkeit des Rechners,
     Effizienz der Implementierung des Protokolles, Verwendete
     Berechnungsmethode. Es ist nicht notwendigerweise gegeben, daß
     das Berechnungsergebnis identisch ist, geschweige denn, daß der
     sich ergebende Wert ein gutes Maß für die Qualität des
     Transferprotokolles ist. Im allgemeinen Fall sollte man eine
     Toleranz von 10%-20% zwischen zwei vergleichbaren CPS-Werten
     annehmen.

 22. Starte ich `term' zweimal von der Shell, werden nicht zwei
     Programme gestartet, sondern nur das zuerst gestartete `term'
     aktiviert!

     Normalerweise bewirkt das erneute Starten des Programmes von der
     Shell nur, daß ein bereits laufendes `term' aktiviert wird. Ist
     dieser Effekt nicht erwünscht, muß in der Befehlszeile die
     Option `NEW' übergeben werden: `term new'.


   (Wird fortgesetzt)


Programmfehler
***************

   `term' ist ein erschreckend komplexes und umfangreiches Programm
(etwa 2 MBytes Quellcode sprechen Bände), das garantiert nicht
fehlerfrei ist. Bei der Erstellung jeder einzelnen neuen
Programmversion war ich immer wieder erstaunt, wieviele kleinere und
größere Fehler sich im Programm versteckten, nur um mich zu ärgern.

   Wer einen oder mehrere Fehler findet, der sollte mich
schnellstmöglichst darüber informieren, wo und unter welchen
Umständen es zu Problemen kam. Zu einer solchen Fehlermeldung gehören
folgende Informationen über die Rechnerumgebung:

   * Verwendetes Rechnermodell (A500, A500+, A1000, A2000, A2000+,
     A2500, A3000, A3000T, A4000, etc.)

   * Speicherausbaustufe

   * Prozessorhardware (68000, 68010, 68020, 68030, 68040, etc.)

   * Graphikhardware (ECS, AGA, ImpactVision, Domino, etc.)

   * Verwendete Betriebssystemversion und Art (A3000 ROM, A3000
     Kickfile, A500+ ROM, A600 ROM, Kickfile, etc.)

   * Verwendete Workbench-Version

   * Festplattencontroller (sofern vorhanden)

   * Modemtyp und zur Ansteuerung des Modems verwendete Hardware
     (Multi-IO-Karten, etc.)

   * Eingestellte `term'-Konfiguration (Bildschirmmodus, serielle
     Parameter, Übertragungsprotokoll und dessen Versionsnummer, etc.)

   Wenn der auftretende Fehler beschrieben wird, bitte soviel wie
möglich über den Arbeitsvorgang, der dem Fehler vorausging,
mitaufschreiben! Zuletzt bitte ich darum, den Text so sorgfältig zu
schreiben, daß ich auch wirklich etwas damit anfangen kann; vage
Beschreibungen (`manchmal wird term so komisch langsam') helfen mir
nicht besonders und wenn ich aus einer Fehlermeldung nicht schlau
werden kann, bleibt ein möglicher Fehler vielleicht so lange im
Programm, bis ich ihn zufällig selbst entdecke.

   Falls Probleme mit der eingebauten Terminalemulation (ich bin nicht
für die Wartung der externen Terminalemulationsbibliotheken
verantwortlich!) auftreten, so sollte man eine Sitzung über die
`Capture to file' Funktion mitschneiden, in der die Fehler auftreten,
aber vorher den `Capture filter' ausschalten, sodaß alle Steuerbefehle
korrekt aufgezeichnet werden.

   Probleme mit dem ARexx-Interface sollten zusammen mit einem
Beispielprogramm, bei dessen Ausführung der Fehler auftritt, gemeldet
werden.

   Fehlermeldungen können mir auf jedem sinnvoll erscheinende Wege
zugeleitet werden, es hilft allerdings manchmal, dies über Z-Netz oder
Internet zu bewerkstelligen, was mir die Möglichkeit gibt, bei Bedarf
noch einmal nachzufragen.


Entstehungsgeschichte
**********************

   Dieses Programm ist das Resultat meiner aufgestauten Wut und
Enttäuschung über die derzeitige Softwaresituation auf dem Amiga:
keinerlei Telekommunikationsprogramm -- sowohl kommerziell, oder als
Share-Ware, bzw. Public-Domain vertrieben -- war bisher in der Lage,
meine Ansprüche zufriedenzustellen.

   Gewiß, viele Eigenschaften waren gut durchdacht, doch dann fehlte
eine deutsche Tastaturbelegung, das eine oder andere Transferprotokoll
war nicht absturzsicher implementiert oder die Terminalemulationen
deckten nicht den gesamten geforderten Befehlssatz ab.

   Ich habe mich lange gescheut, Hand anzulegen und meine eigene
`Problemlösung' vorzulegen. Jetzt, da Kickstart 2.0 für den Amiga
verfügbar ist, scheint sich eine kleine Chance zu bieten, ein
Terminalprogramm einfach, schnell und komfortabel zu erstellen. In
wieweit mir diese Aufgabe geglückt ist, muß jedermann selbst
herausfinden. Ich habe versucht mein bestes zu geben -- vielleicht war
es noch nicht gut genug.

   Dieses Programm wurde am 24. Dezember 1990 begonnen und weitestgehend
bis zum 25. Januar 1991 fertiggestellt.


Danksagungen
*************

   Mein Dank gilt Andreas Kirchwitz, Christoph Teuber, Christopher
Wichura, Garry Glendown, Germar Morgenthaler, Henning Hucke, Holger
Lubitz, Jürgen Otte, Marc-Christian Schröer, Marko Küchmann, Markus
Stoll, Martin Berndt, Matthias Zepf, Michael Vaeth, Michael Wolfgang
Hohmann, Oliver Wagner, Peter Fischer, Ralf Thanner, Ralph Schmidt,
Roby Leemann und AUGS, Stefan Becker, Thorsten Seidel, Till
`Dill-Prince' Prinzler, Udo Wolt, Ueli Kaufmann, Veith Schörgenhummer,
Volker Ulle und dem Aquila Sysop Team und all denen, die mir Libraries
und Steuercodetabellen zugeschickt haben.

   Besonderer Dank gilt John Burton aus Papua Neuguinea, der Teile der
Programmes, insbesondere die Terminalemulation, überarbeitete, Leo
Schwab, der tatsächlich eine Methode fand, wie man `verzahnte'
Bitplanes betriebssystemintegriert nutzen kann und Nicola Salmoria, der
ein unglaubliches Maß an Arbeit in die Suche nach Fehlern in `term'
steckte.

   Die xpr-Libraries stammen von Terence Finney (`bplus'), Kenneth
Osterberg und Markus Pietz (`jmodem'), Marco Papa & Stephen Walton
(`kermit'), Jack Rouse (`quickb'), Marc Boucher (`xmodem'), Ueli
Kaufmann (`ascii', `ymodem' und `vms') und Rick Huebner und William M.
Perkins (`zmodem').

   Der xpr-Standard wurde von Willy Langeveld entwickelt, von David
Jones stammt die verbesserte QuickSort-Routine (`QuickSort.asm').

   Die jetzige Implementierung der externen Terminalemulationen wurde
von Ueli Kaufmann entwickelt, von ihm stammen auch die externen
Terminalemulationslibraries, die `term' beiliegen. Mit der Hilfe von
Martin Berndt gelang es dann schließlich auch, sie korrekt mit `term'
zum Laufen zu bringen.


Quelltext
**********

   Ich habe mich dazu entschlossen, das Programm mitsamt vollständigem
Quellcode öffentlich zugänglich zu machen. Man möge mir die
englischsprachige Kommentierung verzeihen, aber ich bin nicht umsonst
für meine Faulheit bekannt, wenn es an das Übertragen von
Dokumentationen und Kommentaren geht.

   Eine kommerzielle Nutzung des Quellcodes ist nicht geplant und bedarf
eine schriftlichen Genehmigung durch den Autor. Dennoch ist die
Verwendung einzelner Routinen und Verfahren in nicht-kommerziellen
Public-Domain Programmen gestattet. Der Name des Originalautors muß
nicht notwendigerweise erwähnt werden.

   Ich hoffe, daß durch die Veröffentlichung des Quellcodes die
Erstellung von Programmen unter dem neuen Betriebssystem schneller in
Gang kommen (ich habe viele Probleme überwunden und hoffe so einiges
an `Eis' gebrochen zu haben) und leistungsfähigere
Telekommunikationssoftware für den Amiga entstehen wird.


Neue Programmversionen
***********************

   Nachdem sich `term' bereits weit verbreitet und auch etabliert hat,
sind mehrere Personen mit der Frage nach Updates an mich herangetreten.

   Es ist mir mittlerweile zu mühsam geworden, `Konten' zu verwalten,
von denen die Kosten eines Updates abgebucht werden. Wer eine neue
Programmversion von mir haben möchte, der schicke mir deshalb *nur*
einen oder mehrere frankierte Rückumschläge mit entweder je zwei
single-density 3.5" Disketten oder einer 3.5" high-density Diskette. Im
Bereich der Deutschen Bundespost ist zu befürchten, daß ein jeder
solcher Brief als sogenannter `Großbrief' mit DM 3,- frankiert werden
muß. Wer geschickt ist, der kauft kleine Briefumschläge und legt eine
high-density Diskette hinein. Dies reduziert Kosten und Format; aus dem
Brief wird damit ein sogenannter `Kompaktbrief', der mit DM 2,- zu
frankieren ist. Wer hat da gesagt, daß die neue Gebührenordnung vom
1. April 1993 ein Aprilscherz sei? Notfalls kann auch Geld für das
Rückporto beigelegt werden. Ich verschicke das Programm *nicht* per
Nachnahme! Es gibt auch keine Möglichkeit, sich bei mir `registrieren'
zu lassen, um jeweils die neueste Version des Programmes zu bekomen.
*Wer mir in Zukunft nur Geld (keine Disketten, kein frankierter
Rückumschlag) für eines oder mehrere Updates zuschickt, dem werde ich
es zurückschicken!*

   Sobald eine neue Programmversion verfügbar ist, werde ich es im
Z-Netz (Brett `RECHNER/AMIGA/ALLGEMEIN') und im Internet bekannt machen
(Gruppen `de.comp.sys.amiga.misc' und `comp.sys.amiga.datacomm').

   Üblicherweise tauchen neue Versionen dieses Programmes in
regelmäßigen Abständen im FRAS-Netz (einem Verteilungsnetz für
Public-Domain-Software, das im Z-Netz integriert ist) auf.

   Wer FTP-Zugang hat, der sollte die jeweils aktuellste Version von der
Uni Oldenburg unter folgender Adresse beziehen können:
`ftp.informatik.uni-oldenburg.de' (`134.106.1.9') (Verzeichnis
`/pub/amiga/term'). Eine gute Idee ist auch, auf einem der vielen
AmiNet-Systeme nachzuschauen (Schublade `comm/term'), wie z.B.
`amiga.physik.unizh.ch', `ftp.cs.tu-berlin.de', `wuarchive.wustl.edu',
etc.


Dokumentation und Online-Hilfe
*******************************

   `term' wird mit einer Reihe von Dokumentationsdateien ausgeliefert,
dies sind:

`term.dok'
     Normallesbare deutschsprachige Programmdokumentation im
     ASCII-Format.

`term.dvi'
     Deutschsprachige Programmdokumentation in einem Format, das es
     erlaubt, sie von einem Programm, das TeX-DVI-Dateien
     interpretieren kann, auszudrucken, wie z.B. AmigaTeX(tm) oder
     PasTeX.

`term.guide'
     Deutschsprachige Programmdokumentation im AmigaGuide(tm)-Format,
     die mit Programmen wie `MultiView' oder `AmigaGuide' angezeigt
     werden kann.

`termRexx.dok'
     Normallesbare deutschsprachige Dokumentation zum ARexx-Interface.
     Diese Datei beschreibt alle unterstützten Befehle und zeigt auch
     kurz, wie man sie verwendet.

`termRexx.dvi'
     Deutschsprachige Dokumentation zum ARexx-Interface in einem
     Format, das es erlaubt, sie von einem Programm, das
     TeX-DVI-Dateien interpretieren kann, auszudrucken, wie z.B.
     AmigaTeX(tm) oder PasTeX. *Wichtig: Zum Ausdrucken wird der
     LaTeX-Font `circle10' unbedingt benötigt!*

`termRexx.guide'
     Deutschsprachige Dokumentation zum ARexx-Interface im
     AmigaGuide(tm)-Format, die mit Programmen wie `MultiView' oder
     `AmigaGuide' angezeigt werden kann.

`xprascii.doc ... xprzmodem.doc'
     Normallesbare Dokumentationen zu den XPR-Transfer-Bibliotheken.

   Um die Online-Hilfsfunktion nutzen zu können, werden Kickstart und
Workbench 3.0 und die Datei `term.guide' benötigt. Die Datei ist in
die Schublade zu kopieren, in der sich auch das Hauptprogramm `term'
befindet und unter ``term' help text file' (siehe Pfadfenster)
`PROGDIR:term.guide' einzugeben. Sobald dies getan ist, läßt sich aus
jedem Fenster, das diese Funktion unterstützt, durch Drücken der
`Help'-Taste die Online-Hilfsfunktion aktivieren.


Bedienungshinweise
*******************

   Das gesamte Bedienungkonzept beruht auf Maussteuerung -- die Tastatur
wird nur zum Eingeben von Nummern und Namen benötigt. Dennoch lassen
sich mit wenigen Ausnahmen alle Funktionen des Programmes auch über
Tastatur steuern.

   Das Programm läßt sich sowohl von der Shell, als auch von der
Workbench starten. Kickstart 2.04 (Version 37.175) und Workbench 2.04
(Version 37.67) oder höher sind unverzichtbar -- das Programm wird
sich weigern, unter Vorgängerversionen zu funktionieren.


Workbench und Shell
********************

   Das Verhalten von `term' kann durch Angabe von Befehlsoptionen oder
Verändern der Workbench-Merkmale (`Tool types') verändert werden. Die
folgenden Schlüsselwörter werden unterstützt:

`WINDOW'
     Der Name des zu verwendenden Ausgabefensters (ersetzt die globalen
     Fenster-Einstellungen). Standardmäßig wird hier
     `CON:0/11//100/term Output Window/CLOSE/SCREEN TERM' verwendet.

`PUBSCREEN'
     Der Name des öffentlichen Bildschirms, auf dem `term' Fenster
     öffnen soll. Sollte der angegebene Bildschirm nicht verfügbar
     sein, so wird der Workbench-Bildschirm verwendet. Wird dieses
     Schlüsselwort angegeben, so geht `term' davon aus, daß kein
     eigener Bildschirm geöffnet werden soll, egal wie die
     Programmeinstellungen aussehen.

`STARTUP'
     Der Name eines ARexx-Programms, das beim Programmstart ausgeführt
     werden soll.

`PORTNAME'
     Der ARexx-Host-Name, den `term' statt des `eingebauten' Namens
     verwendet werden soll. Der Name wird komplett in Großbuchstaben
     verwandelt, so wie es die Host-Namen-Konventionen verlangen.
     Sollte der Name schon belegt sein, so wird der `eingebaute' Name
     verwendet.

`SETTINGS'
     Dieses Schlüsselwort bestimmt, in welcher Schublade `term' die
     Standardkonfigurationsdatei sucht. Um sie z.B. in der Schublade
     `Work:term/config' suchen zu lassen, würde man `term Settings
     Work:term/config' für den Start von der Shell verwenden und für
     den Start von der Workbench `SETTINGS=Work:term/config' eintragen.
     Optional kann statt eines Schubladen-Namens auch der komplette Name
     einer Konfigurationsdatei angegeben werden.

`UNIT'
     Wie auch das `DEVICE' Schlüsselwort beeinflußt das `UNIT'
     Schlüsselwort die zu verwendenden
     Schnittstellentreibereinstellungen. Es bestimmt, welche
     Treibernummer verwendet werden soll. Um z.B. Nummer 4 zu benutzen
     würde man in der Shell `term Unit 4' eingeben und für die
     Workbench `UNIT=4' eintragen.

`DEVICE'
     Um einen anderen als in der Standardkonfigurationsdatei
     eingetragenen Schnittstellentreiber zu verwenden, kann dieses
     dieses Schlüsselwort verwendet werden. Um z.B. `duart.device' zu
     verwenden, ist für den Start von der Shell `term Device
     duart.device' zu verwenden, für den Start von der Workbench
     `DEVICE=duart.device' einzutragen.

`QUIET'
     Ist dieser Parameter vorhanden, so öffnet das Programm kein
     Ausgabefenster, sondern erscheint nur als Bildsymbol im dem
     Workbench-Fenster. Doppelklicken startet das Programm. Dieser
     Parameter wird ignoriert, falls der `STARTUP'-Parameter verwendet
     wird.

`SYNC (nur von der Shell aus)'
     Wird das Programm von der Shell gestartet, so koppelt es sich
     sofort von dieser ab, sodaß das Shell-Fenster nach dem
     Programmstart geschlossen werden kann. Dieser Effekt kann
     verhindert werden, indem das Programm mit dem Parameter `SYNC'
     aufgerufen wird (z.B. `term SYNC'). Das Shell-Fenster kann
     nachfolgend erst nach Programmende geschlossen werden.

`NEW (nur von der Shell aus)'
     Üblicherweise laufen keine zwei `term'-Programme gleichzeitig,
     beim Starten des zweiten Programmes wird automatisch der
     Bildschirm des zuerst gestarteten Programmes nach vorne gebracht.
     Gibt man den Aufrufparameter `NEW' in der Shell ein (z.B. `term
     NEW'), so wird der oben geschilderte Effekt vermieden und ein
     zweites `term' gestartet.


Tastatursteuerung
******************

   Ab Version 2.2 lassen sich (fast) alle Funktionen des Programmes
allein per Tastatur steuern. Jedes Element der Benutzeroberfläche,
dessen Titel einen unterstrichenen Buchstaben enthält, läßt sich
durch Drücken der zum Buchstaben gehörenden Taste steuern oder
aktivieren. Handelt es sich um Listen oder Rollbalken, so läßt sich
die Liste oder der Rollbalken durch Drücken einer der Umschalttasten
für Groß-/Kleinschreibung und der Buchstabentaste vor- und
zurückbewegen. Wird die `Tab'-Taste gedrückt, so wird das erste
Zeicheneingabefeld auf dem Bildschirm aktiviert.


Bildschirm
***********

   Sofern nicht anders gewählt, öffnet sich der `term'-Bildschirm
immer zur vollen Text-Overscan-Größe, die mit dem Preferences-Programm
`Overscan' eingestellt werden kann. So werden zusätzliche Textzeilen
in der Vertikalen zugänglich, mit denen das Programm arbeiten kann.

   Am unteren Rand des Bildschirms befindet sich eine Anzeige der
wichtigsten Programmparameter. Dies sind:

`Status'
     Der Arbeitsmodus, in dem sich `term' derzeit befindet. Dies sind
     `Ready' (das Programm ist arbeitsbereit), `Holding' (die Taste
     `Control + S' wurde gedrückt, um die Anzeige des Textes auf dem
     Bildschirm anzuhalten), `Dialing' (es werden gerade Telefonnummern
     gewählt), `Upload' (Daten werden gerade verschickt), `Download'
     (Daten werden gerade empfangen), `Breaking' (es wird ein
     Unterbrechungssignal verschickt) und `Hanging Up' (die Verbindung
     wird abgebrochen).

`Font'
     Der aktuell eingestellte Zeichensatz zur Darstellung des Textes am
     Bildschirm.

`Protocol'
     Das aktuell eingestellte Datenübertragungsprotokoll (dazu später
     mehr).

`Emulation'
     Die zur Darstellung der empfangenen Zeichen eingestellte
     Steuersequenzanalyse.

`Baud Rate'
     Die aktuell eingestellte Datenübertragungsgeschwindigkeit in
     Bits/Sekunde.

`Parameters'
     Die Parameter der Datenübertragung (Anzahl der übertragenen
     Datenbits, Parität und Anzahl der Stopbits).

`Time'
     Die aktuelle Tageszeit.

`Online'
     Die seit dem Aufbau einer Telefonverbindung verstrichene Zeit.
     Dieser Zähler wird bei Unterbrechung der Verbindung angehalten
     (z.B. durch Auflegen) und beim Aufbau einer neuen Verbindung auf
     00:00:00 zurückgesetzt.

     In regelmäßigen Abständen (jeweils fünf Sekunden) wechselt
     diese Zeitanzeige mit einer Anzeige der für den Anruf bisher
     fälligen Gebühren.

   Der Bildschirm selbst wird als öffentlich zugänglicher Bereich
(Public Screen) unter dem Namen `TERM' eingebunden und kann von
Programmen, die dazu in der Lage sind, für ihre Zwecke benutzt werden.
Startet man mehrere `term'-Programme, so wird der Name des Bildschirms
der Nummer des Programmes angepaßt (das erste gestartete Programm
meldet den Bildschirm unter dem Namen `TERM' an, das zweite bedient sich
`TERM.1', das dritte nimmt `TERM.2', etc.). Der Name des Bildschirms
wird auch im Bildschirmtitel angezeigt.


Menüs
******

   Hier sollen kurz alle Pull-Down-Menüs und damit verbundene
Funktionen des Programmes vorgestellt werden.


Project
========

   Dieses Menü enthält Funktionen, die sich mit Dateioperationen, dem
Ausdrucken von Texten und dem Verlassen des Programmes befassen.

`Save screen as Picture/Text'
     Hiermit läßt sich der aktuelle Bildschirminhalt in einer Datei
     speichern. Er kann sowohl in Textform als auch als Bilddatei
     abgespeichert werden.

`Print Screen/Clipboard'
     Mit diesem Menüpunkt kann Text auf dem Drucker ausgegeben werden.
     Entweder kann man so den aktuellen Bildschirminhalt oder den
     Inhalt des `Klemmbretts' ausdrucken.

`Capture to File/Printer'
     Die Ausgaben auf dem Bildschirm können mitgeschnitten werden. Dies
     geschieht entweder, indem sie in einer Datei gespeichert werden,
     oder indem sie auf dem Drucker ausgegeben werden.

`Iconify'
     Schließt alle vom Programm geöffneten Fenster und Bildschirme,
     setzt den seriellen Treiber zurück und gibt ihn frei und legt ein
     Symbol (`Icon') auf das Fenster der Workbench. Wird dieses Symbol
     angeklickt, so öffnet `term' wieder alle Fenster und den
     seriellen Treiber.

     *Wird `term' auf diese Weise `in Schlaf versetzt', so nimmt auch
     das zum Programm gehörende ARexx-Interface keine Befehle mehr an,
     bis es manuell oder über das ARexx-Interface (durch den Befehl
     `ACTIVATE') wieder aktiviert wird.*

`About'
     Gibt eine kurze Information über das Programm aus.

`Quit'
     Beendet das Programm, wird eine der Umschalttasten (`Shift')
     gedrückt gehalten, wenn dieser Menüpunkt angewählt wird, wird das
     Programm sofort verlassen, ansonsten erfolgt zuerst eine
     Sicherheitsabfrage.

   Nachdem der Menüpunkt zum Beenden des Programmes angewählt wurde,
kann es einen Augenblick dauern, bis `term' wirklich verlassen wird.
Dies hat seinen Grund darin, daß vor Programmende alle angeforderten
Puffer freigegeben werden müssen, somit auch der Textpuffer. Da
zeilenweise abgespeichert, kann das Freigeben des Textpufferinhaltes
entsprechend lange dauern.


Edit
=====

`Copy'
     Anwahl dieses Menüpunkts kopiert den am Bildschirm markierten
     Text in das `Klemmbrett'. Text kann durch Überstreichen oder
     Doppelklicken markiert werden.

`Paste'
     Fügt den Inhalt des `Klemmbrettes' in den Eingabestrom ein. Dies
     geschieht allerdings nur, wenn sich Textdaten im `Klemmbrett'
     befinden. Wird zusätzlich eine der Umschalttasten für Groß- und
     Kleinschreibung gedrückt gehalten, so wird der Klemmbrettinhalt
     zwischen `Paste prefix' und `Paste suffix' ausgegeben (siehe
     Klemmbrettfenster).

`Clear'
     Gibt den am Bildschirm markierten Text wieder frei.


Commands
=========

   Dieses Menü stellt Funktionen zur Verfügung, mit denen sich ARexx-
oder AmigaDOS-Befehle ausführen lassen.

`Execute AmigaDOS command'
     Hier läßt sich ein AmigaDOS-Befehl (z.B. Shell-Befehl) aufrufen.
     Befehlsname und Aufrufargumente müssen hier eingetippt werden.

`Execute ARexx command'
     Dieser Menüpunkt dient dem Aufruf von ARexx Befehlsdateien. Name
     und Aufrufargumente müssen hier eingegeben werden. Wird die
     Eingabe in Anführungszeichen (" oder ') eingeschlossen, so wird
     sie als Mini-Programm in einer Zeile interpretiert und ausgeführt.

     Die von `term' unterstützten ARexx-Befehle werden in der
     Dokumentation zum ARexx-Interface beschrieben.

   Bei den Funktionen dieses Menüs, die zum Aufrufen eines Programmes
dienen, wird ein Fenster geöffnet, in dem der Name des jeweiligen
Programmes eingegeben werden kann. Zusätzlich befindet sich am unteren
Rand dieses Fensters ein weiterer Knopf (`Load file'), der es erlaubt,
das jeweilige Programm mit Hilfe eines Datei-Requesters auszuwählen.


Phone
======

`Phonebook'
     Dieser Menüpunkt birgt eine der komplexesten Funktionen des
     gesamten Programmes und wird getrennt beschrieben (siehe
     Telefonbuch).

`Redial'
     Alle Telefonbucheinträge, deren Nummern in der Wählliste
     vermerkt sind und zu denen beim letzten Wählvorgang keine
     Verbindung hergestellt werden konnte, werden an die Wählfunktion
     übergeben.

`Dial'
     Zum Wählen einer einzelnen Telefonnummer ist dieser Menüpunkt
     anzuwählen. Die jeweilige Nummer wird angefordert und
     anschließend an die Wählfunktion weitergeleitet.

`Send break'
     Schickt ein Unterbrechungssignal über die serielle Leitung, was
     üblicherweise zu einer Resynchronisierung mit dem Empfänger oder
     zum Abbruch einer Funktion des Empfängers führt.

`Hang up'
     Schickt dem Modem den Befehl zum Auflegen, d.h. zum Abbruch der
     Verbindung zu.

`Wait...'
     Schickt dem Modem jede Sekunde die Zeichen
     `<Leerzeichen><Rückschritt>' zu und spielt der Gegenseite vor, daß
     aktiv mit dem Terminal gearbeitet wird.

`Flush receive buffer'
     Löscht den Inhalt des Empfangs- und Sendepuffers, möglicherweise
     nützlich, um Terminalemulation und Modem wieder zur Raison zu
     bringen.

`Release serial device'
     Gibt den derzeit eingestellten seriellen Treiber kurzfristig frei,
     sodaß andere Anwendungsprogramme ihn für ihre Zwecke nutzen
     können.

     Wieder in `term' kehrt man zurück, indem man das Feld `Continue'
     anklickt. Zum Verlassen des Programmes ist `Quit' anzuklicken.

   Wurde über das ARexx-Interface der serielle Treiber freigegeben,
aber nicht wieder eingebunden, oder ließ sich der Treiber nicht korrekt
initialisieren (man hat sich bei der Eingabe des Namens vertippt) so
läßt sich dies über den Menüpunkt `Release serial device' nachholen.


Transfer
=========

   Da Datenaustausch nicht allein über Tastatur und Konsole abgewickelt
werden kann, unterstützt `term' externe Datentransferprotokolle über
XPR-Bibliotheken. Dem Hauptprogramm beigefügt sind `xprascii.library',
`xprbplus.library', `xprjmodem.library', `xprkermit.library',
`xprquickb.library', `xprvms.library', `xprxmodem.library',
`xprymodem.library' und `xprzmodem.library'.

`Upload ASCII file(s)'
     Ruft die `xprascii.library' auf, um eine/mehrere ASCII-Datei(en) zu
     versenden. Diese Funktion wurde implementiert, um `term' das
     Zusammenleben mit Paragon BBS-Systemen zu erleichtern.

`Download ASCII file(s)'
     Ruft die `xprascii.library' auf, um eine ASCII-Datei zu empfangen.

`Upload text file(s)'
     Schickt Textdateien mit Hilfe des derzeit eingestellten
     Transferprotokolles zum Empfänger. *Es wird nicht selbständig
     erkannt, ob es sich bei den zu übertragenden Dateien um reinen
     ASCII-Text handelt.* Dem Transferprotokoll wird bei Aufruf dieses
     Menüpunktes `empfohlen', die zu übertragenden Dateien im
     `Textmodus' zu verschicken. Ob ein solcher Modus implementiert
     ist, hängt vom Protokoll ab, näheres ist in dessen Dokumentation
     nachzulesen. Im `schlechtesten' Falle ist diese Funktion mit der
     Standard-Upload-Funktion identisch.

`Download text file(s)'
     Fordert Textdateien mit Hilfe des derzeit eingestellten
     Transferprotokolles an. *Es wird nicht selbständig erkannt, ob es
     sich bei den zu empfangenden Dateien um reinen ASCII-Text
     handelt.* Dem Transferprotokoll wird bei Aufruf dieses
     Menüpunktes `empfohlen', die zu übertragenden Dateien im
     `Textmodus' zu empfangen. Ob ein solcher Modus implementiert ist,
     hängt vom Protokoll ab, näheres ist in dessen Dokumentation
     nachzulesen. Im `schlechtesten' Falle ist diese Funktion mit der
     Standard-Download-Funktion identisch.

`Edit & upload text file'
     Ruft den voreinstellten Text-Editor auf, um eine Datei zu
     bearbeiten. Wurde bisher kein Text-Editor ausgewählt, so wird
     automatisch ein Fenster geöffnet, in dem der Name des Editors
     eingegeben werden kann.

     Es muß darauf hingewiesen werden, daß `term' solange wartet, bis
     der aufgerufene Editor seine Arbeit beendet hat.

     Nachdem die Arbeit abgeschlossen ist, erhält der Anwender die
     Möglichkeit, die bearbeitete Datei per ASCII-Transfer oder
     Text-Upload zu verschicken.

`Upload binary file(s)'
     Schickt Dateien mit Hilfe des derzeit eingestellten
     Transferprotokolles an den Empfänger. Hier können auch mehrere
     Dateien ausgewählt werden (ein `Wildcardmuster' statt eines
     vollständigen Dateinamens eingeben wie z.B. `#?.txt', womit alle
     Dateien, deren Namen mit dem Kürzel `.txt' enden, übertragen
     werden). Ob das jeweilige Transferprotokoll die Übertragung von
     mehreren Dateien unterstützt, ist in dessen Dokumentation
     nachzulesen. Wurden mehrere Dateien ausgewählt und das jeweilige
     Transferprotokolle unterstützt nur einen einzelnen Dateinamen, so
     wird jeweils die zuerst ausgewählte Datei übertragen.

`Download binary file(s)'
     Fordert mit Hilfe des derzeit eingestellten Transferprotokolles
     Dateien an. Wenn überhaupt, so kann hier nur der Name einer
     einzigen Datei angegeben werden, die zu empfangen ist. Dateien,
     die nach dem Transfervorgang leer bleiben, werden automatisch
     gelöscht.

   Von den Transferfunktionen wird ein Fenster geöffnet, in dem
verschiedene Transferparameter angezeigt werden (siehe Transferfenster).


Buffer
=======

   Die in diesem Menü zusammengefaßten Funktionen haben die Aufgabe,
auf dem Bildschirm bereits gezeigte Daten zwischenzuspeichern, bzw. auf
Diskette abzulegen.

`Clear buffer'
     Dieser Menüpunkt führt dazu, daß der aktuelle Inhalt des
     Textpuffers gelöscht wird. Sämtlicher angeforderter Speicher
     wird freigegeben.

`Display buffer'
     Der Textpuffer wird mit diesem Befehl geöffnet und angezeigt.

`Close buffer'
     Schließt den Bildschirm des Textpuffers, läßt dessen Inhalt aber
     unverändert (den Inhalt des Textpuffers, nicht des Bildschirmes -
     für die Spitzfindigen unter uns).

`Freeze buffer'
     Ist dieser Menüpunkt tatsächlich aktiv, wird der Inhalt des
     Textpuffers allen Ernstes auf dem aktuellen Stand belassen und
     kein weiterer Text hinzugefügt.

`Open buffer'
     Lädt den Inhalt des Textpuffers aus einer anzugebenden Datei.
     Falls der Textpuffer noch Textzeilen enthält, so lassen sich die
     zu ladenden Zeilen auf Wunsch an den bestehenden Inhalt anhängen.

`Save buffer as'
     Sofern der Textpuffer nicht bereits geleert wurde, läßt sich
     unter diesem Menüpunkt der komplette Inhalt auf Diskette ablegen.

   Zur Funktion des Textpuffers und dessen Bedienung werden später noch
detailiertere Informationen gegeben.


Terminal
=========

   Die Unterpunkte dieses Menüs befassen sich mit der Handhabung des
Bildschirmes und der Terminalemulation.

`Clear screen'
     Hiermit wird der Bildschirm gelöscht und die Schreibmarke
     (Cursor) in die linke obere Ecke des Bildschirmes gesetzt.

`Reset font'
     Analog zur Funktion `Reset styles' wird mit Hilfe dieses
     Menüpunktes der aktuell verwendete Zeichensatz zurückgesetzt.

`Reset styles'
     Sollte es einmal vorkommen, daß die Schrift auf dem Bildschirm
     unleserlich wird, weil Textattribute wie Blinken, Fettdruck,
     Invers oder Unterstreichen eingeschaltet, aber nicht wieder
     entfernt wurden, kann hiermit der Urzustand der Anzeige
     wiederhergestellt werden.

`Reset terminal'
     Bewegt die gerade aktive Terminalemulation dazu, zu ihrem
     Ursprungszustand zurückzukehren (d.h. Farben, Zeichenmodus und
     Zeichensatz werden auf die Standardeinstellungen zurückgebracht
     und der Bildschirm wird gelöscht).


Settings
=========

   Sämtliche Voreinstellungen des Programmes werden in diesem Menüs
getroffen. Es existiert eine Trennung zwischen lokalen und globalen
Einstellungen. Lokale Einstellungen können z.B. durch Anwählen einer
Mailbox gesetzt werden, globale Einstellungen bleiben auch noch nach der
Anwahl eine Mailbox erhalten und müssen explizit geändert werden.

`Serial...'
     Siehe Schnittstellenfenster.

`Modem...'
     Siehe Modemfenster.

`Screen...'
     Siehe Bildschirmfenster.

`Terminal...'
     Siehe Terminalfenster.

`Emulation...'
     Siehe Emulationsfenster.

`Clipboard...'
     Siehe Klemmbrettfenster.

`Capture...'
     Siehe Mitschnittsfenster.

`Commands...'
     Siehe Befehlsfenster.

`Miscellaneous...'
     Siehe Verschiedenes.

`Paths...'
     Siehe Pfadfenster.

`Transfer protocol...'
     Hier kann das für Up-/Downloads zu verwendende Transferprotokoll
     ausgewählt werden. Diese Protokolle sind als Systembibliotheken
     (`xpr.library') implementiert, als Konsequenz wird nur der Inhalt
     der `Libs:' Schublade angezeigt. Das hier verwendete Auswahlfeld
     wird von allen Funktionen dieses Menüs aufgerufen, wenn noch kein
     Transferprotokoll ausgewählt wurde, um die mit dem jeweiligen
     Menüpunkt verknüpfte Funktion auszuführen.

`Transfer...'
     Hier lassen sich alle Parameter des Transferprotokolle einstellen,
     oder auch Unterfunktionen aufrufen. Die Bedeutung der jeweiligen
     Parameter ist der Dokumentation des jeweiligen Protokolles zu
     entnehmen. Alle eingestellten Optionen werden auf Diskette
     gespeichert und können mit den Befehlen GetEnv & SetEnv
     ausgelesen, bzw. verändert werden.

`Function keys...'
     Siehe Funktionstastenfenster.

`Cursor keys...'
     Siehe Steuertastenfenster.

`Fast! macros...'
     Siehe Fast-Makro-Fenster.

`Hotkeys...'
     Siehe Hotkey-Fenster.

`Speech...'
     Siehe Sprachfenster.

`Sound...'
     Siehe Tonfenster.

`Console window...'
     Werden AmigaDOS/ARexx Befehle ausgeführt, so wird ein
     Ausgabefenster geöffnet, in das das betreffende Programm seine
     Informationen ausgibt. Position und Größe des Fensters lassen
     sich hier einstellen. Das Format der Fensterdeklaration entspricht
     der des NewShell-Befehles. Sollen während der Abarbeitung von
     AmigaDOS/ARexx Befehlen keine Ausgaben erfolgen, so sollte man
     hier `NIL:' eingeben.


Windows
========

   Dieses Menü befaßt sich mit der Verwaltung verschiedener Fenster
auf dem Hauptbildschirm. Durch Anwählen der Menüpunkte werden die
jeweiligen Fenster geöffnet und geschlossen.

`Status'
     Hiermit wird ein Fenster aktiviert, das verschiedene
     Statusinformationen anzeigt. Durch Anklicken des Fensters werden
     die einzelnen Informationen aktualisiert:

    `Session start'
          Wann wurde das Programm gestartet?

    `Bytes received'
          Die Anzahl der empfangenen Zeichen.

    `Bytes sent'
          Die Anzahl der verschickten Zeichen.

    `Connection message'
          Der vom Modem beim Aufbau der Verbindung ausgegebene Text.

    `BBS name'
          Sofern verfügbar, der Name der Mailbox, bei der man gerade
          online ist.

    `BBS phone number'
          Sofern verfügbar, die Telefonnummer der Mailbox, bei der man
          gerade online ist.

    `BBS comment'
          Sofern verfügbar, der Telefonbuchkommentar, der zur Mailbox
          gehört, bei der man gerade online ist.

    `BBS user name'
          Sofern verfügbar, der Benutzername mit dem man gerade in der
          Mailbox eingeloggt ist.

    `Screen size'
          Die Größe des Terminalfensters in Zeichen.

    `ARexx port name'
          Sofern verfügbar, der Name des ARexx-Hosts, unter dem das
          `term'-Programm angesprochen werden kann.

    `Buffer size (bytes)'
          Der Umfang des Textpuffers.

    `Free memory (bytes)'
          Der Umfang des noch freien Systemspeichers.

`Review'
     Mit diesem Menüpunkt wird ein Fenster auf dem Hauptbildschirm
     geöffnet, das dieselben Funktionen wie der Textpuffer erfüllt.
     Text läßt sich mit Hilfe der Maus ausschneiden und in den
     Eingabestrom einspielen. Mit Hilfe der Cursortasten und der
     Umschalttaste für Groß-/Kleinschreibung läßt sich der
     angezeigte Text bewegen.

`Packet'
     Hier wird im unteren Bereich des Bildschirmes ein kleines Fenster
     geöffnet, in dem eine zu übertragene Zeile eingegeben, editiert
     und abgeschickt werden kann. Der Inhalt der Eingabezeile ist
     unabhängig davon, ob die am anderen Ende der Leitung aktive
     Mailbox sich um das Bearbeiten der eingetippten Zeichen kümmert.
     Eine genauere Beschreibung der Funktionen dieses Fensters wird
     später gegeben (siehe Packet window).

`Fast! macros'
     Schaltet das Auswahlfenster für Fast! Makros an, bzw. aus. Auf die
     Funktion der Fast! Makros wird später noch eingegangen (siehe
     Fast! Macros).


Kontrollfelder
***************

   Hier werden alle von `term' verwendeten Kontrollfelder beschrieben:


Schnittstellenfenster
======================

   Hier sind alle Parameter der seriellen Datenübertragung
einzustellen.

`Baud rate'
     Übertragungsgeschwindigkeit in Bits pro Sekunde.

`Bits/Char'
     Anzahl der Bits pro übertragenem Zeichen (7 oder 8).

`Parity'
     Übertragungsparität (keine, gerade, ungerade, Mark =
     Paritätsbit ist immer 1, Space = Paritätsbit ist immer 0).

`Stop bits'
     Zur Übertragung verwendete Stop-Bits (1 oder 2).

`Handshaking'
     Zur Datenübermittlung verwendete Start/Stop-Kennung (RTS/CTS,
     RTS/CTS mit Vorheriger Überprüfung des DSR-Signales, keine).

`Duplex'
     Datenübertragungsart (vollständig, halb bzw. Darstellung der
     eingegebenen Zeichen auch auf dem Hauptbildschirm).

`Buffer size'
     Hiermit läßt sich die Größe des Datenpuffers festlegen, den
     der serielle Treiber für die Datenübertragung nutzen soll.
     Dieser Wert muß effektiv mit zwei multipliziert werden, da er
     einerseits vom Treiber selbst und auch von `term' intern benutzt
     wird. Ein Wert von 32.768 Bytes führt also dazu, daß 65.536
     Bytes Speicher für die Puffer angefordert werden.

`Break length'
     Die Dauer des Unterbrechungssignales (über den Menüpunkt `Send
     break' auszulösen) in Mikrosekunden.

`Strip bit 8'
     Für die Leute, die es brauchen:  wird dieser Schalter aktiviert,
     so wird das oberste Bit jedes eingehenden Zeichens gelöscht.

`High-speed mode'
     Aktiviert einen speziellen Modus des seriellen Treibers, der die
     Überprüfung der durchgehenden Daten überspringt und schneller
     arbeitet. Dies ist sinnvoll bei Verwendung des Programmes zur
     Verbindung zweier Rechner über Nullmodem-Kabel, oder falls der
     Schnittstelle bei aktivierten RTS/CTS-Protokoll betrieben wird.
     Wird diese Funktion eingeschaltet, werden als Parameter
     automatisch 8 Bits pro Zeichen, keine Parität und 1 Stop-Bit
     gewählt.

`Check carrier'
     `term' untersucht den eingehenden Zeichenstrom u.A. auf eine
     Zeichensequenz, die angibt daß das Modem das für die
     Datenübertragung notwendige Trägersignal verloren hat. In diesem
     Fall wird die Verbindung üblicherweise als abgebrochen angesehen,
     was unter Umständen ein verhängnisvoller Fehler sein kann.
     Möchte man sichergehen, daß eine solche Zeichensequenz nicht
     zufällig eingegangen ist, kann man mit Aktivierung dieses
     Schalters `term' dazu anweisen noch einmal nachzuprüfen ob das
     Modem selbst davon überzeugt ist, daß das Trägersignal
     verlorengegangen ist.

     Diese Funktion muß nicht notwendigerweise bei allen Modems
     funktionieren, da manche die `Carrier-Detect'-Leitung immer
     aktiviert haben, bzw. diese Leitung nie aktivieren:  in diesem
     Fall sollte der Schalter, ebenso wie bei der Verbindung mit einem
     anderen Rechner über Nullmodem-Kabel, ausgeschaltet werden.

     Ist der Schalter aktiv, wird auch während des Betriebs und der
     Datenübertragung auf das Trägersignal geachtet. Geht das Signal
     während der Datenübertragung verloren, wird die Übertragung
     abgebrochen.

`Shared access'
     Auf Wunsch kann der serielle Treiber in einem Modus betrieben
     werden, der mehr als einem Programm den Zugriff auf die serielle
     Schnittstelle erlaubt. Ist dieser Schalter nicht aktiviert,
     versucht `term' den seriellen Treiber exklusiv für sich zu
     belegen, ist der Schalter aktiviert, wird auch anderen Programmen
     der Zugriff auf den Treiber erlaubt.

`xON/xOFF'
     Dieser Schalter aktiviert eine softwaremäßige Behandlung der
     Start-/Stop-Kennungen xON (= `Control + S') und xOFF (= `Control +
     Q').

`Pass ^S/^Q through'
     Ist dieser Schalter aktiviert, so werden die xON/xOFF Codes
     anstatt vom Terminalprogramm interpretiert und ausgefiltert zu
     werden, zum Modem durchgereicht.

`Serial device'
     Name des seriellen Treibers; üblicherweise ist dies das
     `serial.device', Besitzer des internen Supra-Modems sollten hier
     `modem?.device' (wobei ? für die Nummer der Steckkarte steht),
     Anwender der ASDG-IO-Karte `sxbios.device' eingeben.

`Device unit number'
     Nummer der seriellen Treibereinheit, üblicherweise sollte dies 0
     sein, zum Ansprechen getrennter serieller Anschlüsse ist hier die
     Nummer des Anschlusses einzusetzen.

`Use'
     Verwende die aktuellen Einstellugen.

`Default (nur vom Telefonbuch aus)'
     Löscht die gerade bearbeiteten Einstellungen aus dem
     Telefonbucheintrag. Wird später einmal die dazugehörige
     Telefonnummer angewählt, so wird die Hauptkonfiguration an dieser
     Stelle nicht verändert werden.

`Cancel'
     Erhalte die ursprünglichen Einstellungen.

   Wird die serielle Übertragungsgeschwindigkeit modifiziert, so muß
dies den meisten Modems ausdrücklich bekanntgemacht werden (z.B. indem
man die Zeichenfolge `AT<RETURN>' eintippt).

   Der Handshaking-Modus `RTS/CTS (DSR)' erfordert es, daß das
angeschlossene Modem die `Data-set-ready'-Leitung aufgeschaltet hat,
ist dies nicht der Fall wird aus Sicherheitsgründen in den `xON/xOFF'
Handshaking-Modus zurückgeschaltet. Der Handshaking-Modus `RTS/CTS'
achtet nicht auf das Vorhandensein eines `DSR' Signales.

   Ist Christopher Wichura's `OwnDevUnit.library' im System
installiert, wird sie zur Absicherung gegenüber Zugriffen von anderen
Programmen verwendet. Wer eine modifizierte Version von Matt Dillon's
uucp/getty Programm verwendet, hat so die Möglichkeit, getty mit `term'
korrekt zusammenarbeiten zu lassen.


Modemfenster
=============

   Hier finden sich verschiedene Einstellungen zur Ansteuerung des
Modems, aber auch für das Anwählen von Telefonbucheinträgen
notwendige Parameter:

`Modem init command'
     Eine Zeichenkette, die dem Modem beim Programmstart zugeschickt
     werden soll. Dieser Befehl dient der Initialisierung und muß nicht
     notwendigerweise vorhanden sein.

     Auch die Wählfunktion nutzt diesen Eintrag:  kurz bevor eine
     Telefonnummer angewählt wird, wird das Modem mit der hier zu
     findenden Zeichenkette initialisiert.

`Modem exit command'
     Eine Zeichenkette, die dem Modem beim Programmende zugeschickt
     werden soll. Dieser Befehl muß nicht notwendigerweise vorhanden
     sein.

     Auch die Wählfunktion nutzt diesen Eintrag:  kurz bevor die zu
     einem Telefonbucheintrag gehörende Nummer gewählt wird, wird das
     Modem mit dem Exit-String der Vorgängernummer bearbeitet.

`Hangup command'
     Eine Zeichenkette, die dem Modem Abbrechen der Verbindung
     zugesandt wird (`Hang up'). Unter Umständen kann auf diesen
     Befehl verzichtet werden, falls der Schalter `Drop DTR on hangup'
     eingeschaltet ist.

`Dial prefix'
     Eine Zeichenkombination, die einer zu wählenden Telefonnummer
     vorangestellt werden soll. Üblicherweise ist dies `ATDP' oder
     `ATX3DP' für automatische Erkennung einer besetzten
     Telefonleitung.

`Dial suffix'
     Eine Zeichenkombination, die einer zu wählenden Telefonnummer
     angehängt werden soll. Üblicherweise ist dies das
     Carriage-Return-Zeichen `\r'.

``No carrier' message'
     Die Zeichenkette, die das Modem beim Verlust des Trägersignales
     an das Terminal sendet. Dies wird benötigt, wenn ermittelt werden
     soll, die lange die letzte Telefonverbindung bestand und berechnet
     wird, wieviel für die Verbindung an Gebühren zu bezahlen ist.

``Connect' message'
     Die Zeichenkette, die das Modem beim erfolgreichen Aufbau einer
     Verbindung an das Terminal zurückschickt. Sie wird benötigt,
     nachdem die Wählfunktion eine Telefonnummer angewählt hat und
     auf eine Antwort des Modems wartet (Connect/No Carrier).

``No dialtone' message'
     Die Zeichenkette, die das Modem zurückliefert, wenn es bei einem
     Anwahlversuch keinen Wählton empfängt, einige Modems liefertn
     diese Zeichenkette auch zurück, wenn die jeweilige Leitung
     besetzt ist.

``Voice' message'
     Die Zeichenkette, die das Modem beim Erkennen eines Anrufes an das
     Terminal zurückliefert, wenn es erkennt, daß sich am anderen
     Ende der Leitung kein anderes Modem meldet.

``Ring' message'
     Die Zeichenkette, die das Modem beim Empfang eines eingehenden
     Anrufes an das Terminal zurückliefert.

``Busy' message'
     Die Zeichenkette, die das Modem zurückliefert, wenn es erkennt,
     daß die angewählte Telefonnummer gegenwärtig besetzt ist.

``Ok' message'
     Die Zeichenkette, die das Modem zurückliefert, wenn es einen
     Befehl korrekt ausgeführt hat.

``Error' message'
     Die Zeichenkette, die das Modem zurückliefert, wenn es einen
     Befehl -- aus welchen Gründen auch immer -- nicht korrekt
     ausführen konnte.

`Redial delay'
     Die zeitliche Verzögerung nach einem fehlgeschlagenen Versuch,
     beim Wählen von Telefonnumern eine Verbindung herzustellen. Die
     Wählfunktion wartet die hier angegebene Zeit in Minuten, bevor
     die Liste der zu wählenden Telefonnummern ein weiteres mal
     durchlaufen wird.

`Number of dial retries'
     Die Anzahl der Versuche, die die Wählfunktion unternimmt, eine
     Verbindung zu den in der Liste der zu wählenden Telefonnummern
     herzustellen, bevor sie abbricht.

`Dial timeout'
     Die Anzahl Sekunden, die die Wählfunktion nach der Anwahl einer
     Telefonnummer wartet, bis sie auflegt und die nächste Nummer
     wählt.

`Redial after hanging up'
     Sofern dieser Schalter aktiv ist, wird nach dem Abbruch einer
     Verbindung die Anwahl der in der Wählliste verbliebenen Einträge
     wiederholt.

`Connect auto-baud'
     Viele Modems geben beim erfolgreichen Aufbau einer Verbindung die
     Übertragungsgeschwindigkeit aus, deren Trägersignal erkannt
     wurde. Ist die hier implementierte Funktion aktiviert, so wird
     diese Zahl ausgewertet und die Übertragungsgeschwindigkeit des
     seriellen Treibers entsprechend angepaßt.

`Drop DTR on hangup'
     Manche Modems brechen eine Verbindung zügiger ab, wenn man die
     `Data-terminal-ready'-Leitung beim Auflegen auf niedriges Potential
     legt. Wird dieser Schalter aktiviert, wird bei jedem Auflegen die
     DTR-Leitung kurzfristig auf niedriges Potential gelegt.

`Use'
     Verwende die aktuellen Einstellungen.

`Default (nur vom Telefonbuch aus)'
     Löscht die gerade bearbeiteten Einstellungen aus dem
     Telefonbucheintrag. Wird später einmal die dazugehörige
     Telefonnummer angewählt, so wird die Hauptkonfiguration an dieser
     Stelle nicht verändert werden.

`Cancel'
     Erhalte die ursprünglichen Einstellungen.


Bildschirmfenster
==================

   Unter diesem Menüpunkt ist ein Einstellfeld zu finden, in dem alle
Parameter des Hauptbildschirmes gesetzt werden können.

`Display modes'
     Hier werden alle verfügbaren Graphikmodi angezeigt, in denen der
     Hauptbildschirm geöffnet werden kann. Zur Verwendung der Modi
     `Productivity' und der A2024-Modi ist anzumerken, daß sie zwei
     Einschränkungen mit sich bringen:  es können nur noch
     Bildschirme der Tiefe zwei (Amiga-Farbenmodus) geöffnet werden
     und in den A2024-Modi können verschiedene Bildschirmauflösungen
     nicht mehr miteinander gemischt werden.

     *Die A2024-Modi sollten wirklich nur dann aufgerufen werden, wenn
     auch tatsächlich ein A2024/Hedley-Monitor angeschlossen ist, da
     sonst u.U. der Bildschirm regelrecht `zusammenbricht' und das
     Arbeiten mit `term' unmöglich gemacht wird.*

`Colour'
     Hier wird der Farbmodus bestimmt, in dem die Terminalemulation
     arbeiten soll. Bisher sind drei Modi implementiert:

    `4 Colours (Amiga)'
          Vier Farben, inklusive Blinkfunktionen.

    `8 Colours (ANSI)'
          Acht Farben, inklusive Blinkfunktionen.

    `16 Colours (EGA)'
          Sechtzehn Farben, entsprechend der EGA Farbpalette.

    `2 Colours (Monochrome)'
          Monochrom, nur zwei Farben.

`Edit screen palette'
     Hier kann eine zu verändernde Farbe der Bildschirmpalette
     angewählt werden.

`Red/Green/Blue'
     Mit diesen Schiebereglern werden die Anteile der zu verändernden
     Bildschirmfarbe modifiziert.

`Use default colours'
     Wird dieser Schalter angewählt, werden die für den jeweiligen
     Terminalmodus vorgegebenen Standardfarben eingestellt.

`Screen font'
     Hier wird der Name des Zeichensatzes angezeigt, der für die
     Benutzeroberfläche verwendet wird.

`Select new screen font'
     Wird diese Schalter angewählt, so kann der für die
     Benutzeroberfläche zu benutzende Zeichensatz eingestellt werden.

`Make screen public'
     Wie schon oben angesprochen, wird der `term' Hauptbildschirm als
     öffentlich zugänglich geöffnet. Da der Bildschirm selbst nicht
     automatisch öffentlich zugänglich geöffnet wird, kann mit
     diesem Punkt bestimmt werden, ob auf dem Bildschirm Fenster
     fremder Programme geöffnet werden sollen können.

     Es ist besonders in Hinsicht auf die von den Befehlen `Execute
     AmigaDOS command' und `Execute ARexx command' geöffneten
     Konsolenfenster sinnvoll, den Bildschirm als öffentlich
     zugänglich öffnen zu lassen. In diesem Fall werden die jeweiligen
     Fenster auf dem `term'-Hauptbildschirm geöffnet.

``Shanghai' windows'
     Eng mit dem vorher genannten Punkt hängt diese Funktion zusammen,
     die nur dann zugänglich wird, wenn `Make Screen Public' aktiviert
     wurde. Ist der Schalter `Shanghai windows' aktiv, so wird
     versucht, das Öffnen aller sonst auf dem Workbench-Bildschirm
     erscheinenden Fenster auf den Hauptbildschirm von `term' zu
     verlegen.

`Blinking'
     Für den Fall, daß eine Mailbox zu großzügig mit blinkenden
     Zeichen umgeht, kann mit dieser Option das Blinken generell
     abgeschaltet werden.

`Faster layout'
     Wird dieser Schalter aktiviert, wird der Graphik- und
     Fensteraufbau von `term' langsamer. Nein, natürlich nicht immer,
     es gibt einige Ausnahmen, bei denen der Bildschirmaufbau schneller
     werden *kann*, z.B. wenn eine externe Emulation verwendet wird,
     oder mit mehr als vier Farben am Bildschirm gearbeitet wird. Diese
     Beschleunigung bezieht sich evtl. nur auf den Fensteraufbau, nicht
     auf die jeweilige Terminalemulation.

     Generell ist zu sagen, daß mit dem Effekt dieses Schalters etwas
     experimentiert werden sollte, bevor man ihn aktiviert läßt.

`Screen title'
     Ist dieser Schalter aktiviert, wird die Bildschirmtitelzeile
     angezeigt, anderenfalls nicht.

`Use public screen'
     `term' öffnet nicht notwendigerweise einen eigenen Bildschirm,
     sondern kann auch einen öffentlichen Bildschirm verwenden. `term'
     wird versuchen, Farben und Zeichenmodi an die neuen Verhältnisse
     anzupassen. Sofern genügend Farben vorhanden sind, wird `term' die
     Bildschirmfarbpalette mit anderen Programmen teilen (benötigt
     Kickstart 3.0) was es möglich macht, mit der eingebauten
     Terminalemulation auch in 8 oder 16 Farben zu arbeiten. `term'
     übernimmt den jeweiligen Bildschirmzeichensatz für die
     Benutzeroberfläche. Sofern das Programm unter Kickstart 2.04
     läuft, ist es nicht möglich, einen Proportional-Zeichensatz für
     die Benutzeroberfläche zu verwenden, in diesem Fall wird das
     Programm wieder einen eigenen Bildschirm öffnen.

     *Hinweis:  bisher ist nur die eingebaute Terminal-Emulation in der
     Lage, die vom Bildschirm angebotenen Farben zu verwenden, externe
     Emulations-Bibliotheken werden in dieser Situation
     höchstwahrscheinlich versagen!*

     Vorsicht beim Ändern der Größe des Hauptfensters, jede
     Größenänderung setzt die Interna der Terminalemulation auf
     Standardwerte zurück.

`Public screen name'
     Der Name des öffentlichen Bildschirms, auf dem `term' Fenster
     öffnen soll. `term' wird den Workbench-Bildschirm verwenden,
     sofern kein Bildschirmname angegeben wurde, bzw. kein passender
     Bildschirm gefunden werden kann.

`Status line'
     Mit diesem Schalter läßt sich die Anzeige der Statuszeile (na
     gut, der Statuszeilen) bestimmen.

    `Disabled'
          Die Statuszeile ist komplett abgeschaltet.

    `Standard'
          Die Statuszeile (na gut, die Statuszeilen) wird in ihrer
          ganzen Pracht auf zwei Zeilen verteilt angezeigt. Mehr geht
          nicht.

    `Compact'
          Nur die grundlegenden Informationen werden angezeigt, ohne
          jegliche Erklärung, worum es sich handelt. Wer lieber raten
          möchte, der sollte die folgenden Zeilen nicht lesen.

            1. Status

            2. Terminaltyp

            3. Übertragungsprotokoll

            4. Übertragungsgeschwindigkeit

            5. Übertragunsparameter

            6. Tageszeit

            7. Online-Zeit

`Use'
     Verwende die aktuellen Einstellungen.

`Default (nur vom Telefonbuch aus)'
     Löscht die gerade bearbeiteten Einstellungen aus dem
     Telefonbucheintrag. Wird später einmal die dazugehörige
     Telefonnummer angewählt, so wird die Hauptkonfiguration an dieser
     Stelle nicht verändert werden.

`Cancel'
     Erhalte die ursprünglichen Einstellungen.

   Es muß darauf hingewiesen werden, daß die `neuen' Display-Modi
(Super-Hires, Productivity, etc.) die Farbenvielfalt eines Bildschirmes
stark einschränken. Statt 16-Bit Farbanteilen für Rot, Grün und Blau
werden nur noch 2 Bit unterstützt, was den Umfang der Palette, aus
denen Farben gewählt werden können, auf 64 Farben begrenzt. Dies ist
kein `Feature' von `term' sondern eine hardwarebedingte Einschränkung.


Terminalfenster
================

   Alle hier versammelten Einstellungen bestimmen das Verhalten des
Terminals selbst, d.h. wie welche Steuerbefehle interpretiert und in
Bildschirminformationen umgesetzt werden.

`Bell'
     Hier ist die Aktion des Programmes einzustellen, die beim Eingehen
     eines `Bell'-Zeichens ausgeführt werden soll:

    `Visual'
          Der Bildschirm blitzt kurz auf.

    `Audible'
          Es wird ein akustisches Signal erzeugt

    `Visual & audible'
          Eine Kombination aus beiden oberen Aktionen.

    `Ignore'
          Es passiert nichts.

    `System default'
          Es werden die Systemroutinen zum Anzeigen von Signalen
          benutzt.

`Alert'
     Hier läßt sich einstellen, was geschehen soll, wenn einen das
     Programm auf besondere Ereignisse hinweisen möchte:

    `Bell'
          Ein unter `Bell' einzustellendes Signal wird gegeben.

    `Screen'
          Der `term'-Bildschirm wird in den Vordergrund gebracht.

    `Bell/Screen'
          Eine Kombination aus beiden oberen Punkten.

    `None'
          Nichts geschieht.

`Emulation'
     Dies ist schließlich und endlich der Punkt, an dem man sich
     entscheiden kann, mit welcher Terminalemulation man arbeiten
     möchte. Einerseits existiert eine solide VT102/VT220/ANSI
     Emulation, die alle bekannten Steuersequenzen unterstützt,
     andererseits gibt es die sogenannte `Atomic'-Emulation, die
     lediglich die unverzichtbaren Steuerfunktionen (in TTY-Manier CR,
     LF, Backspace, etc.) unterstützt, alle VT102- und ANSI-
     Steuersequenzen überspringt, dafür aber sehr schnell arbeitet und
     eine `TTY'-Emulation, die nicht wie `Atomic' alle Steuersequenzen
     unterschlägt, sondern auf dem Bildschirm ausgibt.

     Hinzu kommt noch die Möglichkeit, eine externe Terminalemulation
     auszuwählen. Hierzu ist der Modus `External' zu wählen und eine
     Emulationsdatei auszuwählen (siehe Zeicheneingabefeld oder der
     Knopf `Select New Emulation'). Kann die Emulationsdatei aus
     welchen Gründen auch immer, nicht geladen werden, so schaltet das
     Programm auf die eingebaute Emulation `ANSI/VT' zurück.

`Emulation name'
     Der Name einer Terminalemulationsbibliothek, die von `term' für
     den Bildschirmaufbau verwendet werden soll.

`Font'
     Hier wird der Typ des für das Terminalfenster verwendeten
     Zeichensatzes angezeigt. Hier sind zwei Einstellungen möglich:

    `Standard'
          Der Standard-Text-Zeichensatz wird verwendet.

    `Typ IBM-PC'
          Ein dem IBM-PC ähnlicher Zeichensatz wird verwendet. Egal
          wie die Konvertierungstabellen eingestellt sind, werden
          versandte Amiga-Zeichenwerte in PC-Zeichenwerte verwandelt.

    `Typ IBM-PC (raw)'
          Diese Einstellung ähnelt `Typ IBM-PC', es werden jedoch keine
          Amiga-Zeichen vor dem Verschicken in PC-Zeichen konvertiert.

`Text font'
     Hier wird der Name des für das Terminalfenster zu verwendenden
     Zeichensatzes angezeigt.

`Select new text font'
     Durch Drücken dieses Schalters läßt sich der für das
     Terminalfenster zu verwendende Zeichensatz einstellen.

`Send CR'
     Dieser Schalter bestimmt, als welche Zeichenfolge ein
     Carriage-Return (Zeilenrücklauf) an den Empfänger übertragen
     werden soll. Ein Zeilenrücklauf wird üblicherweise dann
     gesendet, wenn die RETURN-Taste gedrückt wird (As CR = ohne
     Veränderung, As CR+LF = gefolgt von einem Zeilenvorschub, Ignore =
     Unterdrückung).

`Send LF'
     Dieser Schalter bestimmt, als welche Zeichenfolge ein Line-Feed
     (Zeilenvorschub) an den Empfänger übertragen werden soll. Ein
     Zeilenvorschub wird üblicherweise dann gesendet, wenn die
     `Return'-Taste zusammen mit der `Control'-Taste gedrückt wird (As
     LF = ohne Veränderung, As LF+CR = gefolgt von einem
     Zeilenrücklauf, Ignore = Unterdrückung).

`Receive CR'
     Diese Funktion arbeitet analog zu `Send CR', außer daß in diesem
     Fall die von `term' empfangenen Zeichen betroffen sind.

`Receive LF'
     Diese Funktion arbeitet analog zu `Send LF', außer daß in diesem
     Fall die von `term' empfangenen Zeichen betroffen sind.

`Columns'
     Hier läßt sich die Anzahl der Textspalten, die die
     Terminalemulation verwenden soll, einstellen. Dieser Wert wird vom
     Minimalwert 20 nach unten und von der Bildschirmgröße nach oben
     begrenzt.

`Lines'
     Hier läßt sich die Anzahl der Textzeilen, die die
     Terminalemulation verwenden soll, einstellen. Dieser Wert wird vom
     Minimalwert 20 nach unten und von der Bildschirmgröße nach oben
     begrenzt.

`Keymap file'
     Falls die Installation es erfordert, daß eine spezielle
     Tastenbelegung verwendet wird, kann der Name der
     Tastenbelegungsdatei hier angegeben werden.

     Zum gegenwärtigen Zeitpunkt gelten die hier gesetzten
     Einstellungen nicht für das Packet window, da das Betriebssystem
     eine solche Implementierung nicht erlaubt.

`Use'
     Verwende die aktuellen Einstellungen.

`Default (nur vom Telefonbuch aus)'
     Löscht die gerade bearbeiteten Einstellungen aus dem
     Telefonbucheintrag. Wird später einmal die dazugehörige
     Telefonnummer angewählt, so wird die Hauptkonfiguration an dieser
     Stelle nicht verändert werden.

`Cancel'
     Erhalte die ursprünglichen Einstellungen.


Emulationsfenster
==================

   Hier befinden sich Schalter, mit denen sich interne Parameter der
eingestellten Emulation verändern lassen. Da die jeweiligen
Veränderungen quasi `in vivo' gemacht werden, lassen sie sich nicht
abspeichern und beeinflussen lediglich die gerade aktive
Terminal-Emulation.

   Der folgende Text beschreibt nur die Parameter, die sich bei der
internen Terminalemulationen verändern lassen; ist eine externe
Terminalemulation aktiv, so wird die Parameterroutine des
Emulationsmoduls aufgerufen. Für die an dieser Stelle einzustellenden
Parameter sollte man auf die Dokumentation des jeweiligen
Emulationsmoduls zurückgreifen.

`Cursor keys'
`Numeric keypad'
     Die Tasten des Zehnerblockes, als auch die Cursortasten können in
     einen speziellen Modus geschaltet werden, in dem jede Taste statt
     einer Ziffer eine Steuersequenz überträgt. Sollte der Rechner am
     anderen Ende der Leitung dies benötigen, so läßt sich dieser
     Modus, `applications mode' genannt, hier zuschalten.

`Wrap cursor moves'
     Nach der VT-100-Spezifikation haben Cursor-Bewegungen an den
     Bildschirmgrenzen zu stoppen. Dennoch gibt es speziell im Bereich
     der ANSI-Emulationen die Möglichkeit, diese Grenzen quasi zu
     verlassen: verläßt der Cursor die eine Bildschirmhälfte, so
     taucht er auf der anderen Bildschirmseite wieder auf. Dieser
     Schalter aktiviert den etwas `toleranteren' Cursor-Modus.

`Wrap characters'
     Diese Funktion aktiviert den automatischen Zeilenumbruch am rechten
     Bildschirmrand. Um unangenehme Nebeneffekte zu vermeiden (ist der
     Zeilenumbruch deaktiviert, kann es vorkommen, daß Zeichen am
     rechten Rand hängenbleiben), sollte dieser Schalter immer
     aktiviert sein.

`Insert mode'
     Üblicherweise befindet sich `term' im Überschreibe-Modus
     (eingegebene Zeichen überschreiben den bisherigen
     Bildschirminhalt). Ist dieser Schalter aktiviert, so wird für
     Zeichen beim Eintippen in der Zeile Platz gemacht und der
     Zeileninhalt nach rechts aus dem Bildschirm geschoben.

     *Der Einfügemodus arbeitet nur zeilenweise, aus dem Bildschirm
     herausgeschobene Zeichen können nicht wiedergeholt werden!*

`New-line mode'
     Dieser Schalter aktiviert einen speziellen Modus des
     VT-100-Treibers, in dem auf eine Handvoll Steuerzeichen mit einem
     Zeilensprung reagiert wird, anstatt z.B. den Bildschirm zu
     löschen oder andere drastische Veränderungen des
     Bildschirminhaltes vorzunehmen. Ich nehme an, daß dieser Modus
     zur Unterstützung eines angeschlossenen Druckers gedacht war, in
     dieser Implementierung hat er jedoch nur beschränkten Nutzen.

`Font scale'
     VT-100 verfügt über verschiedene Schriftgrößen, von denen hier
     zwei verschiedene Breiten eingeschaltet werden können:

    `Normal'
          Die übliche Schriftbreite.

    `Half width'
          Halbe Schriftbreite.

`Scrolling'
     Text kann am Bildschirm in zwei Modi vertikal verschoben werden: 
     Smooth (= weich) und Jumping (= in Sprüngen).

`Destructive backspace'
     Legt fest, ob das `Backspace'-Zeichen (dient zum Löschen des
     Zeichens links neben der Schreibmarke) lediglich die Schreibmarke
     bewegen, oder auch Zeichen aus dem Bildschirm entfernen soll.

`Swap `Backspace' and `Del' keys'
     Für die hard-core VT100-User unter uns:  wird dieser Schalter
     aktiviert, so wird die Belegung der Del- und Backspace-Tasten
     vertauscht. *Wird `Control + H' gedrückt, so wird ein Delete
     statt einem Backspace erzeugt!*

`Printer control enabled'
     Die eingebaute Terminalemulation unterstützt Druckersteuerbefehle
     (Bildschirm ausdrucken, Zeile ausdrucken, etc.), die mit diesem
     Schalter aus Sicherheitsgründen abgeschaltet werden können.

`Answerback message'
     Die Sequenz, die beim Eingehen des `ENQ' Zeichens über die
     serielle Schnittstelle verschickt werden soll. Es handelt sich
     hierbei wiederum um eine Befehlssequenz.

`Use'
     Verwende die aktuellen Einstellungen.

`Default (nur vom Telefonbuch aus)'
     Löscht die gerade bearbeiteten Einstellungen aus dem
     Telefonbucheintrag. Wird später einmal die dazugehörige
     Telefonnummer angewählt, so wird die Hauptkonfiguration an dieser
     Stelle nicht verändert werden.

`Cancel'
     Erhalte die ursprünglichen Einstellungen.


Klemmbrettfenster
==================

`Clipboard unit'
     Das `Klemmbrett' ist in verschiedene Einheiten (von 0 - 255)
     unterteilt, die jeweils einzeln angesprochen werden können. Unter
     Umständen kann es sinnvoll sein, die anzusprechende Einheit
     ausdrücklich hier einzustellen. Standardmäßig wird Einheit 0
     verwendet.

`Clipboard character delay'
     Wenn der Inhalt des `Klemmbretts' in den Eingabestrom eingespeist
     werden soll, gibt diese Zahl an, wieviele Sekunden bis zum Senden
     des nächsten Zeichens gewartet werden soll.

`Clipboard line delay'
     Wenn der Inhalt des `Klemmbretts' in den Eingabestrom eingespeist
     werden soll, gibt diese Zahl an, wieviele Sekunden bis zum Senden
     der nächsten Zeile gewartet werden soll.

`Paste prefix'
     Falls aufgerufen (siehe Klemmbrett) die Befehlssequenz, die vor
     dem Klemmbrettinhalt verschickt wird (siehe Befehlssequenzen).

`Paste suffix'
     Falls aufgerufen (siehe Klemmbrett) die Befehlssequenz, die nach
     dem Klemmbrettinhalt verschickt wird (siehe Befehlssequenzen).


Mitschnittsfenster
===================

`Log actions'
     Auf Wunsch werden alle vom Programm ausgeführten Aktionen
     (Up-/Downloads, Anwahl von Mailboxen, etc.) protokolliert und in
     einer Datei gespeichert. Jede Aktion wird mit Datum und Uhrzeit
     versehen.

`Log file'
     Der Name der Datei, in die Informationen zu den vom Programm
     ausgeführten Aktionen gespeichert werden sollen, falls die
     Funktion `Log actions' aktiviert wurde.

`Log calls'
     Mit diesem Schalter läßt sich `term' dazu bewegen, eine Datei
     anzulegen, die Informationen über Telefonverbindungen enthält.
     Die Informationen werden in einem Format abgelegt, das kompatibel
     zu dem von `NComm' ist.

`Call log file'
     Der Name der Datei, in der Informationen zu getätigten Anrufen
     abgelegt werden sollen, falls die Funktion `Log actions' aktiviert
     wurde.

`Maximum text buffer size'
     Hier läßt sich eine Obergrenze für den Umfang des Textpuffers
     festlegen, um Speicher zu sparen. Der Textpuffer hält sich nicht
     exakt an die hier gemachten Vorgaben, es werden üblicherweise +/-
     1KByte mehr oder weniger angefordert. Wird hier der Wert 0
     eingetragen, wird der Umfang des Textpuffers nicht beschränkt.
     Ist der Wert kleiner als 2.000 Zeichen, so wird er automatisch auf
     2.000 Zeichen hochgesetzt.

`Text buffer enabled'
     Ist dieser Schalter nicht aktiviert, wird der Inhalt des
     Textpuffers eingefroren und keine weiteren Daten hineingeschickt.
     *`term' hält sich in erster Linie an den `Freeze buffer'
     Menüeintrag und kümmert sich erst in zweiter Linie um die hier
     gemachten Einstellungen.*

`Text buffer file path'
     Hier ist der Pfad, unter dem der Inhalt des Textpuffers
     abgespeichert werden kann, anzugeben. Er wird beim Öffnen des
     Datei-Auswahlfensters verwendet.

`Connect auto-capture'
     Beim erfolgreichen Aufbau einer Telefonverbindung kann optional
     eine Mitschnitt-Datei geöffnet werden, in der alle Ein-/Ausgaben
     der angeschlossenen Mailbox abgespeichert werden. Ist diese
     Funktion aktiviert, so wird eine vorher geöffnete
     Mitschnitt-Datei geschlossen und eine neue geöffnet, die den
     Namen der angeschlossenen Mailbox trägt. In die erste Zeile der
     Datei wird eingetragen, zu welcher Zeit und zu welchem Datum sie
     geöffnet wurde.

`Capture filter enabled'
     Bestimmt ob Steuersequenzen aus dem Datenstrom herausgefiltert
     werden sollen, der an den Mitschnitt der `Capture to file'-Funktion
     gesandt wird.

`Capture file path'
     Der Pfad unter dem Mitschnitts-Dateien angelegt werden, wenn die
     Funktion `Connect auto-capture' aktiviert wurde.

     Im selben Pfad wird auch die Datei, die Informationen zur
     Verbindungsstatistik enthält, angelegt, falls sie mit `Log calls'
     aktiviert wurde.


Befehlsfenster
===============

   Hier befinden sich Einträge für drei Befehlssequenzen, die
verschiedene Funktionen haben:

`Startup/Login macro'
     Das hier angegebene Makro wird ausgeführt, wenn eine erfolgreiche
     Telefonverbindung über die Wählfunktion zu einer Mailbox
     aufgebaut werden konnte (Login Macro) oder das Programm `term' zum
     ersten Mal gestartet wurde (Startup Macro). Da für jeden
     Telefonbucheintrag ein solches Makro existiert, können auf diese
     Weise automatische Login-Prozeduren ausgeführt werden.

`Logoff macro'
     Dieses Makro wird ausgeführt, sobald eine Verbindung unterbrochen
     wurde, z.B. durch Auflegen.

`Upload macro'
     Dieses Makro wird nach dem erfolgreichen Verschicken von Dateien
     aufgerufen.

`Download macro'
     Nach dem erfolgreichen Empfangen von Dateien wird dieses Makro
     ausgeführt, man kann es z.B. dazu benutzen, um die empfangenen
     Dateien auf Korrektheit zu überprüfen.


Verschiedenes
==============

   In diesem Einstellfeld finden sich Funktionen, die sich an anderen
Stellen des Programmes nur schlecht unterbringen ließen.

`Program priority'
     Hier läßt sich die Priorität festlegen, unter der `term' im
     Multitasking des Amiga laufen soll. Den Wert auf etwas anderes als
     0 zu setzen, ist nur dann zu empfehlen, wenn man `term' Priorität
     gegenüber anderen, sehr rechenintensiven Programmen verschaffen
     möchte.

     Dem Programm eine höhere Priorität als 20 zuzuweisen, halte ich
     für nicht sinnvoll. Man verspreche sich bitte keine Wunder davon,
     die Priorität von `term' auf 127 zu setzen oder ähnlichen Unfug
     zu treiben. Aufgrund der Implementierung der Serviceroutinen des
     Programmes können derartig hohe Werte die Performance des
     Gesamtprogrammes sogar drastisch verschlechtern.

`Backup configuration'
     Üblicherweise ersetzt die Konfiguration eines
     Telefonbucheintrages die Hauptprogrammkonfiguration von `term',
     sobald eine Verbindung zu einer Mailbox hergestellt wurde. Wird
     dieser Schalter aktiviert, merkt sich `term' vor dem Übernehmen
     einer neuen Konfiguration aus einem Telefonbucheintrag die
     vorherige Konfiguration und stellt sie wieder her, sobald die
     Verbindung abgebrochen wird.

`Show fast! macros'
     Ist dieser Schalter aktiviert, so wird beim Aufrufen einer neuen
     Konfiguration oder gleich beim Programmstart das Fast!
     Makro-Auswahlfeld geöffnet.

`Release serial device when iconified'
     Normalerweise wird beim Verbergen des Programmes der
     Schnittstellentreiber freigegeben. Mit diesem Schalter läßt sich
     dieses Verhalten abstellen.

`Override transfer path'
     Transferprotokolle wie YModem, ZModem, QuickB und Kermit sind in
     der Lage, mehrere Dateien nacheinander zu empfangen. Diese Dateien
     werden in einem Empfangsverzeichnis angelegt, das jeweils lokal
     für das jeweilige Protokoll einzustellen ist. Möchte man
     allerdings die Übersicht über die empfangenen Dateien behalten
     und nicht andauernd nach dem Ort suchen, an dem sie schließlich
     gelandet sind, empfiehlt es sich manchmal, diese lokal
     einzustellende Schublade von `term' auf die im Menü `Paths'
     (siehe Pfadfenster) gemachten Einstellungen zu verlegen.

     Wird dieser Schalter aktiviert, werden statt des lokalen
     Empfangsverzeichnisses die Einstellungen im `Paths'-Einstellfeld
     verwendet.

`Use auto upload panel'
     Wird das ZModem-Protokoll zum Datentransfer verwendet, so achtet
     `term' auf eingehende Zeichenfolgen, mit denen der Empfänger seine
     Empfangsbereitschaft ankündigt. Ist dieser Schalter aktiviert,
     öffnet `term' beim Eingehen einer solchen Zeichenfolge ein
     Fenster, in dem der Typ des Transfers (Text oder Binärdaten)
     ausgewählt werden kann, andernfalls wird die Zeichenfolge
     ignoriert.

`Set `archived' bit'
     Wird dieser Schalter aktiviert, wird bei allen Dateien, die per
     XPR-Transfer verschickt werden, das `archiviert'-Bit gesetzt.

`Transfer file icons'
     Dieser Schalter arbeitet zusammen mit der Funktion, Dateien zum
     Verschicken in das `term'-Fenster auf dem Workbench-Bildschirm zu
     legen (siehe Transferfenster). Für gewöhnlich werden hierbei nur
     die Dateien selbst verschickt. Ist dieser Schalter jedoch aktiv,
     so werden zusätzlich auch die Piktogramm-Dateien mitverschickt.

`File comment'
     Hier wird eingestellt, was nach dem Empfang einer Datei geschehen
     soll:

    `Ignore'
          Der Dateikommentar wird nicht verändert.

    `File type'
          Die Datei wird untersucht und versucht, den Dateityp zu
          ermitteln. Das Ergebnis wird in den Dateikommentar
          eingetragen.

    `Source and time'
          Der Name der Mailbox und die Uhrzeit, zu der die Datei
          empfangen wurde, wird in den Dateikommentar eingetragen.


Pfadfenster
============

   In diesem Einstellfeld können alle Pfade, die das Programm `term'
zum Lesen und Abspeichern von Daten verwendet, angegeben werden.

`...Uploadpath'
`...Downloadpath'
     Die Pfade, unter denen die im Menü `Transfer' zusammengefaßten
     Funktionen Dateien zur Übertragung suchen und anlegen.

`Configuration storage directory'
     Die Schublade, in dem alle Konfigurationsdateien abgelegt werden
     (Telefonbuchdateien, Tastaturmakros, etc.). Die
     Hauptkonfigurationsdatei `term.prefs' wird an Hand der
     Systemvariable `TERMCONFIGPATH' gefunden, die am Ende dieses
     Dokumentes unter Systemvariablen erklärt ist.

`Text editor'
     Der Name des Text-Editors, der von der Funktion `Edit & upload text
     file' benutzt werden soll.

``term' help text file'
     Hier wird der Name der `term'-Online-Hilfe-Datei eingetragen.
     Standardmäßig ist dies `PROGDIR:term.guide'.

`Use'
     Verwende die aktuellen Einstellungen.

`Default (nur vom Telefonbuch aus)'
     Löscht die gerade bearbeiteten Einstellungen aus dem
     Telefonbucheintrag. Wird später einmal die dazugehörige
     Telefonnummer angewählt, so wird die Hauptkonfiguration an dieser
     Stelle nicht verändert werden.

`Cancel'
     Erhalte die ursprünglichen Einstellungen.


Konvertierungsfenster
======================

   `term' ist in der Lage, empfangenen und verschickten Zeichen statt
ihrer selbst Textsequenzen fast beliebiger Länge zuzuordnen. In dem von
dieser Funktion geöffneten Einstellfenster erscheint für jedes der 256
möglichen Zeichen ein Knopf; einige Zeichen werden durch ihre aktuelle
Darstellung, einige durch symbolische Namen und einige durch Zahlen
dargestellt. Wird eines der Zeichen ausgewählt, öffnet sich ein
weiteres Einstellfenster, in dem der für den Empfang (Receive) und der
für den Versand (Send) zu verwendende Text eingegeben werden kann.

   Bei beiden Text handelt es sich prinzipiell um die vertrauten
Befehlssequenzen, lediglich die folgenden Befehle werden nicht
unterstützt:  `\a', `\c', `\d', `\g', `\i', `\p', `\u' und `\x'.

   Die Zeichenkonvertierung kann, muß aber nicht unbedingt, negative
Auswirkungen auf die Ausgabegeschwindigkeit haben.

   Gegenwärtig liegen `term' nicht gerade viele
Beispielkonvertierungsdateien bei. Wer auch immer es in Angriff nimmt,
Tabellen für IBM doorway oder nationale Varianten des
IBM-PC-Zeichensatzes zu schreiben, der möchte sie mir bitte zuschicken.
Ich werde dann versuchen, sie der nächsten `term'-Version beizulegen.

   Gegenwärtig liegen `term' die folgenden Konvertierungsdateien bei:

`ISO-4-(GB).prefs'
     Britischer 7-Bit (ISO Code 4) Zeichensatz.

`ISO-10-(S).prefs'
     Schwedischer 7-Bit (ISO Code 10) Zeichensatz.

`ISO-11-(S).prefs'
     Schwedischer 7-Bit (ISO Code 11) Zeichensatz.

`ISO-15-(I).prefs'
     Italienischer 7-Bit (ISO Code 15) Zeichensatz.

`ISO-16-(P).prefs'
     Portugiesischer 7-Bit (ISO Code 16) Zeichensatz.

`ISO-17-(E).prefs'
     Spanischer 7-Bit (ISO Code 17) Zeichensatz.

`ISO-21-(D).prefs'
     Deutscher 7-Bit (ISO Code 21) Zeichensatz.

`ISO-60-(N).prefs'
     Norwegischer 7-Bit (ISO Code 60) Zeichensatz.

`ISO-61-(N).prefs'
     Norwegischer 7-Bit (ISO Code 61) Zeichensatz.

`ISO-69-(F).prefs'
     Französischer 7-Bit (ISO Code 69) Zeichensatz.

`PC-8.prefs'
     Zeichenkonvertierungstabellen für den Standard IBM-PC-Zeichensatz.
     Falls Sie diese Tabellen verwenden möchten, sollten Sie im
     Terminalfenster den Schalter `Font' auf `IBM-PC style (raw)'
     stellen.

   Leider existieren bisher keine Konvertierungsdateien für die
Norwegische/Dänische Variante des PC-8 Zeichensatzes, was daran
scheiterte, daß ich keinen passen Amiga-Font finden konnte. Derselbe
Grund hat es bisher auch verhindert, eine Konvertierungsdatei für den
PC-850 Zeichensatz zu schreiben.


Funktionstastenfenster
=======================

   Dieses Menü dient zum Belegen der zehn Funktionstasten mit
benutzerdefinierten Sequenzen, die auf Tastendruck ausgeführt werden.
Es handelt sich hierbei um Befehlssequenzen, die später genauer
beschrieben werden sollen.

`Modifier'
     Es können insgesamt 40 Tasten mit Funktionen belegt werden. Da die
     Amiga-Tastatur aber nur über 10 Funktionstasten verfügt, läßt
     sich mit diesem Schalter bestimmen, in Zusammenhang mit welcher
     Umschalt-Taste die entsprechende Befehlssequenz abgeschickt werden
     soll. Hier gibt es 4 Einstellungen:

    `None'
          Nur die Funktionstaste muß gedrückt werden.

    `Shift'
          Zusätzlich zur Funktionstaste muß eine der Umschalttasten
          für Groß-/Kleinschrift (`Shift') gedrückt gehalten werden.

    `Alternate'
          Zusätzlich zur Funktionstaste muß eine der Umschalttasten
          für den alternativen Zeichensatz (`Alt') gedrückt gehalten
          werden.

    `Control'
          Zusätzlich zur Funktionstaste muß eine der Umschalttasten
          für normale/Steuerzeichen (`Ctrl') gedrückt gehalten werden.

`Load'
     Lade die Funktionstastenbelegung aus einer Datei.

`Save'
     Speichere die Funktionstastenbelegung in einer Datei.

`Use'
     Verwende die aktuellen Einstellungen.

`Cancel'
     Erhalte die ursprünglichen Einstellungen.

   Da die Belegung der Funktionstasten mit Befehlssequenzen der
standardmäßigen Belegung der 4 Funktionstasten der VT-100-Konsole
widerspricht, werden beim Anlegen der Makrotabellen die Befehlssequenzen
der Tasten `F1'-`F4', die mit der `Shift'-Taste zu erreichen sind, mit
den vier Standardsequenzen für Funktionstasten belegt. Diese Belegung
kann vom Benutzer selbstverständlich geändert werden.

   Ist eine externe Emulationsbibliothek aktiv, so werden die Tasten,
die die Emulation für sich beansprucht, gesperrt und können weder
betätigt, noch bearbeitet werden.


Steuertastenfenster
====================

   Die Funktion dieses Kontrollfeldes ähnelt dem des
Funktionstastenfensters. In diesem Fall lassen sich allerdings keine
Funktionstasten, sondern die Tasten zur Steuerung der Schreibmarke
(Cursor) mit Befehlssequenzen belegen.


Fast-Makro-Fenster
===================

   Sinn und Zweck dieses Einstellfeldes decken sich mit denen der
Funktionstasten, die im vorhergehenden Menüpunkt zu konfigurieren sind.
Hier jedoch können Anklickfelder mit Befehlssequenzen belegt werden.

`Macro list'
     Die Liste der bisher eingegebenen Makros, um ein Makro zu
     bearbeiten, muß es angeklickt werden.

`Macro'
     Der Name eines Makros, unter dem es in der Liste aufgeführt ist.

`Macro code'
     Die mit dem jeweiligen Makro assoziierte Befehlssequenz. Zu
     Befehlssequenzen gilt das für Funktionstasten gesagte, eine
     genauere Beschreibung folgt später im Dokument.

`New'
     Hängt ein neues Makro an die Liste an, der Benutzer kann es
     bearbeiten und für seine Zwecke verändern.

`Delete'
     Löscht das gerade ausgewählte Makro aus der Liste.

`Load'
     Lädt die Makro-Liste aus einer Datei.

`Save'
     Speichert die Makro-Liste in einer Datei.

`Top'
     Bewegt den gerade ausgewählten Listeneintrag an den Anfang der
     Liste.

`Up'
     Schiebt den gerade ausgewählten Listeneintrag einen Eintrag
     zurück.

`Down'
     Schiebt den gerade ausgewählten Listeneintrag einen Eintrag nach
     vorne.

`End'
     Bewegt den gerade ausgewählten Listeneintrag an das Ende der
     Liste.


Hotkey-Fenster
===============

   Hier lassen sich die vom Programm zum Arrangieren der Bildschirme und
Sonderfunktionen verwendeten Tastatursequenzen konfigurieren.

`term screen to front'
     Die Tastenkombination, die durch Drücken den Bildschirm des
     Hauptprogrammes nach vorne bringt und aktiviert.

`Buffer screen to front'
     Die Tastenkombination, die durch Drücken den Bildschirm des
     Textpuffers nach vorne bringt und aktiviert.

`Skip dial entry'
     Alternativ kann in der Wählfunktion eine Tastenkombination
     gedrückt werden, die dieselbe Funktion wie der `Skip'-Knopf hat
     (Überspringen einer Telefonnummer, Abbrechen eines
     Anwahlversuches, etc.). Die jeweilige Tastensequenz wird hier
     eingegeben.

`Abort ARexx command'
     Ein von `term' gestartetes ARexx-Programm kann unter Umständen
     nicht ohne weiteres zum Anhalten bewegt werden. Drückt man jedoch
     die hier einzustellende Tastenkombination, wird es -- sofern
     möglich -- abgebrochen.

`Commodity Priority'
     Die Priorität, die term als Commodity-Programm einnimmt. Mit
     diesem Wert kann das `Zusammenleben' einzelner Commodity-Programme
     gesteuert werden, die dieselben Tasten mit verschiedenen
     Funktionen belegen wollen. Das Programm mit der höheren
     Priorität bekommt den Zuschlag.

`Hotkeys enabled'
     Die Hotkeys können sowohl extern mit dem Programm `Exchange' aus-
     und wieder eingeschaltet werden, als auch mit diesem Knopf.

`Load'
     Lädt die Hotkey-Einstellungen aus einer Datei.

`Save'
     Speichert die Hotkey-Einstellungen in einer Datei.

`Use'
     Verwende die aktuellen Einstellungen.

`Cancel'
     Erhalte die ursprünglichen Einstellungen.

   Sollten in diesem Einstellfeld gemachte Veränderungen nicht sofort
aktiv werden, hat man sich wahrscheinlich bei der Eingabe einer der
Tastensequenzen vertippt (woraus folgt, daß die komplette
Hotkey-Initialisierung fehlschlägt). Ich habe im Moment keinerlei
Möglichkeiten, derartige Fehler einfach abzufangen, da die
Initialisierung asynchron erfolgt und von einem Task erledigt wird, der
das Ergebnis der Initialisierung nicht zurückmeldet.


Sprachfenster
==============

   Auf Wunsch läßt sich in diesem Menü der Sprachsynthesizer des
Amiga aktivieren. Bei besonderen Aktionen und Vorkommnissen wird vom
Rechner kurz eine Nachricht gesprochen, die über den jeweiligen Vorgang
informiert. Dies kann sinnvoll sein, wenn man `term' in den Hintergrund
gelegt hat und auf einem anderen virtuellen Bildschirm arbeitet,
trotzdem aber über das Geschehen am `term'-Bildschirm informiert sein
möchte.

   *Hinweis: ab Kickstart 3.0 und Workbench 2.1 ist der
Sprachsynthesizer nicht mehr Bestandteil des Betriebssystems!*

`Rate'
     Die Sprechgeschwindigkeit des Sprachsynthesizers in Worten pro
     Minute.

`Pitch'
     Dieser Parameter wird am besten mit `Ausdruck' umschrieben. Je
     größer, desto höher wirkt die Stimme, mit der gesprochen wird
     und dies unabhängig davon, wie hoch die Stimmfrequenz ist.

`Frequency'
     Die Höhe der Stimmfrequenz in Hertz.

`Volume'
     Die Lautstärke der Stimme.

`Sex'
     Bestimmt ob die Stimme männlich oder weiblich ist.

`Speech enabled'
     Schaltet den Sprachsynthesizer ein oder aus.

`Speak!'
     Spricht zur Probe einen kurzen Text (der Sprachsynthesizer muß
     hierzu allerdings erst eingeschaltet werden).

`Load'
     Lädt die Sprach-Einstellungen aus einer Datei.

`Save'
     Speichert die Sprach-Einstellungen in einer Datei.

`Use'
     Verwendet die aktuellen Einstellungen.

`Cancel'
     Erhält die ursprünglichen Einstellungen.

   . Ich kann mir nicht vorstellen, daß sehr viele Leute diese Funktion
nutzen werden, dennoch erschien es mir sinnvoll sie einzubauen. Es
erwarte aber bitte niemand, daß über kurz oder lang eine Funktion zum
Aussprechen der über das Terminal eingehenden Texte hinzukommen wird.
Ich halte dies für nicht mehr als Spielerei und ansonsten nicht
sonderlich sinnvoll.


Tonfenster
===========

   `term' ordnet auf Wunsch verschiedenen Funktionen einen Ton zu, der
im Bedarfsfall abgespielt wird. Die Zuordnung geschieht in diesem
Einstellfenster:

`Terminal bell sound'
     Der Ton, der beim Eingehen eines `BEL'-Zeichens ausgegeben werden
     soll.

``Connect' sound'
     Der Ton, der beim Aufbau einer Verbindung ausgegeben werden soll.

``Disconnect' sound'
     Der Ton, der beim Abbruch einer Verbindung ausgegeben werden soll.

``File transfer finished' sound'
     Der Ton, der bei korrekter Beendigung eines Dateitransfers
     ausgegeben werden soll.

``File transfer failed' sound'
     Der Ton, der bei fehlerhaften Ausgang eines Dateitransfers
     ausgegeben werden soll.

`Modem `ring' sound'
     Der Ton, der beim Eingehen eines Anrufs von einem anderen Modem
     ausgegeben werden soll.

`Modem `voice' sound'
     Der Ton, der beim Eingehen eines Anrufs, der nicht von einem
     anderen Modem stammt, ausgegeben werden soll.

`Preload sound files'
     Ist dieser Schalter aktiviert, so werden alle ausgewählten
     Tondateien sofort und nicht erst im Bedarfsfall in den Speicher
     des Amiga geladen. Dies spart Zugriffszeit, sobald ein Ton zum
     ersten Mal gespielt werden soll, kann aber sehr viel Speicher
     kosten.

`Load'
     Lade die Toneinstellungen aus einer Datei.

`Save'
     Speichere die Toneinstellungen in einer Datei.

`Use'
     Verwende die aktuellen Einstellungen.

`Cancel'
     Erhalte die ursprünglichen Einstellungen.

   Für die Länge der Tondateien gilt keinerlei feste
Längenbeschränkung, allgemein ist die Größe des gesamten verfügbaren
Speichers ausschlaggebend. Die Tondateien können gepackt, aber auch
Stereo-Dateien sein.


Transferfenster
================

   Bei jeder Datenübertragung wird ein Transferfenster geöffnet. In
ihm werden Informationen über den Fortgang der Übertragung angezeigt,
Zusätzlich läßt sich die Übertragung unter-, bzw. abbrechen (mit den
Tasten `Abort entire transfer' = Abbruch des Transfervorganges und `Skip
current file' = aktuelle Datei überspringen). *Für die meisten
Transferprotokolle haben die Tasten zum Abbrechen des Transfervorganges
und zum Überspringen der aktuellen Datei dieselbe Funktion, ob eine
getrennte Behandlung möglich ist (die dem Sinn der Tastenfunktionen
entspricht) ist der jeweiligen Dokumentation zu entnehmen.*

   Im folgenden sollen die im Transferfenster ausgegebenen Informationen
kurz beschrieben werden:

`Protocol'
     Der Name des Transferprotokolles.

`Information'
     In dieser Liste werden Informationen wie z.B. der letzte aufgetrene
     Fehler oder auch die zuletzt übertragene Datei ausgegeben.

`File'
     Der Name der Datei, die gerade übertragen wird.

`Next file'
     Der Name der Datei, die als nächste übertragen werden soll.

`Space left'
     Der auf dem Zielgerät noch verfügbare Speicherplatz. `term'
     versucht den effektiven Platzbedarf empfangener Dateien zu
     berechnen und gegen den freien Speicherplatz auf dem Zielgerät
     ins Verhältnis zu setzen. Paßt die Datei diesen Berechnungen
     nach nicht auf das Zielgerät, so zeigt `term' zusätzlich die
     Meldung *FILE MAY NOT FIT* an. *Die Annahme von `term' muß nicht
     notwendigerweise eintreffen.* Während der Übertragung ist meist
     noch genügend Zeit, um genügend Platz für die empfangene Datei
     zu schaffen. Gerade bei Zielgeräten wie z.B. der Ram-Disk, die
     nicht wie die Diskettenlaufwerke blockorientiert arbeiten, ist die
     Annahme von `term' generell zu vernachlässigen, da die Ram-Disk
     aufgrund ihrer Implementierung immer zu 100% voll ist.

`File size'
     Sofern bekannt, die Größe der jeweiligen Datei.

`Bytes transferred'
     Der bisher übertragene Dateiumfang.

`Total size'
     Der Gesamtumfang aller zu übertragenden Dateien.

`Total bytes transferred'
     Die Anzahl aller bisher übertragenen Bytes.

`Files transferred'
     Die Anzahl aller bisher übertragenen und noch zu übertragenden
     Dateien.

`Blocks transferred'
     Die Anzahl der bisher übertragenen Datenblöcke.

`Characters/second'
     Die effektive Transfergeschwindigkeit des Protokolles in Zeichen
     pro Sekunde.

`Character delay'
     Die zeitliche Verzögerung zwischen der Übertragung zwei
     aufeinanderfolgender Zeichen.

`Packet delay'
     Die zeitliche Verzögerung zwischen der Übertragung zwei
     aufeinanderfolgender Datenblöcke.

`Packet type'
     Eine Beschreibung des zur Übertragung verwendeten Datenblocktypes.

`Block check type'
     Das Verfahren, das zur Überprüfung der übertragenen Daten
     verwendet wird (dies ist zumeist eine Form der
     CRC-Prüfsummenfunktion).

`Block size'
     Größe eines Datenblockes in Bytes.

`Estimated time'
     Hier wird die Zeit ausgegeben, die das jeweilige Transferprotokoll
     als die gesamte Übertragungsdauer berechnet.

`Elapsed time'
     Die während der Übertragung verstrichene Zeit.

`Number of errors'
     Die Anzahl der bei der Übertragung aufgetretenen Fehler.

`Number of timeouts'
     Die Anzahl der bei der Übertragung aufgetretenen
     Synchronisierungsfehler.

   Sofern das Protokoll diese Informationen verfügbar macht, werden am
unteren Rand des Anzeigefensters zwei Balken gezeigt, in denen die
übertragene Datenmenge und die verbleibende Übertragungszeit angezeigt
werden.

   Ist das ZModem-Protokoll aktiv und geht von der Empfängerseite die
Aufforderung ein, eine Datei zu übertragen, so erscheint ein
Auswahlfeld, das es einem ermöglicht, sofort einen Text-/Binär-Upload
zu starten, man könnte diese Funktion quasi als `Auto-Upload'
bezeichnen. Anstatt den Transfer zu beginnen, kann man sich auch dazu
entscheiden, die eingegangene Sequenz zu ignorieren (`Ignore') oder der
Gegenstelle die ZModem-Abbruch-Sequenz zu übermitteln, anstatt einen
Transfer zu starten (`Abort'). Die Abbruch-Sequenz wird auch dann
übertragen, wenn man einen Upload gestartet hat, bei der Auswahl der zu
verschickenden Dateien jedoch die Auswahl abgebrochen hat.

   Sofern diese Funktion aktiviert wurde, wird jede empfangene Datei
untersucht, um ihren Typ zu ermitteln. Wird dieser eindeutig bestimmt,
so wird in den Datei-Kommentar ein kurzer Text eingetragen, der den
Dateityp beschreibt.

   Wird das `term'-Hauptfenster auf dem Workbench-Bildschirm geöffnet,
so lassen sich Piktogramme auswählen und in das Fenster ziehen, um sie
zu verschicken. Über ein Dialogfenster kann anschließend angegeben
werden, wie die Dateien übertragen werden sollen (Binär oder als
Textdateien).

   Sollte ein Transfer durch einen Übertragungsfehler fehlschlagen, so
bleibt das Transferfenster so lange geöffnet bis es ausdrücklich vom
Anwender geschlossen wird. Auf diese Weise verbleibt mehr Zeit zur
Auswertung der Übertragungsfehlerliste.


Telefonbuch
============

   Die nachfolgend beschriebenen Funktionen sind im Menü `Modem' zu
finden und hängen mit den Menüpunkten `Phonebook', `Dial' und `Redial'
zusammen.

   `term' verfügt über eine komfortable Verwaltung von
Telefonnummern, das `Telefonbuch', dessen Bedienung über ein
Kontrollfeld geschieht, welches im folgenden beschrieben werden soll.

`Name list'
     Die Liste aller namentlich (Name der jeweiligen Mailbox)
     eingetragenen Telefonnummern. Wird die Umschalttaste für
     Groß-/Kleinschreibung gedrückt gehalten und mit der Maus einer
     dieser Einträge angeklickt, so wird dieser an das Ende der
     Wählliste gehängt (dazu später mehr), bzw. aus der Wählliste
     entfernt. Drücken der Leerschrittaste hat denselben Effekt wie
     das Anklicken eines Listeneintrages. Ein Doppelklick auf einen
     Eintrag wählt diesen sofort an.

`BBS name'
     Name des zuletzt ausgewählten Telefonbucheintrages.

`Comment'
     Der zum Telefonbucheintrag gehörende Kommentar.

`Phone number'
     Telefonnummer des zuletzt ausgewählten Telefonbucheintrages.

     Verfügt eine Mailbox über mehrere Anschlüsse, so können die
     anzuwählenden Nummern an dieser Stelle durch einen vertikalen
     Strich (`|') getrennt angegeben werden (Beispiel:  `123456|654321'
     würde nacheinander die Nummern `123456' und `654321' anzuwählen
     versuchen). Die Wählfunktion wird die einzelnen Telefonnummern
     nacheinander versuchen anzuwählen und erst nachdem alle Nummern
     abgearbeitet sind zum nächsten zu wählenden Telefonbucheintrag
     übergehen.

     Der senkrechte Strich kann auch für die Modem-Init-, Modem-Exit-
     und Wählprefix-Sequenzen benutzt werden. Wird eine Telefonnummern
     angewählt, so werden auch die dazugehörigen Sequenzen
     ausgewählt und benutzt. Sind mehr Telefonnummern vorhanden, als
     Sequenzen angegeben wurden, so werden die jeweils letzten
     Sequenzen benutzt (Beispiel:  als Telefonnummer sei
     `123456|654321|12345' angegeben und als Wählprefix `ATDP|ATDT';
     die erste Nummer wird mit Hilfe von `ATDP123456' angewählt, die
     zweite mit `ATDT654321' und die dritte, da keine weiteres
     Anwahlpräfix auffindbar ist, wiederum mit `ATDT12345').

`New entry'
     Erzeugt einen neuen Telefonbucheintrag, der mit Standardwerten
     initialisiert wird und hängt ihn am Ende der Liste an.

`Clone entry'
     Erzeugt eine Kopie des gerade angewählten Telefonbucheintrages
     und hängt ihn am Ende der Liste an.

`Remove entry'
     Löscht den gerade angewählten Telefonbucheintrag aus der Liste.

`Dial list'
     Übergibt die Liste der ausgewählten Telefonbucheinträge an die
     Wählfunktion, die die angewählten Einträge in ihrer Reihenfolge
     durchgeht und zu jedem eine Verbindung herzustellen versucht.

`Clear list'
     Löscht die Markierungen der anzuwählenden Telefonbucheinträge.

`Use entry'
     Hiermit werden die zu einem Telefonbucheintrag gehörenden
     Einstellungen in die Programmkonfiguration übernommen. Ebenfalls
     übernommen werden die zum jeweiligen Telefonbucheintrag
     gehörenden Informationen über Kennwort- und Benutzernamen.

`Load list'
     Lädt den Inhalt eines Telefonbuches aus einer Datei.

`Sort list'
     Sortiert den Inhalt des Telefonbuches. Sind bereits
     Telefonbucheinträge ausgewählt worden, so werden die Einträge
     in der Reihenfolge, in der sie ausgewählt wurden, sortiert. Der
     verbleibende Rest des Telefonbuchs wird alphabetisch in
     aufsteigender Reihenfolge sortiert.

`Save list'
     Speichert den Inhalt eines Telefonbuches in einer Datei.

`Copy config'
     Oftmals kann man sich beim Erstellen eines Telefonbucheintrages
     eine Menge Zeit sparen, indem man einfach Teile der gerade aktiven
     Programmkonfiguration in einen Telefonbucheintrag kopiert (siehe
     Kopierfenster).

`Password'
     Der Zugriff auf eine Telefonbuchdatei läßt sich durch ein
     Zugangskennwort reglementieren, das sich nach der Anwahl dieses
     Knopfs eingeben läßt. Was hier getippt wird, erscheint nicht auf
     dem Bildschirm.

     Beim Abspeichern der Datei wird das Kennwort verschlüsselt
     mitgespeichert und mit ihm alle abgespeicherten Daten
     verschlüsselt.

     Das Kennwort wird wieder angefordert, sobald die Datei neu geladen
     werden soll und es nicht einem möglicherweise bereits aktiven
     Kennwort entspricht.

     *Wird eine verschlüsselte Datei geladen, so braucht dies mehr
     Zeit, als das Laden einer nicht verschlüsselten Datei, gleiches
     gilt für das Speichern von Dateien.*

`Print'
     Mit dieser Funktion läßt sich der Inhalt des Telefonbuches auf
     dem Drucker oder in eine Datei ausgeben (siehe Druckfenster).

`Settings'
     Am rechten Fensterrand befindet sich eine weitere Liste, in der
     verschiedene Funktionen aufgelistet sind, die sich auf den gerade
     ausgewählten Telefonbucheintrag beziehen.

    `Serial'
    `Modem'
    `Transfer'
    `Screen'
    `Terminal'
    `Commands'
    `Miscellaneous'
    `Paths'
    `Translation tables'
    `Cursor keys'
    `Function keys'
    `Fast! Macros'
          Diese Einträge entsprechen den gleichnamigen Menüpunkten
          auf dem Hauptbildschirm und dienen zum Konfigurieren der für
          einen jeden Telefonbucheintrag notwendigen Parameter.

    `Rates'
          `term' verfügt über sehr präzise Funktionen zur Berechnung
          von Telefongebühren, die während eines Anrufes anfallen. Um
          die zur Berechnung notwendigen Parameter einstellen zu
          können, muß das Feld `Rates' in der Liste am rechten Rand
          des Telefonbuchfensters angewählt werden (siehe
          Gebührenfenster).

    `User/Password'
          Hier lassen sich sowohl ein Zugangskennwort für eine Mailbox
          als auch der zu verwendende Username eintragen, die einem
          beim Login möglicherweise ausgeführten ARexx-Programm für
          den Login-Vorgang in eine Mailbox zur Verfügung stehen
          (siehe User-Passwort-Fenster).

   Um einen Telefonbucheintrag anzuwählen, ist er mit einem Doppelklick
(kurzes zweimaliges Anklicken eines Eintrages mit der Maus) zu
markieren. Neben dem Namen des Eintrages erscheint eine Zahl, die
laufende Nummer des Eintrages in der Wählliste markiert und die
Reihenfolge der Einträge in der Wählliste angibt. Mit einem weiteren
Doppelklick läßt sich diese Markierung wieder löschen.

   Wird schließlich die Wählfunktion durch Drücken des `Dial list'
Knopfes angesprochen, so wird ein neues Eingabefeld geöffnet. Hier
wird der Anwahlvorgang durchgeführt.

   Da ich mehrfach danach gefragt wurde:  zur Anwahl einer Telefonnummer
wird jeweils das für die Telefonnummer eingestellte Dial-Prefix
verwendet. Muß man MNP-Fehlerkorrektur erst ausdrücklich über den
Anwahl-String für eine bestimmte Mailbox zuschalten, so hat dies in den
Modem-Einstellungen der anzuwählenden Mailbox zu geschehen und nicht in
den globalen Einstellungen von `term'! Als zusätzliche
Initialisierungsmöglichkeit können die `Modem init command'- und
`Modem exit command'-Einträge des Telefonbucheintrages verwendet
werden.

   Solange noch eine Telefonverbindung besteht, ist die Wählfunktion
gesperrt. Um sie zu nutzen, muß vorher aufgelegt werden.


Gebührenfenster
================

   `term' verfügt über sehr präzise Funktionen zur Berechnung von
Telefongebühren, die während eines Anrufes anfallen. Um die zur
Berechnung notwendigen Parameter einstellen zu können, muß das Feld
`Rates' in der Liste am rechten Rand des Telefonbuchfensters angewählt
werden. Für jeden einzelnen Telefonbucheintrag lassen sich die
anfallenden Gebühren individuell konfigurieren.

   Es öffnet sich zuerst ein Fenster mit den folgenden
Bedienungselementen:

`Pay/unit'
     Hier wird angegeben, wieviel Geld für eine Gebühreneinheit
     bezahlt werden muß. Diese Gebühr ist immer in der kleinsten
     Währungseinheit anzugeben (Pfennige, Rappen, Groschen, etc.).

`Seconds/unit'
     Hier ist die Anzahl von Sekunden einzustellen, die eine einzelne
     Gebühreneinheit dauert.

   Von den oberen Einstellungen existieren zwei verschiedene; es gibt
eine jeweils eine für die erste Telefoneinheit und für folgende
Einheiten. Existiert für eine Telefonnummer z.B. kein Zeittakt, so
muß nur die erste Einheit eingestellt werden, die folgenden Einheiten
können auf 0 belassen werden.

`Days and dates'
     Dies ist eine Liste der für spezielle Termine und Wochentage
     getroffenen Gebühreneinstellungen. Neben einem kurzen
     erklärenden Kommentar findet sich hier auch die Art des Eintrages
     (links neben dem Symbol `>>'):

    `Day(s)'
          Einstellungen für spezielle Wochentage

    `12. Jan (Beispiel)'
          Einstellungen für einen bestimmten Termin.

     Steht keine solche Bezeichnung neben einem Eintrag, hat man es
     wahrscheinlich mit den Standardeinstellungen zu tun, die gelten,
     falls keine anderen Einstellungen, die zum heutigen Tag passen, in
     der Liste gefunden werden können.

   Mit jedem Eintrag in dieser Liste ist eine Anfangszeit verbunden, ab
der die jeweiligen Einheiten gültig sind. Diese sind unter `Time'
einzustellen. Mit den Knöpfen `Add time' (Anfangszeit hinzufügen),
`Remove time' (Anfangszeit entfernen) und `Edit time' lassen sich die
jeweiligen Anfangszeiten manipulieren. Die jeweiligen Anfangszeiten
sind beim späteren Gebrauch solange gültig, bis der nächste Zeitpunkt
erreicht ist, auch wenn dies erst am nächsten Tag geschieht.

`Add date'
     Fügt einen bestimmten Termin zur Gebührenliste hinzu. Im sich
     öffnenden Einstellfeld können Monat, Tag und Kommentar zu den
     jeweiligen Gebühreneinstellungen eingestellt werden.

     *Das Programm registriert nur das Datum, kann aber nicht ermitteln,
     ob ein Datum auch wirklich sinnvoll ist (der 31. Februar wird
     ebenso akzeptiert wie der 31. April).*

`Add day(s)'
     Fügt einen Eintrag, dessen Gebühren nur für bestimmte
     Wochentage oder nur für einen einzigen bestimmten Wochentag
     gelten, zur Gebührenliste hinzu. Im sich öffnenden Einstellfeld
     können die jeweils gültigen Wochentage ausgewählt und
     zusätzlich ein Kommentar zu den Einstellungen eingegeben werden.

`Import'
     Um Arbeit zu sparen, können die Gebühreneinstellungen aus einem
     anderen Telefonbucheintrag herauskopiert und in den aktuellen
     Telefonbucheintrag übernommen werden. Im sich öffnenden Fenster
     kann der Telefonbucheintrag ausgewählt werden, dessen
     Einstellungen übernommen werden sollen. Drei Schalter am unteren
     Fensterrand bestimmen, was anschließend geschehen soll:

    `Replace units'
          Die Gebühreneinstellungen des aktuellen Telefonbucheintrages
          werden durch die des ausgewählten Telefonbucheintrages
          ersetzt.

    `Append units'
          Die Gebühreneinstellungsliste des ausgewählten
          Telefonbucheintrages wird an die Liste des aktuellen
          Telefonbucheintrages angehängt.

    `Cancel'
          Die Auswahl wird abgebrochen.

   Wurde ein Gebühreneintrag ausgewählt, so lassen sich die einzelnen
zu ihm gehörenden Parameter (Pay/Unit, Seconds/Unit, Start Time)
verändern. Handelt es sich zusätzlich noch um einen Eintrag für ein
spezielles Datum oder einen Wochentag, werden drei weitere Schalter
zugänglich:

`Edit'
     Erlaubt es nachträglich, die Einstellungen für das zu einem
     Eintrag gehörende Datum oder die eingestellten Wochentage zu
     verändern.

`Clone'
     Hängt eine Kopie des aktuellen Eintrages an die Liste der
     Gebühreneinträge an.

`Remove'
     Entfernt einen Gebühreneintrag aus der Liste.


Kopierfenster
==============

   In diesem Einstellfenster kann ausgewählt werden, welchen Teil der
gerade aktiven Programmkonfiguration man in den gerade ausgewählten
Telefonbucheintrage übernehmen möchte.

`All'
     Markiert alle Teile.

`Clear'
     Löscht alle Markierungen

`Use'
     Alle markierten Konfigurationsteile werden in den gerade
     ausgewählten Telefonbucheintrag übernommen.

`Copy to all'
     Die gewählten Einstellungen werden in alle Telefonbucheinträge
     übernommen. Sind gegenwärtig einzelne Telefonbucheinträge
     ausgewählt, so werden nur diese Einträge verändert.

`Copy'
     Hier wird angegeben, mit welchen Daten die Telefonbucheinträge
     überschrieben werden:

    `Global configuration'
          Teile der Hauptkonfiguration werden übernommen.

    `Defaults'
          Bei Verbindungsaufbau wird die aktuelle Hauptkonfiguration
          nicht verändert.

   Zwischen den einzelnen Aufrufen merkt sich das Einstellfeld, welche
Teile der Konfiguration kopiert wurden.


User/Passwort-Fenster
======================

   In diesem Fenster lassen sich für jede Telefonnummer Benutzername
und verwendetes Kennwort eintragen:

`Username'
     Der für die Mailbox gültige Benutzername.

`Password'
     Das für die Mailbox und den Benutzernamen gültige Kennwort.

`Use'
     Verwende die aktuellen Einstellungen.

`Cancel'
     Verwerfe die aktuellen Einstellungen.


Wählfenster
============

   Wird aus dem Telefonbuch heraus eine Liste von Telefonnummern
angewählt oder aus dem Hauptprogramm heraus eine Telefonnummer
gewählt, öffnet sich ein Fenster, das die Informationen enthält:

`Calling'
     Der Name des Telefonbucheintrages, dessen Telefonnummer gerade
     angewählt wird. Handelt es sich im eine einfache Telefonnummer,
     so steht an dieser Stelle `-- Unknown --', was bezeichnet, daß
     der Name der angewählten Mailbox nicht bekannt ist.

`Comment'
     Der zum jeweiligen Telefonbucheintrag gehörende Kommentar.

`Number'
     Die Telefonnummer, die gerade gewählt wird, bzw. wurde.

`Next'
     Der Name des Telefonbucheintrages, der als nächstes angewählt
     werden soll, falls keine Verbindung zustandekommt. Existiert kein
     Nachfolger, so steht an dieser Stelle `-- None --'.

`Timeout'
     Ein Zähler, der jede Sekunde erniedrigt wird und angibt, wie
     lange noch bis zum Aufbau einer Telefonverbindung, bzw. nächsten
     Durchlauf der Wählliste gewartet wird.

`Attempt'
     Hier wird angezeigt, wie oft die Wählliste bereits erfolglos
     durchlaufen wurde, um eine Verbindung herzustellen.

`Message'
     Eine Nachricht an den Benutzer. Dies kann sein:

    `Dialing...'
          Es wird gerade ein Anwahlversuch unternommen.

    `Line is busy.'
          Die angewählte Nummer ist besetzt.

    `Incoming call!'
          Das Modem  wurde  von  einem  anderen  Modem  angerufen.

    `Incoming voice call!'
          Das Modem hat einen Anruf empfangen, der nicht von einem
          anderen Modem stammt.

    `No dialtone detected!'
          Das Modem hat keinen Wählton in der Leitung entdeckt und die
          Anwahl abgebrochen.

    `Connection established.'
          Eine Verbindung wurde aufgebaut.

    `Maximum number of dial retries reached!'
          Die maximale Anzahl von Anwahlversuchen wurde erreicht.

    `Dial attempt timeout.'
          Die zum Aufbau einer Verbindung zur Verfügung stehende Zeit
          ist verstrichen.

    `Redial delay...'
          Bis zum nächsten Durchlauf der Wählliste wird gewartet.

   Zusätzlich befinden sich im Eingabefeld drei Knöpfe, mit denen die
folgenden Funktionen ausgelöst werden können:

`Skip'
     Hiermit wird der aktuelle Anwahlversuch abgebrochen und zum
     nächsten übergeleitet. Existiert keine nachfolgende
     Telefonnummer, so wird in eine Zeitschleife verzweigt, die bis zum
     nächsten Durchlauf der Wählliste oder dem Anklicken des
     `Skip'-Knopfes wartet.

     Diese Funktion läßt sich auch durch Drücken der unter
     `Hotkeys...' einzustellenden Tasten auslösen, näheres ist dort
     nachzuschlagen.

`Remove'
     Diese Funktion ist in ihrer Wirkung mit `Skip' identisch, entfernt
     den aktuellen Telefonbucheintrag allerdings komplett aus der
     Wählliste.

`Go to online'
     Sollte eine Leitung extrem verrauscht sein, die Verbindung zu einer
     Mailbox hergestellt, aber das `CONNECT' Signal verlorengegangen
     sein, so kann man durch Anwahl dieses Knopfes direkt in den
     `Online'-Modus gehen, in dem der Gebührenzähler gestartet und die
     Wählliste verlassen wird.

`Abort'
     Durch Betätigen dieses Knopfes wird die Wählliste verlassen (ihr
     Inhalt bleibt allerdings erhalten) und der Wählvorgang
     abgebrochen.

   Wird eine Verbindung erfolgreich hergestellt, so wird der
dazugehörige Eintrag aus der Wählliste entfernt.

   Wird das Fenster der Wählfunktion durch Anklicken des
Schließsymbols oder des `Quit'-Menüpunkts geschlossen, so kehrt das
Programm ins Telefonbuch zurück.


Druckfenster
=============

   Dieses Kontrollfenster ist Teil des Telefonbuches. Es wird geöffnet,
sobald der Knopf `Print' angewählt wird und erlaubt es, die
Ausgabeoptionen einzustellen.

`Output file or device'
     Hier wird der Name der Ausgabedatei oder des Ausgabegerätes
     eingetragen.

`Plain text'
     Sofern dieser Schalter aktiviert ist, wird die Liste der
     Telefonbucheinträge in reiner Textform ausgegeben, anderenfalls
     werden Steuerbefehle zur Veränderung der Textattribute (Fettdruck,
     Unterstreichen) daruntergemischt.

`Include...'
     Mit diesen Schaltern läßt sich einstellen, welche Informationen
     in denen Ausdruck mit eingehen sollen. Standardmäßig werden nur
     Name und Telefonnummer ausgedruckt.

`Use'
     Beginnt, die Liste der Telefonbucheinträge auszudrucken.

`Cancel'
     Kehrt zum Telefonbuch zurück.


Textpuffer
***********

   Der Textpuffer ist eine Programmfunktion, die ständig alle über den
Hauptbildschirm ausgegebenen Texte zwischenspeichert, sodaß sich der
Benutzer jederzeit über den eingegangenen Text informieren kann.


Generelle Eigenschaften
========================

   Der Umfang des Textpuffers wird dynamisch verwaltet, sodaß für
jede neue Zeile, die gelesen wird, neuer Speicher beschafft werden
muß. Die Größe des Textpuffers ist demnach nur durch den verfügbaren
Speicher eingeschränkt. Es wird empfohlen, den Textpuffer periodisch zu
entleeren, um nicht den gesamten verfügbaren Speicher verlorengehen zu
lassen.

   Reicht einmal der Speicher nicht aus, um eine neue Zeile in den
Textpuffer zu schreiben, so wird die erste Zeile entfernt, um Platz für
die neu hinzukommende zu machen.


Bedienung
==========

   Mit den Tasten zur Bewegung der Schreibmarke (`Cursortasten') läßt
sich der Textpufferinhalt vor- und zurückblättern (`Shift +
Cursor'-Taste blättert seitenweise, `Control + Cursor'-Taste springt
zu Anfang oder Ende des Textpuffers). Zusätzlich sind die Tasten des
Ziffernblockes mit Sprung- und Blätterbefehlen belegt (entsprechend der
Beschriftung auf der Vorderseite der Tasten).

   Zusätzlich existiert noch ein Menü, dessen Funktionen kurz
erklärt werden sollen:

`Search'
     Eine Suchfunktion wird aufgerufen, die von der aktuellen ersten
     Bildschirmzeile abwärts nach einer einzugebenden
     Buchstabenkombination sucht. Groß- und Kleinschreibung werden
     beim Suchvorgang ignoriert.

     Ist die gesuchte Buchstabenkombination gefunden, so wird sie auf
     den Bildschirm gebracht und markiert.

`Repeat search'
     Fährt mit dem Suchvorgang fort, der mit `Search' eingeleitet
     wurde. Die zuvor eingegebene Buchstabenkombination wird
     übernommen.

`Go to main screen'
     Schaltet auf den `term' Hauptbildschirm um.

`Clear buffer'
     Löscht den Inhalt des Textpuffers.

`Close buffer, Quit'
     Schließt den Bildschirm des Textpuffers, läßt dessen Inhalt aber
     unverändert.


Klemmbrett
***********

   Text am Bildschirm kann mit Hilfe der Maus markiert und in das
Klemmbrett übernommen werden:

`Im Textpuffer-Bildschirm'
     Der zu markierende Text wird mit der Maus angewählt und
     überstrichen. Bei Loslassen der linken Maustaste wird der
     markierte Text automatisch ins `Klemmbrett' übernommen.

     Einzelne Zeichen lassen sich einfach anklicken und abschicken: 
     hierzu ist die Control-Umschalttaste zu drücken und das zu
     verschickende Zeichen mit dem Mauszeiger anzuklicken.

`Im Hauptbildschirm'
     Der zu markierende Text wird mit der Maus angewählt und
     überstrichen. Ebenfalls können einzelne Wörter per Doppelklick
     markiert werden. Um den markierten Text in das `Klemmbrett' zu
     übernehmen, ist der `Copy'-Menüpunkt anzuwählen.

     Einzelne Zeichen lassen sich einfach anklicken und abschicken: 
     hierzu ist die Control-Umschalttaste zu drücken und das zu
     verschickende Zeichen mit dem Mauszeiger anzuklicken.

`Im Ausgabepuffer'
     Der zu markierende Text wird mit der Maus angewählt und
     überstrichen. Ebenfalls können einzelne Wörter per Doppelklick
     markiert werden. Um den markierten Text in das `Klemmbrett' zu
     übernehmen, ist die `Rechte Amiga-Taste + C' zu drücken.

   Am Hauptbildschirm lassen sich mit der Maus Zeichen markieren, die in
das `Klemmbrett' (Clipboard) gelegt werden sollen, um später
abrufbereit in den Eingabestrom eingespielt werden zu können. Hierzu
sind die zu markierenden Zeichen mit der Maus anzuklicken und ist der zu
übernehmende Text mit dem Mauszeiger zu überstreichen.

   Der Inhalt des `Klemmbretts' läßt sich durch Drücken von `Rechte
Amiga-Taste + V' in den Eingabestrom einspielen. Wird zusätzlich noch
eine der Umschalttasten für Groß-/Kleinschreibung gedrückt gehalten,
so wird der Inhalt des markierten Bereiches nach dem Markieren
automatisch zwischen `Paste prefix' und `Paste suffix' eingebettet
(siehe Klemmbrettfenster) den Eingabestrom eingespielt und mit einem
Zeilenrücklaufcode abgeschickt.

   Wird eine der `Alt'-Tasten gedrückt und die linke Maustaste im
Hauptbildschirm betätigt, so erzeugt `term' eine Reihe von
Cursortastensequenzen, die den Cursor an die Position bewegen sollen, an
der sich der Mauszeiger befand, als die Maustaste gedrückt wurde.
Gedacht ist diese Funktion zur Unterstützung von Full-Screen-Editoren.

   In Standard-Zeicheneingabefeldern mußte ein Weg gefunden werden, um
sowohl Menüpunkte, als auch die Standardeditierfunktionen (`Rechte
Amiga-Taste + X' löscht die Eingabezeile, `rechte Amiga-Taste + Q'
stellt den ursprünglichen Inhalt der Eingabezeile wieder her)
unterstützen zu können. Wird keine Umschalttaste (`Shift') gedrückt,
um eine der Tastenfunktionen auszulösen, so wird die jeweilige
Editierfunktion des Eingabefeldes genutzt. Wird die Umschalttaste
jedoch gedrückt, so wird der dazugehörige Menüpunkt -- sofern
vorhanden -- aufgerufen. Innerhalb der Eingabefelder läßt sich
wortweise springen, wenn zusammen mit den Tasten zur Bewegung der
Schreibmarke (`Cursortasten') die Control-Taste gedrückt gehalten wird.

   Auch hier ist das `Klemmbrett' nutzbar:  mit `Amiga-Taste + C' wird
der Inhalt des Zeicheneingabefeldes zum `Klemmbrett' kopiert, mit
`Amiga-Taste + V' wird der Inhalt des `Klemmbrettes' an die aktuelle
Schreibmarkenposition des Zeicheneingabefeldes kopiert.


Befehlssequenzen
*****************

   Jede Zeichenfolge, die direkt an das Modem gesendet wird, ist eine
Befehlssequenz. Darunter fallen Telefonnummern, Modeminitialisierung,
Funktionstastenbelegungen, etc. Zusätzlich zu den normalen
Zeichenfolgen des ASCII-Zeichensatzes werden verschiedene Zusatzbefehle
unterstützt, die im folgenden beschrieben werden sollen.


Backslash
==========

   Die folgenden Sequenzen werden durch das Zeichen `\' eingeleitet:

`\\'
     Erzeugt den `Backslash'.

`\a'
     Führt einen ARexx-Befehl (alles was diesem Zeichen folgt) aus.

`\b'
     Erzeugt ein `Backspace' (lösche das Zeichen links neben der
     Schreibmarke).

`\c'
     Ruft die Funktion eines Hauptmenüpunktes auf. Folgt diesem
     Zeichen eine Zahl, so wird diese als Nummer der Menüpunktes
     aufgefaßt (Beispiel: `\c 010203' -> Untermenü = 1, Menüpunkt =
     2, Hauptmenü = 3). Die Nummern der Menüpunkte beginnen jeweils
     mit 0, Trennbalken werden mitgezählt. Folgt dem Zeichen ein in
     Apostrophe eingeschlossener Name eines Menüpunktes, so wird
     dieser aufgerufen (Beispiel:  `\c 'about'' ruft den Menüpunkt
     `About...' auf), es wird jeweils nur der Teil des Namens
     verglichen, der angegeben wurde.

`\d'
     Führt einen AmigaDOS-Befehl (alles was diesem Zeichen folgt) aus.

`\e'
     Erzeugt das Escape-Zeichen (ASCII Code 27).

`\f'
     Erzeugt ein `Form-Feed' (Seitenvorschub oder Bildschirmlöschen).

`\g'
     Legt eine Zeichenkette (alles, was diesem Zeichen folgt) im
     `Klemmbrett' ab.

`\i'
     Speist den Inhalt des `Klemmbretts' in den Eingabestrom ein.

`\n'
     Erzeugt ein `Line-feed' (Zeilenvorschub).

`\p'
     Speist das Password des Telefonbucheintrages in den Eingabestrom
     ein, zu dem zuletzt eine Verbindung hergestellt wurde. *Das
     Password wird aus Sicherheitsgründen beim Abbruch der Verbindung
     automatisch gelöscht.*

`\r'
     Erzeugt ein `Carriage-Return' (Zeilenrücklauf).

`\t'
     Erzeugt einen Tabulatorsprung.

`\u'
     Speist den Benutzernamen des Telefonbucheintrages in den
     Eingabestrom ein, zu dem zuletzt eine Verbindung hergestellt
     wurde. *Der Name wird aus Sicherheitsgründen beim Abbruch der
     Verbindung automatisch gelöscht.*

`\x'
     Erzeugt ein Break-Signal (wie der `Send break' Menüpunkt).

`\^'
     Erzeugt das `Caret' (auch Dach genannt).

`\*'
     Der dem Stern folgende Text bestimmt, welches Zeichen erzeugt
     werden soll. Es kann entweder eine dreistellige Zahl von 0-255
     oder ein Symbolischer Name aus der folgenden Liste verwendet
     werden:

     `NUL', `SOH', `STX', `ETX', `EOT', `ENQ', `ACK', `BEL', `BS',
     `HT', `LF', `VT', `FF', `CR', `SO', `SI', `DLE', `DC1', `DC2',
     `DC3', `DC4', `NAK', `SYN', `ETB', `CAN', `EM', `SUB', `ESC',
     `FS', `GS', `RS', `US', `SP', `DEL', `SS2', `SS3', `DCS', `CSI',
     `ST', `OSC', `PM', `APC', `NBS' und `SHY'

   Wird keines dieser Zeichen erkannt, so wird der dem `\' folgende
Buchstabe ohne Veränderung in den Eingabestrom eingespeist.


Caret
======

   Dieses Zeichen dient dazu, aus dem nachfolgenden Zeichen ein
`Kontrollzeichen' zu machen. So wird aus der Sequenz `^J' ein
Zeilenvorschub, aus `^I' ein Tabulatorsprung. Das dem `^' folgende
Zeichen muß zwischen den Zeichen `@' und `[' liegen, ansonsten wird es
ohne Veränderung in den Eingabestrom eingespeist.


Tilde
======

   Dieses Zeichen läßt das Programm genau eine halbe Sekunde warten,
bevor es mit der Abarbeitung der nachfolgenden Befehle fortfährt.


Fast! Macros
*************

   Wird diese Funktion über das Menü oder die Programmkonfiguration
aktiviert, so öffnet sich am rechten Bildschirmrand ein Fenster, in dem
eine Liste von Befehlssequenzen angezeigt wird. Durch Anklicken einer
Sequenz wird diese ausgeführt. Die Funktionsweise deckt sich in etwa
mit der der Funktionstasten, einmal abgesehen davon, daß man die
Befehlssequenzen, mit denen die Funktionstasten belegt sind, nicht mit
der Maus auslösen kann.

   Mit Hilfe der `Fast! Macros' kann eine Mailbox theoretisch alleine
nur mit der Maus gesteuert werden, vorausgesetzt, man hat alle dafür
notwendigen Befehle als Befehlssequenzen zur Verfügung. Da auch
ARexx-Befehle über Befehlssequenzen aufgerufen werden können, hat man
hiermit ein sehr mächtiges Werkzeug zur Programmsteuerung zur
Verfügung.

   Das Fenster kann in der Größe verändert werden und verfügt über
annähernd dieselben Eigenschaften wie das Hauptfenster auf dem
`term'-Bildschirm, d.h. es können Menüpunkte aufgerufen oder Eingaben
über die Tastatur erfolgen.


Packet window
**************

   In diesem Fenster kann eine zu verschickende Eingabezeile bearbeitet
werden. Alle üblichen Editiermöglichkeiten in Standard-Eingabefeldern
stehen zur Verfügung (Umschalttaste+Links/Rechts springt zu Anfang/Ende
der Zeile).

   Zusätzlich existieren folgende Erweiterungsfunktionen, die durch
Drücken der Tasten zur Bewegung der Schreibmarke (`Cursortasten')
zusammen mit einer Umschalttaste (`Shift' = Umschaltung für
Groß-/Kleinschrift, `Control' = Umschaltung für normale/Steuerzeichen):

`Control + Links'
     Springt zum nächsten Wort.

`Control + Rechts'
     Springt zum vorhergehenden Wort.

`Oben'
     Zeigt den zuletzt eingegebenen Befehl in der Eingabezeile an.

`Shift + Oben'
     Springt zum ersten Befehl, der bisher eingegeben wurde.

`Unten'
     Springt zum nächsten eingegebenen Befehl.

`Shift + Unten'
     Springt zum letzten bisher eingegebenen Befehl.

   Die Eingabezeile verwaltet einen Puffer, in dem alle bisher
eingegebenen Befehle zwischengespeichert werden (`Command history').
Dieser Puffer läßt sich durchblättern, laden, abspeichern und
einzelne Zeilen lassen sich wieder aufrufen. Wie beim Textpuffer, so
wird dieser Puffer dynamisch verwaltet. Es gelten dieselben
Speicherrestriktionen wie bereits für den Textpuffer erwähnt wurde.

   Der Eingabezeile ist auch ein Menü zugeordnet, das die folgenden
Funktionen bietet:

`Load history'
     Lädt den Inhalt des Eingabezeilenpuffers aus einer Datei. Jede
     hier gespeicherte Zeile kann aufgerufen und verschickt werden.

`Save history as...'
     Speichert den Inhalt des Eingabezeilenpuffers in einer Datei.

`Clear history'
     Gibt den Inhalt des Eingabenpuffers wieder frei.

`Other window'
     Wechselt zum Hauptbildschirm von `term'.

`Quit'
     Schließt das Fenster (entspricht dem Anklicken des
     Fenster-Schließsymboles).

   Es muß darauf hingewiesen werden, daß in diesem Fenster
eingegebenen Zeichen sofort angezeigt werden, sodaß Dinge, die besser
nicht auf dem Bildschirm erscheinen sollten, wie z.B. das persönliche
Zugangskennwort einer Mailbox, besser nicht in diesem Fenster
eingegeben werden.

   Der Inhalt jeder Eingabezeile wird als Befehlssequenz angesehen und
kann also auch Steuerzeichen (a la `\p', `\i', etc.) enthalten.

   Wird eine aus dem Eingabepuffer entnommene Zeile ohne Veränderungen
abgeschickt, so wird diese nicht noch einmal in den Eingabepuffer
übernommen (`true history' wie man sie z.B. von `ConMan' kennt).

   Der Inhalt des Eingabepuffers wird nach dem Schließen des Fensters
automatisch gelöscht. Der Inhalt bleibt *keinesfalls* bis zum
nächsten Aufruf erhalten!

   Wird das Fenster groß genug gezogen, so wird die Liste der bisher
getätigten Eingaben angezeigt.


Systemvariablen
****************

   `term' legt Informationen, die beim nächsten Aufruf des Programmes
zur Verfügung stehen sollen, als AmigaDOS-Variablen in den Schubladen
`ENV:' und `ENVARC:' ab.

   Die von `term' verwendeten Variablen können transparent von dritten
Programmen verwendet und verändert werden. Im Einzelnen sind dies:

`TERMCONFIGPATH'
     Der Name der Schublade, unter der alle von `term' verwendeten
     Systemdaten (Standardkonfiguration, Telefonbuch, etc.) abgelegt
     werden sollen. Standardmäßig wird hier `ENVARC:term' eingetragen.

`TERMWINDOW'
     Die Fensterdefinition, die auch im Programm durch den Menüpunkt
     `Set console window' einzustellen ist.

`xpr...'
     Die für das jeweilige Transferprotokoll (`xprzmodem',
     `xprkermit', etc.) zu verwendenden Standardoptionen.

`xem...'
     Die für die jeweilige externe Terminalemulationsbibliothek
     (`xemvt340', `xemascii', etc.) zu verwendenden Standardoptionen.


Nutzungsgebühren
*****************

   Die Entwicklung von `term' war mit hohem Aufwand verbunden. Schon
alleine die Anstrengungen, die zu unternehmen waren, um im
Trial-And-Error-Verfahren und unter Zuhilfenahme der DevCon-Disketten
sowie Includes & Autodocs die Funktionsweise bestimmter Routinen zu
ermitteln, wäre es Wert, dem Autor eine Entschädigung für seine Mühe
zukommen zu lassen (es ist eben Pech, wenn die Atlanta-DevCon-Unterlagen
erst mit reichlicher Verspätung eintrudeln).

   Der Autor ist sehr empfänglich für alle Arten von materiellen
Gaben und Geschenken, solange gesichert ist, daß er sie auch verwenden
kann (diese niedlichen Säcke mit Elefantenfutter schickt man doch
besser an den hannoverschen Zoo). Deshalb möchte ich jedermann bitten,
dem `term' gefällt oder der den Quellcode bearbeitet, mich für meinen
Programmieraufwand so zu entschädigen, wie er/sie denkt, daß es meinen
Anstrengungen entspricht - vielen Dank!

   Wer noch keine Idee hat, der kann sich an folgender (nicht unbedingt
vollständiger) Liste orientieren:

   * Ein altes CinemaWare-Spiel (ausgenommen `Defender of the Crown',
     `The King of Chicago', `TV Sports Basketball', `TV Sports
     Football', `It came from the desert' und `Sinbad')

   * Ein altes Activision-, Electronic Arts- oder Epyx-Spiel

   * Scenery-Disketten für den SubLogic Flight-Simulator II (außer
     `Japan' und `USA #9')

   * Eine CD von den Beatles, Jackson Browne, Weather Report, Paul
     Simon (1971-1985), Eric Clapton (-1988), Al DiMeola (1977-)

   * Eine CD von Steely Dan (`Can't buy a thrill', `The early years',
     `Berry Town', `Old regime', `Stone piano', `You go where I go',
     `Founders of Steely Dan', `Sun Mountain') oder Donald Fagen (`The
     Nightfly', `The New York Rock & Soul Revue', `Teahouse on the
     tracks')

   * Einen der Filme `The meaning of life', `Jabberwocky', `Brazil',
     `The Fisher King' oder `Time Bandits' im englischsprachigen
     Original auf PAL-VHS-Videokassette

   * CD-Roms und CD-Rom Caddies

   * MPEG-Film-Dateien und JPEG-Bild-Dateien

   Wem nun doch wirklich nichts mehr einfällt und dessen Kreativität
gerade therapeutisch behandelt wird, der kann des lieben Friedens
willen notfalls auch Geld spenden. Um die Dinge nicht unnötig zu
verkomplizieren, empfehle ich die Geschichte per Überweisung auf mein
Postgirokonto (Kontonummer 2940 84-304 beim Postgiroamt Hannover, BLZ
250 100 30) aus der Welt zu schaffen.

                           Meine Anschrift:

                             Olaf Barthel
                           Brabeckstraße 35
                          D-3000 Hannover 71

                      Bundesrepublik Deutschland

                      Z-Netz: O.BARTHEL@A-LINK-H
                 Internet: olsen@sourcery.mxm.sub.org

   Wer sich den Quellcode ansieht, um hier und da Änderungen oder
Erweiterungen zu machen, der nehme doch vor einer Veröffentlichung
bitte Kontakt mit mir auf, sodaß ich unsere gemeinsamen Anstrengungen
koordinieren kann.


Entwicklungsgeschichte
***********************

   Änderungen in Version 3.2

   * Im Telefonbuch konnte kein Kennwort zur Verschlüsselung
     eingegeben werden

   * Die Dateitransferroutinen weisen jetzt bei auftretenden Fehlern
     deutlich auf die Fehlerursach hin, anstatt sofort den Transfer
     abzubrechen.

   * Einzelne Funktionen des Programmes können jetzt mit Tonsignalen
     verknüpft werden.

   * Das Programm arbeitet jetzt auch mit den `OK' und `ERROR'
     Meldungen des Modems.

   * Die Reihenfolge der im Dateitransferfenster angezeigten Meldungen
     läuft jetzt von oben nach unten anstatt von unten nach oben.

   * Die Befehle der ARexx-Schnittstelle prüften nicht nach, ob der
     Treiber der seriellen Schnittstelle verfügbar war, was zu
     unangenehmen Seiteneffekten, wie z.B: Abstürzen, führen konnte.

   * Die Oberfläche der Fast! Makros mußte überarbeitet werden.

   * Die Anzeige des Textpuffer-Bildschirms wurde nicht aktualisiert,
     wenn der Pufferinhalt gelöscht wurde.

   * Die Funktionen des Telefonbuchs und der Wählfunktion wurden neu
     geordnet und teilweise neu geschrieben. Jetzt sollten sie nicht
     mehr den Zorn des `Enforcer' auf sich ziehen.

   * Zeichen in Fettdruck überschreiben nicht mehr der Fensterrahmen.

   * Das Aussehen der Schreibmarke spiegelt den Zustand des
     Terminalfensters wieder (insbesondere, wenn das Fenster inaktiv
     oder nicht erreichbar ist).

   * Das Programm erzeugte `Enforcer'-Hits, wenn Bildsymbole zum
     Verschicken in das Hauptfenster gezogen wurden.

   * Beim Öffnen einer Mitschnittsdatei wurde mehr als einmal
     nachgefragt, ob eine bereits existierende Datei überschrieben
     werden solle.

   * Sollte Text aus dem Textpufferfenster heraus eingefügt werden,
     geschah dies erst nach dem Aktivieren des Hauptfensters.

   * Das Format der Zeichenkonvertierungstabellen wurde geändert. Die
     Daten brauchen jetzt wesentlich weniger Platz.

   * Die Größe des Ausgabefensters wird jetzt direkt den Vorgaben
     der Terminaleinstellungen angepaßt.

   * Sehr selten konnte es vorkommen, daß das Transferfenster sehr
     schmal geöffnet wurde. So schmal, daß keinerlei Text in der
     Textliste angezeigt werden konnte und `Enforcer'-Hits nicht zu
     vermeiden waren.

   * Falls eine ältere XPR-Transferbibliothek verwendet wurde,
     konnten bei mehreren zu verschickenden Dateien `Enforcer'-Hits
     auftreten.

   * Die im Telefonbuch verwendete Tastenkombination zum Auswählen
     einzelner Einträge legte nebenbei auch die Einträge in der
     Wählliste ab.

   * Das Textpufferfenster vergißt nicht mehr, an welcher Textposition
     das Fenster vor einer Größenveränderung stand.

   * Die große Eingabeschleife ist jetzt wesentlich weniger komplex.

   * Im Telefonbuch wird endlich wieder das zum Benutzernamen
     gehörende Kennwort angezeigt.

   * Auflegen der Leitung aktivierte keine eventuell vorher
     gespeicherte Konfiguration.

   * XPR-Bibliotheken die während der Initialisierung Fehlermeldungen
     über die Funktion `xpr_update()' ausgeben, bringen `term' nicht
     mehr zum Aufhängen.

   * Bei vielerlei Gelegenheiten war die Online-Zeit, die im
     Statusfeld des Hauptanzeigefensters ausgegeben wird, schlichtweg
     falsch.

   * Es ist nicht mehr möglich, Telefonbucheinträge anzuwählen, die
     weder über einen Namen noch über eine Telefonnummer verfügen.

   * Die Terminalemulation setzt vor Textbewegungen korrekt die
     Hintergrundfarbe zurück, um Farbschmierereien auf dem Bildschirm
     zu verhindern.

   * Einige, wenn nicht alle, Schnittstellentreiber hatten Probleme
     bei der Verwendung des `BeginIO()'-Befehles im Programm, wenn der
     `SendIO()'-Befehl angebrachter gewesen wäre. Die wenigen
     oberflächlichen Tests, die ich bisher unternommen habe, zeigen,
     daß Dateitransfers jetzt verläßlicher funktionieren. `term'
     arbeitet jetzt auch wieder korrekt mit dem `isdn.device' und der
     BSC `ISDN-Master'-Karte zusammen.

   * Beim Anlegen einer Mitschnittsdatei bei Verbindungsbeginn wird
     das Erzeugungsdatum nicht mehr an den Dateinamen angehängt,
     sondern in die erste Zeile der Datei geschrieben.

   * Der ARexx-Befehl `DELAY' bearbeitet jetzt auch von der
     Schnittstelle eingehenden Text, sofern dies nicht ausdrücklich
     abgeschaltet wird.

   * Der ARexx-Befehl `SENDFILE' berücksichtigt jetzt die
     Pfadeinstellungen für zu verschickende Dateien.

   * Es gibt einen neuen Parameter `QUIET', der beim Programmstart das
     Öffnen des Hauptfensters unterdrückt.

   Änderungen in Version 3.1

   * Kopieren von Einträgen des Telefonbuchs klappte in
     vorausgehenden Versionen nicht.

   * Aus der Hauptkonfiguration lassen sich Konfigurationsteile jetzt
     selektiv in die ausgewählten Telefonbucheinträge kopieren

   * Ein angewählter Eintrag kann auch direkt angewählt werden, wenn
     noch keine Liste erstellt wurde.  Einfach anklicken und den Knopf
     `Dial' drücken

   * Die Routinen zum Ver- und Entschlüsseln von Telefonbuchdateien
     sind etwas fixer geworden

   * Das Verschlüsselungspasswort für das Telefonbuch wird zweimal
     abgefragt (zur Sicherheit).

   * Kommentar, Telefonnummer, Benutzername und Passwort eines
     Telefonbucheintrages können jetzt wesentlich länger sein
     (hoffentlich reicht es jetzt!).

   * Das Telefonbuch enthält nur noch die Daten, die von der
     Hauptkonfiguration abweichen (dies spart ungemein Platz!).  Um
     für einen Telefonbucheintrag die entsprechenden Daten zu sparen,
     ist der entsprechende Konfigurationseintrag anzuwählen und auf
     den Default-Knopf zu drücken.

   * Verschlüsselte Telefonbuchdateien wurden in früheren Versionen
     ohne die dazugehörigen Gebühreninformationen gespeichert.

   * Im Kopierfenster (erreichbar aus dem Telefonbuch) gibt es einen
     neuen Schalter, der bestimmt wie die Konfigurations- einträge
     beeinflußt werden. In den vorausgehenden Versionen wurden Teile
     der Hauptkonfiguration kopiert.  Ab dieser Version kann man auch
     Teile der Konfiguration löschen lassen (die Funktion entspricht
     der des Default-Knopfes in den einzelnen Konfigurations-
     einstellfenstern).

   * Neue Funktion:  nach dem Auflegen kann jetzt auf Wunsch mit der
     Anwahl der verbleibenden Telefonnummern in der Liste fortgefahren
     werden.

   * AmigaGuide-Unterstützung ist vorhanden, aber nur unter Kickstart
     3.0. In jedem Fenster sollte man die `Help' Taste drücken können
     und danach den zum Fenster gehörenden Hilfstext zu Gesicht
     bekommen.  Sollte dies nicht möglich sein, wird dies durch
     DisplayBeep() angezeigt.  `term' verwendet als Hilfsdatei die in
     der über Locale eingestellten Sprache gehaltene
     "term.guide"-Datei (im Klartext:  ist als Primärsprache "deutsch"
     eingestellt, erwartet `term' die deutschsprachige Hilfsdatei und
     nicht die englischsprachige!).

   * Es gibt eine neue Dokumentation für das ARexx-Interface und auch
     die Dokumentation für das Hauptprogramm ist entscheidend
     verändert worden (was auch immer das bedeuten mag).

   * Das Review-Fenster ist auf BOOPSI-Gadgets umgestellt worden,
     ebenso der Puffer-Bildschirm.

   * Die Textausgabe und das Scrolling im Ausgabefenster und im
     Textpuffer sind ein ganzes Stück schneller geworden.

   * Die Suchfunktion (Textpuffer, Ausgabefenster) erkennt jetzt auch
     mehrfaches Vorkommen der gesuchten Zeichenkette in einer Zeile und
     ist zudem noch beschleunigt worden.

   * Wesentlich geringere Speicherfragmentierung durch den Textpuffer
     bei Verwendung von Kickstart 3.0.

   * Verbessertes Tab-Handling beim Speichern von Zeilen im Textpuffer.

   * Der Textpuffer verbraucht jetzt wesentlich weniger Speicher, falls
     nur aus Leerzeichen bestehende Zeilen untergebracht werden müssen.

   * Der Textpuffer verwendet jetzt dieselbe Filterfunktion wie auch
     das Hauptprogramm bei der Entscheidung, ob Zeichen am Bildschirm
     dargestellt werden können.

   * In vorausgehenden Versionen konnte es passieren, daß gespeicherte
     Zeilen im Textpuffer länger als auf dem Bildschirm darstellbar
     waren. Jetzt wird das auch in der Dokumentation angegebene Limit
     von 80 Zeichen strikt durchgehalten.  Ausnahmen gibt es nur noch
     bei Bildschirmauflösungen, in denen nicht alle 80 Zeichen
     dargestellt werden können.

   * Das Ausgabepuffer-Fenster kann jetzt nur noch so breit geöffnet
     werden, wie die Länge der Zeilen im Textpuffer es diktiert
     (maximal 80 Zeichen).

   * Das Ausgabepuffer-Fenster verfügt jetzt über dieselben
     Funktionen (naja, fast...) wie der Textpuffer-Bildschirm.

   * Der Textpuffer-Bildschirm sieht jetzt etwas anders aus (das
     Scroller-Gadget hat sich verändert), außerdem wird jetzt korrekt
     der eingestellte Bildschirm-Zeichensatz verwendet.

   * Der Textpuffer schluckt nicht mehr ganz soviel Hauptspeicher.

   * Die Berechnung, ob eine Datei beim Empfang noch auf die Diskette
     passen wird, bezog in die Berechnung nie die bereits empfangenen
     Daten ein. Dieser Fehler ist jetzt beseitigt.

   * Um Dateien zu verschicken, kann man die dazugehörigen Icons auf
     das Workbench-Fenster von `term' legen (natürlich nur, wenn
     `term' auf der Workbench läuft).

   * Statt der Dateityperkennung kann jetzt eine Funktion aktiviert
     werden, mit der die Herkunft, Zeit und Datum des Downloads einer
     Datei in den Dateikommentar eingetragen werden.

   * Geht ein Dateitransfer schief, bleibt das Transferfenster so lange
     geöffnet, bis es ausdrücklich vom Anwender geschlossen wird. 
     Vorsicht: die xprzmodem.library liefert nicht bei jedem
     gescheiterten Dateitransfer einen Fehler zurück, mit dem etwas
     anzufangen ist.

   * Aus Sicherheitsgründen wird, falls der `override download path'
     Schalter aktiv ist, die Funktion zum Löschen von Dateien des
     XPR-Protokolles lahmgelegt.

   * Die Funktion des XPR-Protokolles zum Verändern der Einstellungen
     der seriellen Schnittstelle ist aus Sicherheitsgründen lahmgelegt
     worden.

   * Das XPR-Interface sortiert Dateien vor der Übertragung nur noch
     alphabetisch, die Größe der Dateien wird nicht mehr beachtet.

   * Die Namen verschickter und empfangener Dateien werden jetzt
     korrekt mit Pfadname, etc.  im Transferfenster angezeigt.

   * Der Datei-Transfer-Prozeß wurde entfernt.

   * `term' läuft jetzt auch auf der Workbench.  Unter Kickstart 3.0
     wird versucht bei aktiviertem 8- oder 16-Farbmodus die
     entsprechenden Farben des Workbench-Bildschirms zu benutzen. 
     `term' wird sich weigern, auf der Workbench zu laufen, wenn
     Kickstart 2.x verwendet wird und der eingestellte
     Systemzeichensatz in Proportionalschrift gehalten ist.

   * Einige Fehler in der eingebauten Terminalemulation wurden
     beseitigt, darunter auch der allseits beliebte Fehler, daß beim
     Scrollen des Bildschirms die Hintergrundfarbe verlorenging (ein
     historischer Fehler, der seit der ersten `term'-Version existiert
     zu haben scheint).

   * Dem Programm liegt jetzt der IBM 11-Punktzeichensatz bei, der von
     Bernhard F.  Muller gespendet wurde.

   * Ich war sehr erstaunt feststellen zu müssen, daß der
     Terminal-Emulations-Prozeß nie aktiviert wurde, da die zur
     Aktivierung notwendigen Bedingungen sehr selten erfüllt wurden. 
     Da auch der Datei-Transfer-Prozeß seinen Sinn nicht ganz
     erfüllte, wurde er mitsamt des Terminal-Emulations-Prozesses
     entfernt.  Vielleicht wird er in einer zukünftigen Version wieder
     implementiert.

   * Die Terminal-Emulation sollte ein Stückchen schneller geworden
     sein.

   * Das Vorhandensein der diskfont.library im System ist jetzt
     unverzichtbar geworden.

   * Soll das serial.device zurückgesetzt werden, erfolgt vorher noch
     eine Sicherheitsabfrage, falls man noch online ist.

   * Der Name der Datei, in der CallInfo-kompatible Informationen zu
     getätigten Anrufen abgelegt werden können, kann jetzt komplett
     eingestellt werden.  Außerdem wird die angerufene Telefonnummer
     endlich korrekt in der Datei ausgegeben.

   * Im Statusfenster werden jetzt auch Mailboxname, Telefonnummer,
     Kommentar, Benutzername und ARexx-Portname angezeigt.

   * Die Anordnung der Menüs hat sich wieder einmal geändert.

   * Eine Neue Funktion ist im Hauptmenü verfügbar:  `Wait' schickt
     jede Sekunde "<Space><Backspace>" zum seriellen Treiber.  Dies
     verhindert, daß man aus einer Mailbox geworfen wird, während man
     z.B.  zwischdurch einmal kurz den Rechner alleine lassen muß,
     weil es an der Haustür geklingelt hat.

   * Der Speicherbedarf des Programmes ist wieder einmal gestiegen,
     langsam wird es mit nur einem Megabyte Hauptspeicher sehr eng...

   * Neue Tooltypes und Kommandozeilenoptionen.

   * Der `SETTINGS'-Tooltype/-Parameter kann jetzt nicht nur zum
     Angeben eines nach den Einstellungsdateien zu durchsuchenden
     Directories verwendet werden, sondern auch direkt zur Auswahl
     einer bestimmten Datei.

   * Es kann ein Public-Screen angegeben werden, auf dem das
     `term'-Fenster geöffnet werden soll.

   * Die Routinen zum Ausführen von AmigaDOS- und ARexx-Programmen
     arbeiten jetzt wesentlich zuverlässiger.

   * Das Programm ist jetzt wesentlich geschickter bei der Bestimmung
     der Größe von Transfer- und Telefonbuchfenster.

   * Die Liste der Telefonnummern im Telefonbuch sieht nicht mehr allzu
     seltsam aus, wenn mit aktiviertem Proportionalfont Einträge
     angewählt werden, ebenso bei den Gebühreneinstellungen.

   * Im Hauptfenster lassen sich jetzt Bereiche mit der Maus per
     Doppelklick markieren.  Die markierten Bereiche bleiben stehen,
     bis sie per Amiga+C kopiert oder ausdrücklich gelöscht werden
     (ähnlich wie in normalen Console-Fenstern).  Denselben Mechanismus
     beim Textpuffer-Bildschirm zu implementieren, habe ich nicht über
     mich bringen können.

   * Das neue ARexx-Interface ist endlich fertig!
