Bedienungskomfort für jeden ST: Die Entstehungsgeschichte der Gemini-Shell

Bild 1. Gemini erlaubt, neue Icons zu gestalten und sie über Wildcards anzusprechen

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?

Bild 2. Individuelle Icons bringen Übersicht ins prall gefüllte Directory

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.

Bild 3. Erweiterte Funktionen des »Voreinstellungen«-Menüs

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.

Bild 4. Gemini im Einsatz: Icons für jeden Zweck bringen Übersichtlichkeit.

Unix-Syntax an MS-DOS anpassen

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.

Bild 5. Die »Mupfel«-Shell rufen Sie direkt von Gemini aus auf

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

Übersicht: eingebaute Befehle der Shell

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

Julian F. Reschke
Aus: ST-Magazin 02 / 1990, Seite 22

Links

Copyright-Bestimmungen: siehe Über diese Seite