Copyright (C) 1990-1992 Olaf Barthel und MXM 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. Programmfehler *************** `term' ist ein erschreckend komplexes und umfangreiches Programm (etwa 1,6 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. 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. Bei der Entwicklung kamen der SAS/C `C' Compiler 5.10b, WShell, CygnusEd Professional 2 & ARexx zum Einsatz. 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, Markus Stoll, Martin Berndt, Matthias Zepf, Michael Vaeth, Michael Wolfgang Hohmann, Oliver Wagner, Peter Fischer, Ralf Thanner, 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, eine Routine (`ahtoi') habe ich mir von Matthew Dillon ausgeborgt, 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. Wird eine neue `term'-Version von mir angefordert, so sollte angegeben werden, ob weitere Updates gewünscht sind, wie lange und wieviele neue Versionen verschickt werden sollen. Die entsprechende Gebühr für eine einzige Updateversion beträgt im Gebiet der Bundesrepublik Deutschland DM 2,40 (Porto) plus DM 2,60 (zwei Disketten -- wenn ich preiswertere Qualität entdecke, schicke ich die Differenzsumme mit). Sobald eine neue Programmversion verfügbar ist, werde ich es im Z-Netz bekanntmachen (Brett `RECHNER/AMIGA/ALLGEMEIN'). Ü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'). 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: `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. `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. `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. `KEEPIO (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 `KEEPIO' aufgerufen wird (z.B. `term KEEPIO'). Das Shell-Fenster kann nachfolgend erst nach Programmende geschlossen werden. `DONTPOP (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 `DONTPOP' in der Shell ein (z.B. `term DONTPOP'), 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 *********** Der Bildschirm öffnet sich 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. Ein ARexx-Programm, das sich mit synchronen Befehlen an das ARexx-Interface wendet, wird warten müssen, bis das Hauptprogramm wieder `aufgeweckt' 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 ===== Hier befindet sich eine einzige Funktion, mit der der aktuelle Inhalt des `Klemmbretts' in den Eingabestrom eingespielt werden kann. `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). 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 Datei `termRexx.dok' beschrieben. `Set 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. 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. `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). `Change emulation parameters' Ein Kontrollfeld wird geöffnet, in dem sich interne Parameter der aktuellen Terminalemulation verändern lassen. Eine genauere Beschreibung ist unter Emulationsfenster zu finden. 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. `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 des `Libs:' Verzeichnisses 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. 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. `Screen size' Die Größe des Terminalfensters in Zeichen. `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. `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' 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. `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. `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. `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: `Amiga (Blinking)' Vier Farben, inklusive Blinkfunktionen. `8 Colours (Blinking)' Acht Farben, inklusive Blinkfunktionen. `16 Colours' Sechtzehn Farben, entsprechend der EGA Farbpalette. `Mono' 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. `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. `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. `Bell sound file' Der Name einer IFF-8SVX-Sound-Datei, die gespielt werden soll, wenn am Terminal ein BEL-Signal eingeht. Lautstärke und Abspieldauer werden der jeweiligen Datei entnommen. *Aus technischen Gründen kann die Sound-Datei nicht länger als 102.400 Bytes sein!* `Use' Verwende die aktuellen Einstellungen. `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 calls' Mit diesem Schalter läßt sich `term' dazu bewegen, im Verzeichnis, in dem Protokolldateien zu finden sind (siehe `Log file'), eine Datei anzulegen, die Informationen über Telefonverbindungen enthält. Die Informationen sind in einem Format abgelegt, das kompatibel zu dem von `NComm' ist. Die jeweilige Datei heißt immer `term-call.log'. `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. `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.* `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 und des Verbindungsdatums trägt. `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. `Enable XPR transfer server' Üblicherweise wird die Aufgabe, den Inhalt des Transferfensters zu aktualisieren, an einen Parallelprozeß übergeben. Dies kann z.B. bei hoher Speicherfragmentierung zu Geschwindigkeitseinbußen führen und mit diesem Schalter abgeschaltet werden. `Enable terminal emulation server' Die Terminalemulation wird üblicherweise von einem parallel laufenden Prozeß bedient. Dies kann z.B. bei hoher Speicherfragmentierung zu Geschwindigkeitseinbußen führen und mit diesem Schalter abgeschaltet werden. `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, dieses lokal einzustellende Verzeichnis 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. `Try to identify file types' Nachdem eine Datei empfangen wurde, wird normalerweise versucht, den Typ einer Datei zu identifizieren und das Ergebnis in den Dateikommentar einzutragen. Mit diesem Schalter kann dieses Verhalten verändert werden. 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' Das Verzeichnis, 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. `Use' Verwende die aktuellen Einstellungen. `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. `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. 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. `Smooth scrolling' Falls aktiviert, schaltet diese Funktion das Bildschirm-Scrolling (vertikale Verschiebung) von zeilenweiser Verschiebung in viertelzeilige Verschiebung. `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. `Cancel' Erhalte die ursprünglichen Einstellungen. 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. Ebenfalls angezeigt wird die Effektivität der Übertragung in Hinsicht auf den größten physikalisch möglichen Wert. `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. 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 ein Doppelklick auf einen dieser Einträge ausgeführt, so wird dieser an das Ende der Wählliste gehängt (dazu später mehr). Drücken der Leerschrittaste hat denselben Effekt wie doppeltes Klicken auf einen Listeneintrag. `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. 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 Username 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 *********** 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. 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. Die mittlere Maustaste hat -- sofern vorhanden -- dieselbe Funktion wie die mit einer `Shift'-Taste zusammen gedrückt gehaltene linke Maustaste. 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. Mit Hilfe der Maus können in der Anzeige des Textpuffers Zeichen markiert werden, die in das `Klemmbrett' übernommen werden sollen und später mit der Funktion `Paste' in den Eingabestrom eingespeist werden können. Wird eine der `Shift'-Tasten gedrückt gehalten, so wird der markierte Bereich wie am Hauptbildschirm in den Eingabestrom eingespielt. 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. 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 `^H' 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 Verzeichnissen `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 des Verzeichnisses, unter dem 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 (wer noch keine Idee hat: ich suche nach dem Quellcode für einen Modula-2 Compiler, `ARJ', den kompletten `GNU-Emacs' oder den kompletten `GNU-C' Compiler. Wer mir eine besondere Freude machen möchte, der kann mir eines der folgenden Infocom-Adventures `Arthur and the quest for Excalibur' oder `Leather Goddesses of Phobos' (alle Formate, Amiga, Atari-ST, MS-DOS, C64, etc. sind willkommen), ein altes CinemaWare-Spiel (ausgenommen `Defender of the Crown' und `Sinbad') oder einen der Filme `Monty Python and the Holy Grail', `The life of Brian' oder `The meaning of life' im englischsprachigen Original auf PAL-VHS-Videokassette schenken - vielen Dank! 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.