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.
Verwenden Sie das Feld WINDOW_TYPE, um die Art der Fensterunterstützung für die Aktion festlegen (siehe Tabelle 12–2.)
Tabelle 12–2 WINDOW_TYPE-Feld und die bereitgestellte Fensterunterstützung
Bereitgestellte Fensterunterstützung |
|
---|---|
Keine. Verwenden Sie NO_STDIO, wenn die Anwendung über ein eigenes Fenster verfügt oder der Befehl keine sichtbare Ausgabe hat. |
|
Permanentes Terminal-Emulatorfenster. Die Aktion öffnet ein Terminal-Fenster, das geöffnet bleibt, bis es vom Benutzer 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). |
Verwenden Sie das Feld TERM_OPTS in der Aktionsdefinition, um die Befehlszeilenoptionen für den Terminal-Emulator anzugeben.
Die folgende Aktion fordert beispielsweise zur Angabe des Ausführungs-Hosts 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:
Das Feld localTerminal gibt den von lokalen Anwendungen verwendeten Terminal-Emulator an.
*localTerminal: Terminal
Beispiel:
*localTerminal: xterm