GEMScript ist ein Protokoll, um GEM-Applikationen fernzusteuern. Das Protokoll selbst ist sehr einfach gehalten, so daß es für Programmierer kein großes Problem darstellt, GEMScript in ihren Programmen zu unterstützen.
Diese Dokumentation definiert dieses GEMScript-Protokoll und ist somit in erster Linie an Programmierer gerichtet. Wohlgemerkt handelt es sich bei GEMScript noch nicht um ein konkretes Programm, sondern nur um die Definition einer Kommunikation zwischen GEM-Programmen:
Die am häufigsten auftretende Anwendung einer Kommunikation mittels GEMScript dürfte die durch einen Script-Interpreter darstellen. Einen solchen Interpreter stellt z.B. "Scripter" von Holger Weets dar. Festgelegt durch ein Script in einer Sprache, die dieser Interpreter versteht, verschickt der Interpreter über das definierte GEMScript-Protokoll Kommandos an GEM-Programme, die dann die gewünschten Aktionen ausführen:
Natürlich können auch GEM-Programme ohne einen Script-Interpreter untereinander per GEMScript kommunizieren.
Die hohe Flexibilität des GEMScript-Protokolls eröffnet sich dadurch, daß in keinster Weise die Kommandos vorgeschrieben sind, die versendet werden. Es ist nur definiert wie Kommandos verschickt werden, nicht aber welche Kommandos dies sind.
Jede Applikation kann also ihre eigenen Kommandos bereitstellen, je nach dem, welche Fähigkeiten sie eben hat. Ein Zeichenprogramm wird beispielsweise sicher andere Kommandos bereitstellen wollen, als ein Desktop oder eine Tabellenkalkulation.
Es gibt jedoch ein paar Standard-Kommandos, die in nahezu jeder Applikation sinnvoll erscheinen, z.B. das Öffnen eines Dokumentes. Daher beschreibt diese GEMScript-Dokumentation ebenfalls einen Satz solcher Standard-GS-Kommandos, an die sich jede GEMScript-fähige Applikation - soweit möglich - halten sollte. Zwingend ist dies jedoch nicht.