GEM 2.0 — ein Blick unter die Motorhaube

Warum es eine gute Idee ist, ins TOS die Erweiterungen aus GEM 2.0 einzubauen

Auf der CeBIT-Pressekonferenz antwortete die Atari-Führung auf die Frage nach einem Update des ST-GEM mit der provokanten Gegenfrage, ob man denn den »Rückschritt« in GEM 2.0 nachvollziehen solle. Dies wurde von der anwesenden, offenbar weniger gut informierten Fachpresse als gekonnter Kalauer beklatscht — scheinbar fällt es vielen schwer, den begrifflichen Unterschied zwischen dem Desktop und den zugrundeliegenden Betriebssystemfunktionen zu erkennen: GEM 2.0 kann nach wie vor mehrere überlappende Fenster verwalten!

Vor etwa vier Jahren stellte Digital Research zum erstenmal seine grafische Betriebssystemerweiterung GEM (Graphics Environment Manager) für PCs vor — gerade rechtzeitig, um den Auftrag zu bekommen, es auch auf den ST zu portieren. Obwohl optisch Anleihen am Macintosh-Betriebssystem nicht zu verkennen sind, handelt es sich doch um eine völlig eigenständige Entwicklung. Wie durch ein Wunder ähnelten die drei zunächst verfügbaren GEM-Programme (der Desktop, GEM-Paint und GEM-Draw) verblüffend den MAC-Programmen Finder, MacPaint und MacDraw.

Apple und Digital Research einigten sich außergerichtlich. Die Folge: An GEM wurden einige kosmetische Änderungen vorgenommen. Beispielsweise wurden die wachsenden und schrumpfenden Rechtecke beim Öffnen und Schließen von Windows gestrichen und die Window-Rahmen geändert. Ganz umgeschrieben wurde das Desktop, der seitdem nur noch über zwei starre Fenster verfügt. Als ST-Benutzer hat man davon nichts mitbekommen, weil das Atari-GEM nicht Gegenstand des Rechtsstreit war.

Das alles wäre für den ST-Besitzer völlig uninteressant, hätte Digital Research nicht die Gelegenheit genutzt, andere, tiefergehende Änderungen vorzunehmen und die überarbeitete Version als GEM 2.0 auf den Markt zu bringen.

Die niederländische Firma ABC erwarb letztes Jahr die Rechte für die ST-Version der Digital-Research-Programme und portierte konsequenterweise die aktuelle GEM-Version auf den ST. Beginnen wir mit den offensichtlichen Unterschieden. Das Desktop verfügt nur noch über zwei starre Fenster. Das Löschen von Dateien geschieht nun über einen Menüeintrag, eine Liste der logischen Laufwerke erhält man, wenn man ein Window, das ein Rootdirectory anzeigt, schließt. Das Design der Fensterkomponenten ist geringfügig verändert: Inaktive Fenster erkennt man am hellgrauen Window-Namen. Beim Öffnen und Schließen der Fenster werden keine wachsenden und schrumpfenden Rechtecke gezeichnet. Das Desk-Menü ist an den rechten Rand gewandert und trägt jetzt immer den Namen der aktiven Applikation. Alertboxen zeigen sich nicht mehr im Outline-, sondern im Shadowed-Stil. All dies sind lediglich kosmetische Änderungen, insbesondere sind nach wie vor überlappende Windows erlaubt, nur nutzt der Desktop selbst sie nicht.

Offensichtliche funktionale Änderungen gab es nur wenige — Accessories mit Menüleiste und eine verbesserte Datei-Auswahlbox gehören dazu. Intern gab es allerdings eine ganze Reihe von Erweiterungen.

Beginnen wir beim AES: Über die APPL-Library übergibt man nun dem AES Informationen über die vorhandenen logischen Laufwerke. Diese benutzt nicht nur die Dateiauswahlbox zum Umschalten zwischen logischen Laufwerken, sondern auch das Desktop. Diese Funktion scheint übrigens die einzige zu sein, die es »verhindert«, das neue Desktop auf dem alten GEM zu starten. Neu ist auch APPL_YIELD, das EVNT_TIMER(O) entspricht.

Neue EVNT-Funktionen gibt es keine, wohl aber einen neuen Message-Typ: Eine Applikation erhält die Mitteilung UNTOP-PED, bevor ein von ihr benutztes Window überschrieben wird — eine echte Erleicherung bei der Fensterverwaltung. Die neue Funktion MENU_UNREGISTER erlaubt es auch, Einträge von Drop-Down-Menüs zu entfernen.

Bei der Objektverwaltung hat sich wenig getan. Lediglich zwei neue »object states« sind dazugekommen: 0x0040 (DRAW3D) und 0x0080 (WHITEBAK) — diese Werte besser vorläufig nicht mehr in eigenen Programmen benutzen!

Der SCRP-Bibliothek wurde SCRP_CLEAR hinzugefügt, mit der man alle Dateien im aktuellen SCRAP-Verzeichnis löscht.

Der File-Selektor, einer der bisherigen Kritikpunkte, wurde in zwei wichtigen Details geändert. Zunächst wechselt man zwischen den logischen Laufwerken, indem man im Root-Directory die Close-Box anklickt. Daneben ist es erlaubt, im Pfadnamen auch eine Liste von Extensions anzugeben.

SHEL_WRITE soll ab GEM 2.0 auch das dynamische Nachladen und Starten von Programmen erlauben. Dies konnte bei der ABC-Implementation noch nicht verifiziert werden — über die Details dieser speziellen Umsetzung werden wir noch berichten.

Ganz neu hinzugekommen ist die XGRF-Library (extended graphics), die Ersatz für die weggefallenen grafischen Effekte bietet. Beim VDI gab es nur sehr geringe Änderungen, die in erster Linie verschiedene Gerätetreiberfunktionen betreffen. So wurde beispielsweise der Bildschirmtreiber um zwei sehr einfache Soundbefehle erweitert.

Eine Veränderung des Erscheinungsbilds ist also überhaupt nicht nötig, eine Nachrüstung der funktionellen Erweiterungen wäre völlig ausreichend. Damit wäre auch für die Zukunft die Kompatibilität zum PC-GEM gesichert.

Hoffnung darauf, daß Atari nach wie vor aktiv am ST arbeitet und damit vielleicht auch mal wieder Hand an GEM anlegt, besteht durchaus: Mitte Mai erwarb Atari eine Lizenz für ein vollkommen neu geschriebenes GDOS, das einer unserer freien Mitarbeiter — Arnd Beissner — entwickelte. Wir berichten in Kürze auch darüber. (uh)

Der Beweis: Auch GEM 2.0 verwaltet überlappende Fenster

Julian F. Reschke
Aus: ST-Magazin 08 / 1988, Seite 69

Links

Copyright-Bestimmungen: siehe Über diese Seite