Herbst 1988: Finsternis liegt über der Gemeinde der ST-Programmierer und -Anwender. Die einen mühen sich mit den verschiedensten Command-Line-Interpretem ab. Manche sind zu simpel, manche fehlerhaft, manche zu nichts kompatibel. Die wenigen guten sind teuer oder kommen nicht mit deutschen Tastaturen zurecht.
Die anderen benutzen nach wie vor den eingebauten Desktop, bei dem man nichts, aber auch gar nichts, mit der Tastatur anstellen kann. Erwachsene Leute brechen in Tränen aus, weil sie auf ihrer Festplatte nichts wiederfinden. Wo bleibt die Rettung?
Eine verrauchte Kneipe in Münster, der »Westfalenmetropole«. Der harte Kern der hiesigen ST-Programmierer beschließt, mit dem Elend Schluß zu machen. Gereon Steffens, Unix- und C-Kenner par excellence, bietet an, eine »richtig« gute Shell zu schreiben. Stefan Eissing macht sich daran, dem Atari-Desktop den Garaus zu machen.
Ein Jahr ist ins Land gegangen, und »Gemini« ist auf die stattliche Größe von 160 KByte angewachsen. Die Besucher der Atari-Messe konnten in zwei Workshops bereits einen Blick auf Gemini werfen. Was leistet Gemini?
Fangen wir mit dem Desktop an: Gemini kann selbstverständlich fast alles, was auch der Atari-Desktop kann. Es stellt Dateien als große oder kleine Icons oder auch als Text dar. Im Textmodus lassen sich Datums- und Größenanzeige wahlweise abschalten. Die Ausgabebreite paßt sich stets an die Fenstergröße an - daher gibt es keinen horizontalen Slider — bei ausreichender Fensterbreite wird der Text mehrspaltig ausgegeben. Für verschiedene Dateinamen lassen sich auch eigene Icons installieren Wie alle Teile von Gemini nutzen die Anzeigeregeln nicht die ausdrucksschwachen TOS-Wildcards, sondern die leistungsfähigeren »Regular Expressions«, die auch von Unix-Shells verwendet werden. Wem die mitgelieferten Icons nicht gefallen oder wer noch mehr Icons benötigt, braucht nur zu einem Resource Construction Set zu greifen und weitere Bildchen zu entwerfen.
Die Fenster bedienen Sie fast vollständig über die Tastatur. Mit < Control W > blättern Sie zwischen den Fenstern (wie bei Turbo-C). Die Buchstabentasten steuern bestimmte Dateien an. Ein Druck auf < D > positioniert beispielsweise das Fenster so, daß es möglichst alle mit < D > beginnenden Dateien zeigt In Verbindung mit < Shift > passiert dasselbe mit Ordnernamen. Die Cursortasten scrollen auf- und abwärts. < Backspace > schließt den aktuellen Ordner und — sehr wichtig— < Undo > macht alle Fensteroperationen wieder rückgängig.
Weiter geht’s: Alles, was in Fenstern zu sehen ist, können Sie auch herausnehmen und auf dem Desktop-Hintergrund ablegen — auch Dateien und Ordner. Beispiel: Wir nehmen das Icon »TC.PRG« aus dem Fenster und legen es in die Bildschirmecke. Zunächst sorgen wir mit dem »Get Info«-Dialog für den aussagekräftigeren Namen »Turbo C«.
Von nun an starten Sie Turbo-C einfach durch Doppelklick auf das Icon, das von nun an immer nach dem Laden in der Bildschirmecke erscheint. Natürlich dürfen Sie auch andere Objekte auf das neu installierte Icon »draggen« (bewegen mit gedrückter linker Maustaste). Zwei Dateien mit Quellcodes ausgewählt und auf das Turbo-C-Icon gelegt — schon startet Turbo C und lädt beide Dateien.
Selbst Accessories installieren und starten Sie als Icons auf dem Desktop. Gemini versendet dazu eine in der Dokumentation beschriebene AES-Message, um die Kommandozeile an das Accessory zu schicken. Mit dem PD-Clipboard-Accessory der Geiß-Brüder schon jetzt möglich: Ein Doppelklick auf eine IMG-, GEM- oder TXT-Datei öffnet ein Fenster, in dem der Dateiinhalt erscheint.
Besonderer Clou: Gemini merkt sich nicht nur den kompletten Zugriffspfad, sondern auch den Namen der Diskette und fordert im Zweifelsfall zum Einlegen der richtigen Diskette auf — selbstverständlich funktioniert das auch mit Wechselplatten.
Bleibt noch zu erwähnen, daß Sie die Batch-Dateien der eingebauten Shell hundertprozentig wie ausführbare Programme behandeln, sie also als Icon installieren oder mit Kommandozeile auf-rufen können.
Die Laufwerk-Icons sind genauso flexibel wie die Programm-Icons. Außerdem gibt es natürlich noch den »Eraser« zum Löschen von Dateien. In den Papierkorb gelegte Dateien hingegen werden erst auf ausdrückliche Anweisung hin gelöscht.
Kommen wir nun zur integrierten Unix-Shell, die intern die eigentliche Arbeit leistet — selbst wenn man sie nicht sieht. Sie läuft im Console-Fenster, in das sämtliche TOS-Bildschirmausgaben, auch von externen Programmen, umgeleitet werden. Die Größe des Fensters ist frei wählbar. Zur Textausgabe können Sie alle nicht-proportionalen GDOS-Fonts ansprechen. Bei Verwendung der mitgelieferten GDOS-Zeichensätze packen Sie so auch 80x25 Zeichen ins Fenster.
Die Shell selbst bietet alles, was man von einer Unix-Shell unter TOS erwarten darf, bis auf die noch in der Entstehung begriffene Shell-Programmiersprache. Ein- und Ausgabeumleitung, die Unterstützung des »system()«-Aufrufs über die Systemvariable »Shell_p« und erweiterte Kommandozeilen nach dem XARGs-Verfahren sind selbstverständlich.
Zur Befehlseingabe steht ein leistungsfähiger Zeileneditor mit »History« zur Verfügung: Mit den Cursortasten können Sie die bisher erfolgten Eingaben noch mal durchsehen und dann gegebenenfalls wiederholen.
Mit »aliasen« passen Sie bei Bedarf die Unix-Syntax weitgehend an MS-DOS-Gewohnheiten an. Über Environment-Variablen legen Sie das Verhalten von Gemini beim Starten einzelner Programme detailliert fest — mit oder ohne Maus, mit Wechsel des aktuellen Verzeichnisses oder nicht, im Console-Fenster oder nicht.
Alle Dialogboxen von Gemini bedienen Sie auch über die Tastatur. Sie haben besonders hübsche Mac-maßige Buttons und lassen sich bei Bedarf (Trommelwirbel!) auf dem Bildschirm verschieben — und zwar bei Blitter-Maschinen als solider Bildschirmausschnitt.
Gemini testeten wir erfolgreich auf TOS 1.2, TOS 1.4, TOS 1.6 und TOS 3.0 auf dem TT. Die Shell schreckt weder vor Bigscreen, Overscan noch vor Großbildschirmen mit 256 Graustufen zurück. Zum Betrieb benötigen Sie unbedingt 1 MByte RAM und mindestens Blitter-TOS. Eine Festplatte ist nicht unbedingt nötig, jedoch empfehlenswert.
Zur ersten Gemini-Distribution gehören die Programmdateien, AMCGDOS mit Fonts, etwa 80 KByte Dokumentation und einige Beispielprogramme zur Benutzung des XARG-Verfahrens und des »system()«-Aufrufs.
Gemini ist ein Shareware-Programm, was Sie keinesfalls mit Public-Domain-Software verwechseln sollten. Deshalb bekommen Sie Gemini auch in keinem professionellen PD-Versand. Gemini darf frei weiterkopiert werden, wer es jedoch regelmäßig benutzt, sollte den beiden Autoren seinen Obolus von 50 Mark entrichten. (tb)
Bezugsquellen
Diverse Mailboxen, z.B.:
MAUS Bonn, MAUS Münster oder direkt bei den Autoren gegen Einsendung eines frankierten Rückumschlags mit formatierter doppelseitiger Diskette:
Gereon Steffens, Elsterweg 8, 5000 Köln 90
Stefan Eissing, Dorfbauernschaft 7, 4419 Laer-Holthausen
Befehl | Bedeutung |
---|---|
alias | Synonym setzen |
backup | Sicherheitskopien von Dateien anlegen |
blitmode | Blitterstatus abfragen/verändern |
cat | Datei ausgeben |
cd | Directory wechseln |
chmod | Dateiattribute verändern |
cp | Datei kopieren |
date | Datum setzen/anzeigen |
df | freien Platz auf Laufwerk anzeigen |
dirs | Directorystack anzeigen |
du | Platzbedarf von Directories anzeigen |
echo | Text ausgeben |
exit | Shell verlassen |
file | Dateityp ermitteln |
fkey | Funktionstaste setzen/anzeigen |
hash | bereits gemerkte Pfadnamen anzeigen |
help | Kurzhilfe zu den eingebauten Kommandos |
init | Diskette initialisieren |
label | ändert den »Volume name« des Laufwerks |
ls,lu,lc,ll | Directory anzeigen |
mkdir | Directory anlegen |
mv | Datei verschieben |
pause | auf Benutzereingabe warten |
pushd,popd | Pfadnamen auf Stack packen und zurück holen |
pwd | aktuelles Directory anzeigen |
rename | Extensions von Dateien verändern |
rm | Dateien löschen |
rmdir | Directory löschen |
set | Shell-Variable setzen |
setscrap | Clipboard-Directory setzen |
setenv | Environment-Variable setzen |
show, env | Variablen anzeigen |
shrink | freien Speicherplatz verringern |
timer | Timer setzen/abfragen |
touch | Filedatum aktualisieren |
tree | Directory-Tree anzeigen |
version | verschiedenste Versionsnummern anzeigen |
WC | Zeichen, Wörter und Zeilen zählen |
whereis | Dateien suchen |