Files
FireBee_Setup/mint/tools/toswin2/doc/toswin2.stg
2022-10-02 10:09:40 +02:00

896 lines
33 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@if VERSION >= 6
@os atari
@charset atarist
@inputenc atarist
@lang "de"
@endif
@database "TosWin2"
@author "Christian Felsch"
@$VER: 2.7
@subject "Dokumentation/Sonstiges"
@options "+z -s"
@node "Titel" "TosWin2: Inhalt"
@limage logo.img 36
TosWin2
Version 2.7
von
Christian Felsch
@{U}Inhalt:@{0}
Allgemeines
Systemvoraussetzungen
Installation
@{"Die Men<65>leiste" link Men<65>leiste}
@{"Das Klemmbrett" link Klemmbrett}
@{"Die Kommandozeile" link Kommandozeile}
@{"Das Programm tw-call.app" link tw-call.app}
@{"Das Environment" link Environment}
@{"Unterst<73>tzte Protokolle" link Protokolle}
@{"Bekannte Fehler" link Fehler}
Interna
Entwicklungsgeschichte
@endnode
@pnode "Christian Felsch"
Kontaktaufnahme:
Christian Felsch
Adalbert-Stifter-Str 33
63477 Maintal
email: C.Felsch@@gmx.de
Christian Felsch @@ HH
@endnode
@node "Allgemeines" "TosWin2: Allgemeines"
@{U}Allgemeines@{0}
@autorefoff
Unter Multitasking-Umgebungen ist es n”tig, daž die Ausgaben von TOS-
Programme nicht direkt auf den Bildschirm geschrieben sondern in ein
Fenster umgeleitet werden. Diese Funktion wurde bereits von den alten
Versionen von TosWin mehr oder weniger komfortabel gel”st.
TosWin2 ist nun der Versuch, die verschiedenen Versionen von TosWin 1.4
in einer einzigen zu vereinigen. Folgende alten TosWin-Versionen sind in
TosWin2 eingeflossen:
ù das Original von Eric Smith (Version 1.4)
ù die Erweiterungen von Warwick Allison
ù der VT100-Emulator von Julian Coleman (TW100)
TosWin2 ist, wie alle anderen Versionen auch, Public Domain. Das
Programm und die Quellen d<>rfen frei verteilt werden.
TosWin2 besteht aus folgenden Dateien:
ù toswin2.app Das Programm mit Resource
toswin2.rsc
ù tw-call.app Das Programm zur Kommunikation AES -> TosWin2
ù term/tcapinf Die Terminal-Definitionen von Petr Stehlik.
ù term/test100.vt Eine Datei zum Test des VT100-Emulators.
Einfach mit `cat test.vt` ausgeben lassen.
ù hyp/* Der Hypertext f<>r ST-Guide
ù xconout/* Das Device f<>r die Console
Die aktuelle Version ist hier zu finden:
ù Mailboxen
Maus Hamburg (040 - 53897013)
ù Internet
http://www.tu-harburg.de/~alumnifc/
@autorefon
@endnode
@node "Systemvoraussetzungen" "TosWin2: Systemvoraussetzungen"
@{U}Systemvoraussetzungen@{0}
Die wichtigsten Unterschiede zu den alten Versionen sind folgende:
@{B}TosWin2 l„uft nicht mehr als Accessory@{0}
@{B}TosWin2 l„uft z.Zt. nur N.AES bzw. AES >= 4.1!@{0}
TosWin2 benutzt diverse AES-Erweiterungen des AES 4.1, ohne vorher
explizit auf deren Vorhandensein zu testen.
Der von TosWin2 ben”tigte GEMDOS-Call Pfork() ist inzwischen zwar auch
in MagiC (ab 6.10) verf<72>gbar aber leider gibt es noch verschiedene
Inkompatibilit„ten, so daž TosWin2 derzeit noch nicht mit MagiC eingesetzt
werden kann. Da der Programmierer von MagiC aber kontinuierlich am GEMDOS
von MagiC arbeitet, k”nnte es sein, daž TosWin2 in Zukunft auch damit
benutzt werden kann!
@endnode
@node "Installation" "TosWin2: Installation"
@{U}Installation@{0}
Die Installation von TosWin2 gestaltet sich relativ einfach. Die Dateien
sollten alle im gleichen Verzeichnis liegen.
Das Kommunikationsprogramm tw-call.app sollte bei N.AES angemeldet werden,
und zwar in der Datei N_AES.CNF mit der Zeile
export TOSRUN=c:\system\toswin\@{tw-call.app ignore}
Es bietet sich an, TosWin2 automatisch beim Booten zu starten. Dazu kann
man ebenfalls in der N_AES.CNF folgende Zeile eintragen:
run x:\...\toswin2.app
Der Hypertext kann irgendwo abgelegt werden, ST-Guide sollte ihn aber
finden.
Falls es die Datei /etc/termcap im System bereits gibt, sollte der Inhalt
aus den Dateien tw52.tc und tw100.tc dort eingef<65>gt werden. šber Termcap
informieren sich UNIX-Programme <20>ber die F„higkeiten der Emulationen von
TosWin2.
Zur Installation des xconout-Devices zum Umleiten der Console-Ausgaben
wird auf das beiliegende ReadMe verwiesen.
@endnode
@node "Men<65>leiste" "TosWin2: Men<65>leiste"
@{U}Die Men<65>leiste@{0}
Datei Fenster Optionen
@line 1 74 0 0 1
@box 2 28 4 0
@box 31 16 4 0
@box 48 26 8 0
TOS-Programm starten... O Console ”ffnen Fensterwechsel global
Shell starten @{G}----------------@{0} Men<65>-Shortcuts benutzen
@{G}----------------------------@{0} Wechseln W Immer Loginshell
Ende Q Schliežen U @{G}--------------------------@{0}
Console konfigurieren...
Fenster konfigurieren...
@{G}--------------------------@{0}
Einstellungen sichern S
@index "Men<65>-Shortcuts „ndern"
Die Shortcuts werden aus der Resource ermittelt, so daž sie dort auch
ver„ndert werden k”nnen. Dazu d<>rfen folgende Zeichen verwendet werden:
ù Alle Buchstaben, Zahlen und Sonderzeichen
ù Funktionstasten: F1 .. F10
ù Schl<68>sselw”rter: DEL, ESC, HELP, HOME, INS, TAB, UNDO
Zus„tzlich k”nnen den o.g. Zeichen noch die drei <20>blichen Umschalttasten
vorangestellt werden (auch kombiniert):
 f<>r Shift
^ f<>r Control
 f<>r Alternate
@index Men<65>-Hilfe
Wird ein Men<65>punkt mit gedr<64>ckter Control-Taste angeklickt, wird die
entsprechende Position im Hyptertext angesprungen. Daf<61>r setzt TosWin2
voraus, daž ST-GUIDE bereits gestartet ist und den Hypertext findet.
@endnode
@node "TOS-Programm starten" "TosWin2: TOS-Programm starten"
@{U}TOS-Programm starten@{0}
šber diesen Men<65>punkt kann ein neues TOS-Programm gestartet werden. Dazu
wird einfach die Programmdatei in der Dateiauswahlbox ausgew„hlt.
Nachdem man ein Programm ausgew„hlt hat, bekommt man noch die M”glichkeit,
Start-Parameter einzugeben.
@endnode
@node "Shell starten" "TosWin2: Shell starten"
@index Loginshell
@index utmp-Datei
@index wtmp-Datei
@index passwd-Datei
@{U}Shell starten@{0}
šber den Men<65>punkt ist es m”glich, eine Kommandoshell zu starten.
Welche Kommandoshell gestartet werden soll, wird in der Datei /etc/passwd
festgelegt. TosWin2 verwendet aus dieser Datei Homeverzeichnis und
Loginshell des aktuellen Users. Um den aktuellen User zu ermitteln wertet
TosWin2 zun„chst die Variable LOGNAME aus. Ist diese nicht gesetzt, wird
die effektive User-ID verwendet.
Je nachdem Men<65>-Schalter Immer Loginshell werden entweder alle oder
nur die erste Shell als sogenannte Loginshell gestartet. Von der
Loginshell wird der User in die Dateien /etc/utmp und /var/adm/wtmp
vermerkt und aužerdem wertet die Shell zus„tzliche Dateien aus
(bash: ~/.bash_login, tcsh: ~/.login).
F<EFBFBD>r jede gestartete Shell werden die Environmentvariablen HOME und SHELL
mit den entsprechenden Werten aus der /etc/passwd besetzt.
Die Shell-Funktion wird insbesondere vom GEMinit-Paket von Ulrich Kaiser
benutzt.
@endnode
@node "Ende" "TosWin2: Ende"
@index SIGHUP
@{U}Ende@{0}
šber diesen Men<65>punkt wird TosWin2 beendet.
Dabei werden s„mtliche Fenster geschlossen, eventuell noch laufenden
Prozesse erhalten ein SIGHUP. Wenn noch eine Loginshell offen ist, wird
der User korrekt aus /etc/utmp und /var/adm/wtmp abgemeldet.
@endnode
@node "Console ”ffnen" "TosWin2: Console ”ffnen"
@index xconout2
@{U}Console ”ffnen@{0}
Damit die Console benutzt werden kann, muž das Device xconout2 von Torsten
Scherer (TeSche) installiert sein. Dieses Device f„ngt s„mtliche
Ausgaben ab, die Programme direkt auf den Bildschirm machen und stellt
sie einem anderen Programm <20>ber eine Pipe zur Verf<72>gung.
TosWin2 bietet die M”glichkeit, diese Ausgaben in ein Fenster umzuleiten,
so daž sie nicht mehr direkt auf dem Bildschirm landen.
Wird das Fenster iconifiziert, ”ffnet es sich automatisch, sobald neue
Ausgaben kommen.
Wird das Fenster geschlossen, meldet sich TosWin2 bei xconout2 ab und die
Ausgaben erscheinen wieder direkt auf dem Bildschirm. Es bietet sich also
an, die Console immer durch TosWin2 ”ffnen zu lassen und man braucht sich
nie mehr <20>ber wilde Ausgaben zu „rgern!
Ob TosWin2 die Console <20>berwacht kann man daran erkennen, ob die Datei
u:\dev\tw-con existiert.
@endnode
@node "Fensterwechsel global" "TosWin2: Fensterwechsel global"
@index AV-Server
@{U}Fensterwechsel global@{0}
Ist dieser Schalter aktiviert, wird der Fensterwechsel nicht von TosWin2
durchgef<EFBFBD>hrt, sondern eine entsprechende Anweisung an den AV-Server
geschickt. Vorteil ist der, daž man von Fenstern von TosWin2 zu denen
des Desktops und anderen Programmen gelangt (sofern diese Programme ihre
Fenster beim AV-Server angemeldet haben).
Damit das funktioniert, muž der AV-Server (in aller Regel ein Desktop wie
Thing oder Jinnee) entsprechend im Environment (n_aes.cnf) angemeldet
sein:
export AVSERVER=THING
@endnode
@node "Men<65>-Shortcuts benutzen" "TosWin2: Men<65>-Shortcuts benutzen"
@{U}Men<65>-Shortcuts benutzen@{0}
šber diesen Schalter kann man einstellen, ob TosWin2 die im Men<65> ein-
getragenen Shortcuts benutzt oder nicht. Wenn ein Shortcut ausgewertet
wurde, steht dieser nat<61>rlich nicht mehr als Eingabe im obersten
Fenster zur Verf<72>gung!
Wer also eine Tastenkombination aus dem Men<65> unbedingt als Eingabe in
das Fenster ben”tigt, kann entweder diesen Schalter vor<6F>bergehend
abschalten oder aber den Shortcut dauerhaft aus der Resource
(toswin2.rsc) l”schen.
@endnode
@node "Immer Loginshell" "TosWin2: Immer Loginshell"
@{U}Immer Loginshell@{0}
Wird dieser Schalter gesetzt, werden alle Shells als @{Loginshell link "Shell starten"} gestartet.
Ansonsten ist nur die erste Shell eine Loginshell.
@endnode
@node "Console konfigurieren" "TosWin2: Console konfigurieren"
@{U}Console konfigurieren@{0}
šber den Dialog kann das Verhalten des @{Console-Fensters link "Console ”ffnen"} eingestellt
werden.
Folgende Parameter stehen zur Verf<72>gung:
ù Beim Start anlegen Dieser Schalter veranlasst TosWin2 das
Console-Fenster automatisch beim Start
zu ”ffnen.
ù Bei Ausgaben ”ffnen Ist dieser Schalter gesetzt, wird das
iconifizierte oder eingeklappte (shaded)
Console-Fenster wieder ge”ffnet, sobald
neue Ausgaben kommen.
ù Mitschrift in Datei Die im Fenster erscheinenden Ausgaben
k”nnen in einer Datei abgelegt werden.
Sollte die Option "Bei Ausgaben ”ffnen" deaktiviert sein, werden neue
Ausgaben im iconifizierten Fenster durch ein optisch ver„ndertes Icon
angezeigt.
@endnode
@node "Fenster konfigurieren" "TosWin2: Fenster konfigurieren"
@{U}Fenster konfigurieren@{0}
Bei TosWin2 k”nnen die Parameter f<>r jedes Programm individuell einge-
stellt werden. Im Gegensatz zu den alten Versionen merkt sich TosWin2
nicht nur verschiedene Fensterattribute sondern auch die Position des
Fenster. Das bedeutet, daž z.B. die Loginshell immer an der gleichen
Position ge”ffnet wird.
Nachteil der neuen Methode: da es pro Programm nur einen Satz Parameter
gibt, beziehen sich Žnderungen immer auf alle offenen Fenster, in denen
das betroffene Programm l„uft. Aužerdem ist es z.Zt. nicht m”glich, daž
TosWin2 sich gestartete Programme merkt und sie beim n„chsten Mal
automatisch startet.
šber den Men<65>punkt wird der Konfigurationsdialog aufgerufen. Ist gerade
kein Fenster offen, das konfiguriert werden kann, k”nnen die Standard-
Einstellungen gemacht werden. Wof<6F>r die Konfiguration wirksam wird,
erkennt man an dem eingeblendeten @{Titel ignore}.
F<EFBFBD>r jedes Fenster k”nnen folgende Parameter eingestellt werden:
ù Gr”že: Spalten und Zeilen geben die maximal Gr”že des
Fenster an, d.h. die Gr”že, die eingestellt wird,
wenn man den Fuller bet„tigt.
Wird ein Puffer angegeben (xxx Zeilen), werden
die Ausgaben gepuffert und man kann im Fenster
xxx Zeilen zur<75>ckscrollen.
ù Zeichensatz: Es kann ein beliebiger, nicht-proportionaler GDOS-
Zeichensatz verwendet werden.
F<>r die Auswahl muž ein xFSL-kompatibles Programm
(z.B. Calvino) oder WDialog ()MagiC-Auswahl) vor-
handen bzw. ein Font-Server abgemeldet sein (z.B.
Thing).
Unter "Tabelle" kann man einstellen, wie die
Tastendr<64>cke interpretiert werden. Derzeit stehen
Atari und ISO-Codierung zur Verf<72>gung.
ù Sonstiges: Mit dem Schalter "Zeilen umbrechen" wird eingestellt,
ob lange Zeilen, die nicht in das Fenster passen,
umbrochen werden oder nicht.
šber den Schalter "autom. schliežen" kann eingestellt
werden, ob das Fenster nach Beendigung des Programms
sofort geschlossen wird.
ù Elemente: Es kann frei definiert werden, welche Elemente das
Fenster habe soll.
Aužerdem kann ein @{Titel ignore} eingegeben werden.
Wird kein Titel eingetragen, wird der Programmname
verwendet.
ù Terminal: TosWin2 bietet sowohl die tw52 als auch die tw100-
Emulation. Da TosWin2 VT52 bzw. VT100 nicht komplett
emuliert, verwendet es die eigenen Terminal-Namen.
Eine Žnderung der Emulation wirkt erst nach erneutem
Start des betroffenen Programms aus.
Neben dem Terminal-Typ k”nnen aužerdem noch die
Vorder- und Hintergrundfarbe eingestellt werden.
Neben den im Dialog get„tigten Einstellungen merkt sich TosWin2 die
Position der Fenster und ob sie beim Sichern der Einstellungen
iconifiziert sind.
@endnode
@node "Einstellungen sichern" "TosWin2: Einstellungen sichern"
@index toswin2.cfg
@{U}Einstellungen sichern@{0}
Die Parameter werden in die Datei toswin2.cfg gespeichert. Dabei werden
die Daten in einer lesbaren Form abgelegt. Wer die Datei von Hand in
einem Editor „ndert, sollte genau wissen, was er tut :-)
Beim Start sucht TosWin2 diese Datei auf verschiedenen Pfaden:
1. Auf dem Pfad in der Variablen HOME
2. Auf dem Pfad HOME/defaults
3. Im Startverzeichnis von TosWin2
4. Im aktuellen Verzeichnis
@endnode
@node "Klemmbrett" "TosWin2: Klemmbrett"
@index Blockmarkierung
@{U}Das Klemmbrett@{0}
TosWin2 unterst<73>tzt das GEM-Klemmbrett.
In allen Fenstern k”nnen Textbereiche mit der Maus selektiert werden.
Die bekannten Funktionen "Kopieren" und "Einf<6E>gen" werden dabei z.T.
automatisch ausgel”st. Folgende Funktionen stehen zur Verf<72>gung:
ù Linke Taste dr<64>cken, halten und ziehen zum Markieren von Text.
Wird die Taste losgelassen, wird der markierte Text sofort auf
das Klemmbrett geschrieben.
Ist bereits ein Block markiert, kann durch Dr<44>cken der Shift-
Taste die Markierung ver„ndert werden.
ù Durch einen Doppelklick-Links kann ein Wort markiert werden.
Ein Wort besteht aus Buchstaben, Zahlen und den g„ngigen Zeichen
f<>r Dateinamen.
ù Mit einem Rechts-Klick wird der Inhalt der Klemmbrett in dem
aktuellen Fenster eingef<65>gt.
ù Durch Dr<44>cken der HELP-Taste wird der markierte Text an ST-Guide
geschickt.
@index StringServer
ù Wird ein markierter Bereich einmal angeklickt, wird der Text an
den StringServer geschickt.
StringServer ist ein n<>tzliches Tool, das Strings an verschiedene
Programme verschickt. So kann z.B. in TW2 eine URL mariert werden
und <20>ber den Server an CAB geschickt werden.
N„heres dazu: http://www.bright.net/~atari/files/sspb2909.lzh
TosWin2 schreibt den Text genau so in das Klemmbrett, wie er von dem
TOS-Programm ausgegeben wurde, d.h. es werden keinerlei Blanks ein-
gef<EFBFBD>gt oder Zeilenenden ver„ndert.
@endnode
@node "Kommandozeile" "TosWin2: Kommandozeile"
@{U}Die Kommandozeile@{0}
TosWin2 wertet beim Start seine Kommandozeile aus. Derzeit werden
folgende Kommandos ausgewertet:
ù "-l" bewirkt, daž TosWin2 nach dem Start sofort ein Fenster mit
einer (Login)-Shell ”ffnet.
ù Ein Programmname wird <20>bergeben. Dabei enth„lt das erste Argument
den Pfad des Programmes (in TOS- oder UNIX-Schreibweise), alle
weiteren Argumente werden von TosWin2 an das gestartet Programm
weitergereicht.
Beispiel: toswin /bin/sh -c script
@endnode
@node "tw-call.app" "TosWin2: tw-call.app"
@{U}Das Programm tw-call.app@{0}
Das Programm tw-call.app sollte von N.AES zum Nachstarten von TOS-
Programmen benutzt werden (-> Installation).
Der Sinn von tw-call besteht darin, die Daten des zu startenden TOS-
Programms an TosWin2 weiterzuleiten. Dadurch wird erreicht, daž immer
nur @{I}ein@{0} TosWin2 laufen muž, das sich um @{I}alle@{0} TOS-Programme k<>mmert.
Dabei reicht tw-call nicht nur, wie das alte RunTos, Programmname und
Argument sondern zus„tzlich noch das aktuelle @{Environment ignore} und das
Standardverzeichnis an TosWin2 weiter.
Neben dem Weitereichen der Programmdaten hat tw-call noch eine andere
Aufgabe: Wenn ein GEM-Programm ein TOS-Programm nachstartet (z.B.
eine TeX-Shell das tex.ttp) erwartet die Shell in der Regel eine
Nachricht, wann das TOS-Programm beendet ist. Aužerdem kann der
R<EFBFBD>ckgabewert des TOS-Programms von Interesse sein.
Das alte RunTos hat sich sofort nach der šbermittlung der Programm-
daten beendet, die TeX-Shell bekommt also von dem eigentlichen @{Ende ignore}
des tex.ttp <20>berhaupt nichts mit.
Das neue tw-call verh„lt sich anders: nachdem es die Daten an TosWin2
<EFBFBD>bermittelt hat, wartet es so lange, bis TosWin2 es informiert, daž
das TOS-Programm sich beendet hat. TosWin2 <20>bergibt dabei an tw-call
den R<>ckgabewert des TOS-Programms. Mit diesem Wert beendet sich
schliežlich tw-call. F<>r das aufrufende Programm sieht es nun so aus,
als ob die eintreffende CH_EXIT-Meldung von dem TOS-Programm selbst
stammt und es kann den korrekten R<>ckgabewert verarbeiten.
tw-call ist damit derzeit die einzige M”glichkeit, um unter N.AES die
erweiterten Modi von @{"shel_write()" link tos.hyp/shel_write} (šbergabe von Startverzeichnis und
@{Environment ignore}) und korrekte CH_EXIT-Meldungen auch bei TOS-Programmen
zu realisieren.
tw-call tr„gt sich in dem Programm-Men<65> von N.AES mit dem Namen des
TOS-Programms ein. Wird solch ein Eintrag angeklickt, schickt tw-call
eine Nachricht an TosWin2 und das zugeh”rige Fenster wird getoppt.
Wird tw-call mit "-l" als Parameter z.B. direkt vom Desktop aus gestartet,
schickt es TosWin2 eine Nachricht, woraufhin dieses eine neue Shell
startet. Damit wird die Funktionalit„t "Shell starten" aus TosWin2
herausgereicht und man kann sie <20>ber ein Icon auf dem Desktop oder durch
Belegung einer F-Taste schnell erreichen.
Wird tw-call ohne irgendwelche Parameter gestartet, schaut es lediglich
nach, ob TosWin2 bereits l„uft und startet es ggf. nach.
@endnode
@node "Environment" "TosWin2: Environment"
@{U}Das Environment@{0}
F<EFBFBD>r die nachgestarteten Programme tr„gt TosWin2 ein Environment ein.
Dazu wird beim Programmstart <20>ber Men<65> bzw. beim Start einer Shell
eine Kopie des aktuellen @{B}AES@{0}-Environments angelegt. Das AES-
Environment wird benutzt, da es sich zur Laufzeit „ndern kann. Beim
Start durch tw-call wird das <20>bergeben Environment benutzt.
TosWin2 tr„gt einige zus„tzliche Variablen ein. In allen drei F„llen
sind das:
ù TERM mit "tw52" bzw. "tw100", je nach der benutzen Emulation.
ù LINES,
COLUMNS mit der aktuelle Fenstergr”že.
Zus„tzlich werden f<>r die Shell zwei weitere Variablen gesetzt:
ù HOME mit dem Homeverzeichnis aus der /etc/passwd
ù SHELL mit der Loginshell aus der /etc/passwd
Falls es die Anzahl der Argumente beim Start durch tw-call erfordert,
wendet TosWin2 das ARGV-Verfahren an.
@endnode
@node "Protokolle" "TosWin2: Protokolle"
@index Cookies
@index xFSL
@index AP_TERM
@index VA_START
@index AV_STARTED
@index Drag&Drop
@index SC_CHANGED
@{U}Unterst<73>tzte Protokolle@{0}
TosWin2 pr<70>ft einige Cookies und unterst<73>tzt verschiedene Protokolle
bzw. AES-Nachrichten.
@{U}Cookies@{0}
ù xFSL Fontauswahl mit Clavino oder HuGo.
@{U}Empfangene Nachrichten@{0}
ù AP_TERM TosWin2 meldet dem AES, daž es diese Nachricht
versteht und verh„lt sich bei derem Empfang genau
so, wie wenn man den Men<65>punkt Ende w„hlt.
ù VA_START Bisher wird als Argument nur "-l" verstanden. Es
bewirkt, das TosWin2 ein neues Shell-Fenster ”ffnet.
šber diese Nachricht kann jedes anderen Programm
TosWin2 dazu veranlassen, eine neue Shell zu starten.
TosWin2 antwortet mit AV_STARTED, damit der Aufrufer
den Speicher wieder freigeben kann.
ù AP_DRAGDROP TosWin2 unterst<73>tzt das Drag&Drop-Protokoll:
Vom Desktop k”nnen Programme und Verzeichnisse, von
anderen Programmen Texte auf den Fenstern abgelegt werden.
Wird ein Verzeichnis auf ein Fenster mit einer Shell
gelegt, schickt TosWin2 es mit einem vorgestellten
"cd " an die Shell, so daž diese das Verzeichnis
wechselt. Dateiname oder Pfad werden in UNIX-
Schreibweise (/c/auto/...) gewandelt und das be-
troffenen Fenster wird getopped.
ù FONT_CHANGED Antwort des Font-Servers.
@{U}Verschickte Nachrichten@{0}
ù AV-Protokoll F<>r Fensterwechsel <20>ber AV meldet sich TosWin2 mit
entsprechenden Meldungen beim AV-Server an.
ù Drag&Drop In TosWin markierte Text-Bl”cke k”nnen als ".TXT"
in andere Fenster gezogen werden.
ù FONT_SELECT Wird an einen Font-Server geschickt.
ù SC_CHANGED Nachdem TosWin2 das Klemmbrett ver„ndert hat, werden
alle anderen Applikationen dar<61>ber informiert.
ù VA_START An ST-Guide f<>r die Online-Hilfe bzw. an den
StringServer.
@endnode
@node "Fehler" "TosWin2: Fehler"
@{U}Bekannte Fehler@{0}
ù Das neue Parameterkonzept f<>r die Fenster erlaubt z.Zt. kein
automatisches Starten von Programmen beim Start von TW selbst.
ù Das wortweise Selektieren mittels Doppelklick ist manchmal etwas
schwierig, da man den Doppelklick innerhalb der Zeit f<>r die
Timerevents (50ms) schaffen muž :-))
ù Aus bisher unerfindlichen Grunden ist die VT100-Ausgabe beim
Scrolling etwas tr„ger als die VT52-Ausgabe.
ù Bei mindestens zwei Leuten treten Probleme im Zusammenhang mit
einer PPP-Verbindung zu einem UNIX-Rechner auf. Keiner weiž, was
hier passiert!?
@endnode
@node "Interna" "TosWin2: Interna"
@index TIOCSWINSZ
@index SIGWINCH
@index Pipe
@index Font-Protokoll
@index VT100-Grafik
@{U}Interna@{0}
Hier noch ein paar Informationen, die f<>r den reinen Anwender kaum
von Interesse sein d<>rften und eher f<>r den Programmierer gedacht
sind.
ù @{"Protokoll zwischen tw-call und TosWin2" link TW-Protokoll}.
ù TosWin2 teilt die aktuelle Fenstergr”že dem Prozež bei dessen
Start <20>ber Fcntl(fd, &tw, TIOCSWINSZ) mit.
Wird die Gr”že ge„ndert, w„hrend ein Prozež l„uft, setzt TosWin2
folgendes ab:
Fcntl(t->fd, &tw, TIOCSWINSZ);
Pkill(-t->pgrp, SIGWINCH);
Die Shells bash und tcsh z.B. reagieren darauf, in dem sie die
Werte in den Variablen LINES und COLUMNS entsprechend anpassen.
ù TosWin2 benutzt f<>r die Pipes zu MiNT-Net kompatible Namen.
Angelegt werden die Pipes unter u:\pipe\ttyp[0-9a-f], es sind
also maximal 16 Fenster gleichzeitig m”glich. Wenn TosWin2 die
Pipe anlegt, wird automatisch ein Link in u:\dev mit gleichem
Namen erzeugt, da einige Programme das TTY im Device-Ordner
erwarten.
ù TosWin2 unterst<73>tzt die Fontauswahl nach dem Font-Protokoll.
Dazu ruft es den <20>ber die Environment-Variable "FONTSELECT"
angemeldete Fontauswahl auf.
Aužerdem kann aus einer entsprechenden Fontauswahl (z.B. Thing)
ein Font per D&D auf ein offenes Fenster gezogen werden.
ù VT100-Grafik:
TosWin2 wertet die Steuersequenzen ShiftIn (0x0E) und ShiftOut
(0x0f) bzw. ESC-(0 und ESC-(B zur Umschaltung zwischen ASCII-
und Grafikzeichensatz aus. Ist der Grafikzeichensatz aktiv,
werden die Buchstaben entsprechend der Abbildung auf die Grafik-
zeichen umgemappt. TosWin2 verh„lt sich dabei so wie ein XTerm
unter UNIX. Damit das funktioniert, muž ein entsprechender ANSI-
Zeichensatz (TMAIL, Connect Light) eingestellt sein.
@limage table.img 10
@endnode
@node "TW-Protokoll" "TosWin2: TW-Protokoll"
@{U}Kommunikation zwischen tw-call und TosWin2@{0}
Die Kommunikation zwischen tw-call und TosWin2 l„uft <20>ber mehrere
Nachrichten ab. Zum Datenaustausch wird Shared-Memory benutzt, so
daž es keine Probleme mit der Memory Protection gibt.
Folgende Nachrichten werden ausgetauscht:
TWSTART (0x0CF1), tw-call -> TosWin2
tw-call fragt bei TosWin2 an, ob dieses bereit ist, Daten
zu empfangen.
TWOK (0x0CF2), TosWin2 -> tw-call
Antwort von TosWin2 auf TWSTART.
TWWRITE (0x0CF3), tw-call -> TosWin2
tw-call hat die Daten im SharedMem abgelegt. Der Block steht
unter dem Namen u:\shm\tw-call.xxx zur Verf<72>gung, wobei xxx
f<>r die GEM-ID von tw-call steht. Der Block hat folgende
Struktur:
char name[256] Programmname mit Pfad.
char pfad[256] Aktuelles Verzeichnis.
char arg[4096] Die Argumente, getrennt durch "\n".
char env[4096] Das @{Environment ignore} als Kopie aus der
Basepage von tw-call.
TWREAD (0x0CF4) TosWin2 -> tw-Call
TosWin2 hat die Daten ausgelesen.
TWERR (0x0CF5) TosWin2 -> tw-call
Beim Auslesen trat ein @{Fehler ignore} auf.
Neben den Nachrichten f<>r die šbergabe der Programmdaten, werden
noch folgende verschickt:
TWTOP (0x0CF6) tw-call -> TosWin2
Der Men<65>eintrag eines TOS-Programms wurde angeklickt und
TosWin2 soll das zugeh”rige Fenster toppen.
TWSHELL (0x0CF7) tw-call -> TosWin2
Wird tw-call mit der Option "-l" gestartet, schickt es TosWin2
diese Nachricht, woraufhin TosWin2 eine neue Shell startet.
@endnode
@node "Entwicklungsgeschichte" "TosWin2: Entwicklungsgeschichte"
@{U}Entwicklungsgeschichte@{0}
@autorefoff
@{U}Version 2.7 from 07.04.01@{0}
ù changed default cursor to underline (ugly block cursor is still
available as "very visible", i. e. "tput cvvis")
ù colors are now fully ansi-compatible
ù terminal capabilities `bold' and `dim' are now represented using
light resp. half-bright colors where applicable
ù support for alternate character set (pc graphics)
ù TERM is automatically set to `tw52-m' or `tw100-m' if less than
8 colors are available
ù terminfo source files updated (many bugfixes), recompile
it with tic on the target system
ù environment variable COLORTERM is set to 1 if color support available
ù The horizontal slider has vanished. If you want to get it back
call me at office hours and keep your credit card at hand. Please
allow six weeks for delivery.
ù The checkbox for so-called auto-wrapping has vanished. Explanation:
It really enabled semi-automatic margins, i. e. printing in the
last column caused a line-break. Now both tw52 and tw100 have
proper automatic margins and there is no more need for such a
user-definable feature.
ù Ultra-smart srcolling. ;-)
Displaying large amounts of data is now 3-9 times faster.
ù Implemented origin mode.
ù Implemented full (RSI) and soft (DECSTR) terminal reset.
@{U}Version 2.6 vom 09.09.00@{0}
ù Wenn keine Fontauswahl verf<72>gbar ist und man trotzdem versucht, den
Font zu „ndern, werden die Fontdaten nicht mehr zerst”rt.
ù 'Gl”ckchen'-Problem der tw100-Emulation gefixed.
ù Timeout f<>r den Fall eingebaut, daž tw-call nicht antwortet.
ù NULs in Ausgaben werden ignoriert.
ù TW2 nutzt das neue Farb-Popups von Heiko Achilles (CF-Lib).
@{U}Version 2.5 vom 19.09.99@{0}
ù Da TW2 die Emus vt52 und vt100 nicht vollst„ndig abbildet, wird
jetzt TERM jetzt wieder auf tw52 bzw. tw100 gesetzt.
ù Korrekturm am Redraw des Icon-Fensters.
ù Man kann markierten Text per D&D in andere Fenster ziehen,
aužerdem werden jetzt auch D&D-Daten vom Typ ".TXT" akzeptiert.
ù tw-call meldet sich beim AES mit dem Namen des TOS-Programms an,
sodaž ein appl_find(TOSName) die ID von tw-call liefert und dar<61>ber
das Fenster erreichbar ist.
@{U}Version 2.4 vom 16.04.99@{0}
ù TW2 l„žt sich jetzt mit PureC <20>bersetzen, so daž sich deutlich
kompaktere Programme ergeben.
ù Text-Markierung <20>ber Fenstergrenzen hinweg.
ù Das autom. Schliežen der Fenster ist jetzt lokale Option.
ù Neue Funktionen f<>r die Console: ™ffnen bei Ausgaben, Mitschrift
in Datei, optische Anzeige im Icon bei neuen Ausgaben.
ù TW2 benutzt nun die Standard-Terminals vt52/vt100 statt tw52/tw100.
ù Diverse Bugfixes und Korrekturen.
@{U}Version 2.3 vom 29.10.98@{0}
ù Markierte Bl”cke k”nnen an ST-Guide bzw. an StringServer geschickt
werden (Dank an Jo Even Skarstein)
ù Zeichentabelle w„hlbar (Atari, ISO Latin1) (Dank an Jo Even Skarstein)
ù Vorder/Hintergrundfarbe im Fenster sind konfigurierbar.
ù RSC-Versions-Kontrolle
@{U}Version 2.2 vom 19.07.98@{0}
ù Umgestellt auf @{CF-Lib link cflib.hyp/main}
ù Men<65>-Shortcuts werden jetzt aus der RSC ermittelt. Tasten, die
Shortcuts sind, kommen nat<61>rlich nicht mehr im Fenster an.
ù Fontauswahl im Fenster (xFSL, FONTSERVER, MagiC)
ù TW2 verschickt AV_STARTED als Antwort auf VA_START, damit
der Aufrufer den Speicher freigeben kann. (Bei der 2.1 kam
es in diesem Zusammenhang zu Speicherm<72>ll, der z.B. zu fehler-
haften Font-Daten oder Abst<73>rzen f<>hrte)
ù Beim Fensterwechsel werden nun auch die Dialoge beachtet.
ù Fensterwechsel <20>ber AV-Server m”glich.
ù Neuer Men<65>schalter, um die Auswertung der Shortcuts abzuschalten.
ù Neuer Men<65>schalter, damit alle Shells als Loginshell gestartet
werden.
ù Die aktuelle Fenstergr”že wird in der CFG gesichert, bisher wurde
das Fenster immer in max. Gr”že (Zeilen/Spalten) ge”ffnet.
@{U}Version 2.1 vom 19.02.98@{0}
ù Žnderung der Parameter:
tw-call.app ohne alles startet nur noch TW2.
"-l" (toswin2.app und tw-call.app) startet Loginshell.
ù Die Fensterverwaltung kam beim Toppen/UnToppen/OnToppen durch-
einander, so daž Tasteneingaben ins falsche Fenster gingen.
ù D&D beim Draggen mehrere Dateien korrigiert.
ù Neue termcap/terminfo und ein paar Patches f<>r die Farbdarstellung
von Petr Stehlik.
ù Ein paar Korrekturen an den USERDEFs f<>r prop. Systemfonts.
ù Korrektur am Fensteredraw bei High/TrueColor Aufl”sungen.
ù Fontprotokoll (Dank an Jo Even Skarstein).
ù Fensterdialoge.
ù Zwar noch keinen englischen Hyp, daf<61>r aber wenigstens eine RSC.
@{U}Version 2.0 vom 05.08.97@{0}
Erste ”ffentliche Version. Darin haben sich folgende Dinge gegen<65>ber
der alten Version ge„ndert ("-": entfernt, "+": neu):
- Die sogenannten "Application Menus", d.h. die Men<65>s, die f<>r das
jeweilige Programm mit einer MNU-Datei definiert wurden, wurden
entfernt.
- Die Copyrightbox im Fenster mit dem Icon f<>r das Klemmbrett ist
durch eine normale, ohne Fenster ersetzt.
- Die Unterscheidung zwischen "Std Window" und "Alt Window" wurde
abgeschaft. Aužerdem macht TosWin2 keine direkten Zugriffe auf
LineA mehr.
- Konfigurierbarkeit des Klemmbretts ersatztlos entfallen.
- Die Men<65>shortcuts k”nnen nicht mehr im Programm eingestellt werden.
- Konfiguration des Environments ist nicht mehr m”glich.
- Die globalen Optionen "Florishes", "Point to type" und "Smooth
scrolling" sind entfallen. "Align Windows" ist Standard und kann
nicht abgeschaltet werden.
- Das Men<65> zur Ausl”sen von Fensteraktionen (Gadges).
- Wegen grober Rechenzeitverschwendung gibt es kein Cursor-Blinken
mehr.
- Die TOSRUN-Pipe wird nicht mehr ben”tigt.
+ Externe Resource.
+ Neues, auf das wesentliche reduziertes @{Men<65> link Men<65>leiste}.
+ Hypertext und Men<65>-Hilfe.
+ Neue Dialoge mit modernen Elementen.
+ Neue @{Klemmbrettverwaltung link Klemmbrett}.
+ Neue Funktion @{Shell link "Shell starten"}.
+ Neue Funktion @{Console link "Console ”ffnen"}.
+ Neues Konzept zur @{Fensterkonfiguration link "Fenster konfigurieren"}.
+ TosWin2 wertet seine Kommandozeile aus.
+ @{TW-Call link tw-call.app}
+ TosWin2 kann jetzt VT52 und VT100. VT100 kann mit geeignetem Font
+ @{"Drag&Drop" link Protokolle}.
+ Fontauswahl <20>ber UFSL (XUFSL, Calvino, HuGo).
+ Diverse Kleinigkeiten wie echtes Iconify, Nutzung der MiNT-Domain,
Fenster k”nnen nach hinten gestellt werden.
@autorefon
@endnode