Es gibt mehrere Möglichkeiten für die Fensterunterstützung auf dem Desktop durch COMMAND-Aktionen.
Hat die Anwendung ein eigenes Fenster, muß in der Aktion keine weitere Fensterunterstützung zur Verfügung gestellt werden. Diese Option wird auch verwendet, wenn eine Aktion einen Befehl ohne direkte Benutzereingabe und ohne Ausgaben ausführt.
Muß die Anwendung in einem Terminal-Emulatorfenster ausgeführt werden, kann mit der Aktion ein Fenster geöffnet und dann die Anwendung gestartet werden. Es stehen verschiedene Terminal-Optionen zur Verfügung.
Mit dem Feld WINDOW_TYPE können Sie die Art der Fensterunterstützung für die Aktion festlegen (siehe Tabelle 12-2 ).
Tabelle 12-2 WINDOW_TYPE-Feld und Fensterunterstützung
Bereitgestellte Fensterunterstützung |
|
---|---|
Keine. Verwenden Sie NO_STDIO, wenn die Anwendung über ein eigenes Fenster verfügt oder der Befehl keine sichbare Ausgabe hat. |
|
Permanentes Terminal-Emulatorfenster. Die Aktion öffnet ein Terminal-Fenster, das geöffnet bleibt, bis es vom Benutzer explizit geschlossen wird. In das Fenster können Daten eingegeben werden. Verwenden Sie diesen Typ für Befehle, die Eingaben entgegennehmen, Ausgaben erzeugen und dann beendet werden (z. B. ls Verzeichnis). |
|
Temporäres Terminal-Emulatorfenster. Die Aktion öffnet ein Terminal-Fenster, das sofort nach Beendigung des Befehls wieder geschlossen wird. Verwenden Sie diesen Typ für Befehle, die den ganzen Bildschirm nutzen (z. B. vi). |
Mit dem Feld TERM_OPTS können Sie in der Aktionsdefinition die Befehlszeilenoptionen für den Terminal-Emulator angeben.
Die folgende Aktion fordert beispielsweise zur Angabe des ausführenden Rechners auf:
ACTION OpenTermOnSystemUserChooses { WINDOW_TYPE PERM_TERMINAL EXEC_HOST %(String)"Entferntes Terminal auf:"% TERM_OPTS -title %(String)"Fenstertitel:"% EXEC_STRING $SHELL }
Der von Aktionen verwendete Standard-Emulator ist dtterm. Sie können aber auch einen anderen Terminal-Emulator wählen. Der Standard-Emulator wird automatisch verwendet, wenn in der Aktion nicht explizit ein bestimmter Terminal-Emulator angegeben wird.
Für den von einer Aktion verwendeten Terminal-Emulator müssen folgende Befehlszeilenoptionen angegeben werden:
-title Fenstertitel
-e Befehl
Der Standard-Terminal-Emulator für Aktionen wird durch zwei Ressourcen bestimmt:
Die Ressource localTerminal gibt den von lokalen Anwendungen verwendeten Terminal-Emulator an.
*localTerminal: Terminal
Ein Beispiel:
*localTerminal: xterm