CDE Handbuch für fortgeschrittene Benutzer und Systemverwalter

Kapitel 12 Aktionen manuell erstellen

Es gibt zwei Möglichkeiten, Aktionen zu erstellen:

Um eine Aktion manuell zu erstellen, müssen Sie eine Datenbankdatei bearbeiten. Dieses Kapitel beschreibt, wie Aktionsdefinitionen manuell erstellt werden.

Gründe, eine Aktion manuell zu erstellen

Es gibt drei verschiedene Aktionstypen:

Mit dem Werkzeug 'Aktion erstellen' können bestimmte Arten von COMMAND- und MAP-Aktionen erstellt werden. Alle TT_MSG-Aktionen müssen manuell erstellt werden.

Weitere Informationen finden Sie im Abschnitt Einschränkungen von 'Aktion erstellen'.

COMMAND-Aktionen

Eine Befehlsaktion führt einen Befehl aus, der eine Anwendung oder ein Hilfsprogramm startet, ein Shell-Skript ausführt oder einen Betriebssystembefehl aufruft. Die Definition der Aktion besteht aus dem auszuführenden Befehl (EXEC_STRING).

Mit dem Werkzeug 'Aktion erstellen' können die am häufigsten verwendeten Befehlsaktionen erstellt werden. Es gibt jedoch Situationen, in denen eine COMMAND-Aktion manuell erstellt werden muß. Dies trifft in folgenden Fällen zu:

MAP-Aktionen

Bei einer Zuordnungsaktion wird eine Aktion einer anderen Aktion "zugeordnet“, anstatt direkt einen Befehl oder eine ToolTalk-Meldung anzugeben.

Die Zuordnung ermöglicht es dem Benutzer, alternative Namen für Aktionen anzugeben. So startet beispielsweise eine integrierte Befehlsaktion mit dem Namen 'IconEditor' den Symboleditor. Die Datenbank enthält auch eine Öffnen-Aktion, die in der Definition auf Bitmap- und Pixmap-Dateien (im Feld ARG_TYPE) beschränkt und der Aktion 'IconEditor' zugeordnet ist. So kann der Benutzer den Symboleditor starten, indem eine Bitmap- oder Pixmap-Datei im Dateimanager ausgewählt und dann 'Öffnen' im Menü 'Ausgewählt' gewählt wird.

Die Anwendung 'Aktion erstellen' ermöglicht eine eingeschränkte Zuordnung für die Aktionen 'Öffnen' und 'Drucken'. Alle anderen Zuordnungsaktionen müssen manuell erstellt werden.

TT_MSG-Aktionen (ToolTalk-Nachricht)

TT_MSG-Aktionen senden eine ToolTalk-Nachricht. Alle TT_MSG-Aktionen müssen manuell erstellt werden.

Eine Aktion manuell erstellen: Allgemeine Schritte

In diesem Abschnitt wird erläutert, wie eine Konfigurationsdatei für eine Aktionsdefinition erstellt wird.

Konfigurationsdateien für Aktionen

Konfigurationsdateien mit Aktionsdefinitionen müssen folgende Bedingungen erfüllen:

Informationen über das Ändern des Suchpfads für Aktionen und Datentypen finden Sie im Abschnitt Wert eines Suchpfads setzen.

Eine Aktion manuell erstellen

  1. Öffnen Sie eine vorhandene Datenbankdatei, oder erstellen Sie eine neue Datei.

    Informationen finden Sie im vorhergehenden Abschnitt Konfigurationsdateien für Aktionen.

  2. Erstellen Sie die Aktionsdefinition mit folgender Syntax:

    	ACTION Aktionsname
     	{
     		TYPE		Aktionstyp
      		Aktionsfeld
     		…
     	}

    Die einzelnen Parameter können folgendermaßen belegt werden:

    Aktionsname - Der Name, mit dem die Aktion ausgeführt wird.

    Aktionstyp - COMMAND (Standardwert), MAP oder TT_MSG.

    Aktionsfeld - Eines der erforderlichen oder optionalen Felder für diesen Aktionstyp. Alle Felder bestehen aus einem Schlüsselwort und einem Wert.

    Viele dieser Aktionsfelder werden in diesem Kapitel beschrieben. Weitere Informationen finden Sie auf der Hilfeseite dtactionfile(4).

  3. Speichern Sie die Datei.

  4. Soll das Aktionssymbol eine eindeutige Grafik verwenden, erstellen Sie die Symbole für die Aktion. Die Symbole befinden sich normalerweise in folgendem Verzeichnis:

    • Persönliche Symbole: Home-Verzeichnis/.dt/icons

  5. Doppelklicken Sie auf 'Aktionen neu laden' in der Anwendungsgruppe 'Desktop-Anwendungen'.

  6. Erstellen Sie eine Aktionsdatei für die Aktion. Diese Datei erstellt für die Aktion ein Symbol im Dateimanager oder Anwendungsmanager (wird mit der Aktion eine Anwendung gestartet, heißt das Symbol Anwendungssymbol).

    To create the action file, create an executable file with the same name as action_name. Sie können die Datei in jedes Verzeichnis einfügen, für das Sie Schreiberlaubnis haben. Es können beliebig viele Aktionsdateien erstellt werden.

Beispiel für das Erstellen einer COMMAND-Aktion

In diesem Beispiel wird eine persönliche Aktion erstellt, mit der eine Fax-Anwendung auf dem entfernten System AppServerA gestartet werden kann. Der Befehl zum Starten der Fax-Anwendung lautet:

/usr/fax/bin/faxcompose [Dateiname]
  1. Erstellen Sie die Datei Home-Verzeichnis/.dt/types/Fax.dt.

  2. Fügen Sie die folgenden Aktionsdefinitionen in die Datei ein:

    	ACTION FaxComposer
     	{
     		TYPE					COMMAND
     		ICON					fax
     		WINDOW_TYPE			NO_STDIO
     		EXEC_STRING			/usr/fax/bin/faxcompose -c %Arg_1%
     		EXEC_HOST     	 	AppServerA
     		DESCRIPTION    	Startet das Faxprogramm
    	}

    Die Felder WINDOW_TYPE und EXEC_STRING beschreiben die Funktionsweise der Aktion.

    WINDOW_TYPE - Das Schlüsselwort NO_STDIO legt fest, daß die Aktion nicht in einem Terminalemulationsfenster ausgeführt werden muß.

    Weitere Informationen finden Sie im Abschnitt Fensterunterstützung für die Aktion festlegen.

    EXEC_STRING - Die Syntax %Arg_1% akzeptiert eine übergebene Datei. Beim Doppelklicken auf das Aktionssymbol wird ein leeres Faxfenster geöffnet.

    Weitere Informationen finden Sie im Abschnitt Ausführungszeichenfolge für eine COMMAND-Aktion erstellen.

  3. Speichern Sie die Datei.

  4. Erstellen Sie mit dem Symboleditor die folgenden Symboldateien im Verzeichnis Home-Verzeichnis/.dt/icons:

    • fax.m.pm, Größe 32 x 32 Pixel

    • fax.t.pm, Größe 16 x 16 Pixel

  5. Doppelklicken Sie auf 'Aktionen neu laden' in der Anwendungsgruppe 'Desktop-Anwendungen'.

  6. Erstellen Sie eine ausführbare Datei mit dem Namen FaxComposer in einem Verzeichnis, für das Sie über Schreiberlaubnis verfügen (zum Beispiel in Ihrem Home-Verzeichnis).

Beispiel für das Erstellen einer MAP-Aktion

Das Beispiel setzt voraus, daß die meisten zu faxenden Dateien mit dem Texteditor erstellt werden und den Datentyp TEXTFILE (Dateien mit dem Namen *.txt) aufweisen.

Mit den folgenden Arbeitsschritten wird der Menüpunkt 'Fax' dem Menü 'Ausgewählt' des Datentyps hinzugefügt.

  1. Öffnen Sie die im letzten Beispiel erstellte Datei Home-Verzeichnis/.dt/types/Fax.dt.

  2. Fügen Sie folgende Zuordnungsdefinition hinzu:

    	ACTION Fax
     	{
     		ARG_TYPE			TEXTFILE
     		TYPE				MAP
     		MAP_ACTION		FaxComposer
     	} 
  3. Speichern Sie die Datei.

  4. Kopieren Sie die Datenattributdefintion für TEXTFILE aus dem Verzeichnis /usr/dt/appconfig/types/Sprache/dtpad.dt in eine neue Datei Home-Verzeichnis/.dt/types/textfile.dt. Fügen Sie die Aktion 'Fax' dem Feld ACTIONS hinzu.

    	DATA_ATTRIBUTES TEXTFILE
     	{
     		ACTIONS			Open,Print,Fax
     		ICON				Dtpenpd
     		…
     	}
  5. Speichern Sie die Datei.

  6. Den Anwendungsmanager öffnen und auf 'Aktionen erneut starten' in der Anwendungsgruppe `Desktop-Anwendungen' doppelklicken.

Datenbank für Aktionen und Datentypen neu laden

Damit neue oder bearbeitete Aktionsdefinitionen wirksam werden, muß die Datenbank erneut gelesen werden.

    Öffnen Sie die Anwendungsgruppe 'Desktop-Anwendungen', und doppelklicken Sie auf 'Aktionen neu laden'.

    Oder führen Sie den folgenden Befehl aus:

    	dtaction ReloadActions

    'ReloadActions' ist der Name der Aktion mit dem Symbol 'Aktionen neu laden'.

    Die Datenbank wird auch erneut gelesen, wenn der Benutzer folgende Vorgänge durchführt:

    • Anmelden

    • Neustarten des Workspace Manager

    • Speichern einer Aktion mit dem Befehl 'Speichern' im Menü 'Datei' des Fensters 'Aktion erstellen'.

Aktionsdatei (Symbol) für eine Aktion erstellen

Eine Aktionsdatei ist eine sichtbare Repräsentation der Aktion im Dateimanager oder Anwendungsmanager.

Abbildung 12–1 Aktionsdateien (Aktionssymbole) im Anwendungsmanager

Graphic

Da das Symbol einer Aktionsdatei eine Aktion repräsentiert, wird es manchmal als Aktionssymbol bezeichnet. Wird durch die Aktion eine Anwendung gestartet, nennt man das Symbol Anwendungssymbol.

Durch Doppelklicken auf das Aktionssymbol wird die Aktion ausgeführt. Das Aktionssymbol kann auch eine Ablegezone sein.

Eine Aktionsdatei (Aktionssymbol) erstellen

    Erstellen Sie eine ausführbare Datei mit dem Namen der Aktion. Der Inhalt der Datei ist nicht von Bedeutung.

Ein Beispiel: Die Aktion ist folgendermaßen definiert:

ACTIONMeineAnwendung
 {
 	EXEC_STRING				Mfa -file %Arg_1%
 	DESCRIPTION				Startet MeineAnwendung
 	ICON						Mfapp
 }

Die Aktionsdatei ist dann eine ausführbare Datei mit dem Namen MeineAnwendung. Im Dateimanager und im Anwendungsmanager wird dann für die Datei MeineAnwendung das Symbol MfappGröße.Typ verwendet. Durch Doppelklicken auf das Symbol MeineAnwendung wird die Ausführungszeichenfolge ausgeführt. Als Online-Hilfe des Symbols wird der Inhalt des Feldes DESCRIPTION angezeigt ("Startet MeineAnwendung“).

Aktionsbeschriftungen

Enthält die Aktionsdefinition das Feld LABEL, erhält die Aktionsdatei im Dateimanager und im Anwendungsmanager den Inhalt dieses Feldes als Beschriftung und nicht den Dateinamen (Aktionsname). Enthält die Aktionsdefinition beispielsweise die Zeile

ACTIONMeineAnwendung
 {
 	LABEL      Bevorzugte Anwendung
…
 }

hat das Aktionssymbol die Beschriftung "Bevorzugte Anwendung“.

Das Symbol für eine Aktion festlegen

Über das Feld ICON können Sie das Symbol angeben, das im Dateimanager und im Anwendungsmanager für die Aktion verwendet wird.

Geben Sie kein Symbol an, werden die Standardsymboldateien für Aktionssymbole verwendet (/usr/dt/appconfig/icons/Sprache/Dtactn.*).

Abbildung 12–2 Standardaktionssymbol

Graphic

Das Standardsymbol einer Aktion kann mit folgender Ressource geändert werden:

*actionIcon:    Symbol_Dateiname

Der Parameter Symbol-Dateiname kann als Basisdateiname oder als absoluter Pfad angegeben werden.

Das Feld ICON kann folgende Werte annehmen:

Tabelle 12–1 Symbolnamen und -größen für Aktionssymbole

Größe in Pixel 

Bitmap-Name 

Pixmap-Name 

48 x 48 

Name.l.bm

Name.l.pm

32 x 32 

Name.m.bm

Name.m.pm

16 x 16 

Name.t.bm

Name.t.pm

Eine vorhandene Aktionsdefinition ändern

Sie können alle im System verfügbaren Aktionen einschließlich der integrierten Aktionen ändern.


Hinweis –

Gehen Sie beim Ändern der integrierten Aktionen vorsichtig vor. Sie sind genau auf die Zusammenarbeit mit den Desktop-Anwendungen abgestimmt.


  1. Suchen Sie die Definition der zu ändernden Aktion.

    Die Aktionsdefinitionen befinden sich in folgenden Standardverzeichnissen:

    • Integrierte Aktionen: /usr/dt/appconfig/types/Sprache

    • Systemweite Aktionen: /etc/dt/appconfig/types/Sprache

    • Persönliche Aktionen: Home-Verzeichnis/.dt/types

      Es können auch weitere Verzeichnisse im System definiert sein. Eine Liste der für Aktionen verwendeten Verzeichnisse erhalten Sie mit dem Befehl:

      	dtsearchpath -v
      

      Das System verwendet die unter DTDATABASESEARCHPATH aufgeführten Verzeichnisse.

  2. Kopieren Sie gegebenenfalls den Text der Aktionsdefinition in eine neue oder bereits vorhandene Datei in einem der folgenden Verzeichnisse:

    • Systemweite Aktionen: /etc/dt/appconfig/types/Sprache

    • Persönliche Aktionen: Home-Verzeichnis/.dt/types

      Integrierte Aktionen müssen zunächst kopiert werden, da Dateien im Verzeichnis /usr/dt/appconfig/types/Sprache nicht bearbeitet werden sollten.

  3. Bearbeiten Sie die Aktionsdefinition.

  4. Speichern Sie anschließend die Datei.

  5. Doppelklicken Sie auf 'Aktionen neu laden' in der Anwendungsgruppe 'Desktop-Anwendungen'.

Reihenfolge der Aktionsdefinitionen

Ruft der Benutzer eine Aktion auf, durchsucht das System die Datenbank nach dem betreffenden Aktionsnamen. Ist mehr als eine Aktion mit diesem Namen vorhanden, beachtet das System bestimmte Regeln, um die zu verwendende Aktion zu bestimmen.

Ausführungszeichenfolge für eine COMMAND-Aktion erstellen

Bei einer COMMAND-Aktion müssen mindestens zwei Felder angegeben werden - ACTION und EXEC_STRING.

ACTION Aktionsname
 {
     EXEC_STRING Ausführungszeichenfolge
 }

Die Ausführungszeichenfolge ist der wichtigste Teil einer COMMAND-Aktionsdefinition. Die verwendete Syntax entspricht der Befehlszeile in einem Terminal-Fenster, enthält aber zusätzliche Elemente für Datei- und Zeichenfolgenargumente.

Allgemeine Merkmale von Ausführungszeichenfolgen

Ausführungszeichenfolgen können folgendes enthalten:

Aktionsargumente

Bei einem Argument handelt es sich um Informationen, die von einem Befehl oder einer Anwendung für die Ausführung benötigt werden. So kann beispielsweise mit der folgenden Befehlszeile eine Datei im Texteditor geöffnet werden:

dtpad Dateiname

In diesem Befehl ist Dateiname ein Dateiargument für den Befehl dtpad.

Aktionen können wie Anwendungen und Befehle mit Argumenten aufgerufen werden. Bei einer COMMAND-Aktion können dabei zwei Arten von Daten verwendet werden:

Shells in Ausführungszeichenfolgen verwenden

Die Ausführungszeichenfolge wird direkt und nicht durch eine Shell ausgeführt. Es kann jedoch explizit eine Shell in der Ausführungszeichenfolge aufgerufen werden.

Beispiel:

EXEC_STRING				\
 		/bin/sh -c \
 		'tar -tvf %(File)Arg_1% 2>&1 | \${PAGER:-more};\
 		echo "\\n*** Zum Schließen im Menü 'Fenster' die Option
'Schließen' wählen ***"'

Name oder absoluter Pfad der ausführbaren Datei

Befindet sich die Anwendung in einem Verzeichnis, das in der PATH-Variablen aufgeführt ist, muß nur der Name der ausführbaren Datei angegeben werden. Ist das Verzeichnis nicht im Pfad enthalten, muß der absolute Pfadname der ausführbaren Datei verwendet werden.

Eine Aktion ohne Argumente erstellen

Verwenden Sie für EXEC_STRING dieselbe Syntax wie für den Start der Anwendung von der Befehlszeile.

Beispiele

Eine Aktion erstellen, die eine abgelegte Datei akzeptiert

Verwenden Sie für das Dateiargument folgende Syntax:

%Arg_n%

oder

%(File)Arg_n%

(File) ist optional, da an Arg_n übergebene Werte standardmäßig als Dateien betrachtet werden. (Siehe auch Ein Dateiargument als Zeichenfolge interpretieren zur Verwendung der %(String)Arg_ n%-Syntax.)

Mit dieser Syntax kann der Benutzer ein Dateiobjekt auf dem Aktionssymbol ablegen, um die Aktion mit dem übergebenen Dateiargument zu starten. Dabei wird das nte Argument in die Befehlszeile übernommen. Die Datei kann sich auf dem lokalen oder auf einem entfernten System befinden.

Beispiele

Eine Aktion erstellen, die zur Angabe eines Dateiarguments auffordert

Verwenden Sie für das Dateiargument folgende Syntax:

%(File)"Eingabeaufforderung"%

Mit dieser Syntax wird eine Aktion erstellt, die eine Aufforderung zur Eingabe eines Dateinamens anzeigt, sobald der Benutzer auf das Aktionssymbol doppelklickt.

So zeigt beispielsweise folgende Ausführungszeichenfolge ein Dialogfeld an, in dem der Benutzer zur Eingabe des Dateiarguments für den Befehl wc -S aufgefordert wird:

EXEC_STRING wc -w %(File)"Wörter zählen in Datei:"%

Eine Aktion erstellen, die eine abgelegte Datei akzeptiert oder zur Angabe eines Dateiarguments auffordert

Verwenden Sie für das Dateiargument folgende Syntax:

%Arg_n"Eingabeaufforderung"%

oder

%(File)Arg_n"Eingabeaufforderung"%

Mit dieser Syntax wird eine Aktion erstellt, die

Eine Aktion erstellen, die zur Angabe eines Nicht-Dateiarguments auffordert

Verwenden Sie für Nicht-Dateiargumente folgende Syntax:

%"Eingabeaufforderung"%

oder

%(String)"Eingabeaufforderung"%

(String) muß nicht angegeben werden, da in Anführungszeichen gesetzter Text standardmäßig als Zeichenfolge interpretiert wird. Mit dieser Syntax wird ein Dialogfeld angezeigt, in dem der Benutzer zur Eingabe aufgefordert wird. Verwenden Sie die Syntax nicht, um den Benutzer zur Eingabe eines Dateinamens aufzufordern.

Im folgenden Beispiel wird der Befehl xwd ausgeführt. Er fordert zur Eingabe eines Werts auf, der jedem Pixel hinzugefügt wird:

EXEC_STRING xwd -add %"Wert eingeben:"% -out %Arg_1"Dateiname:"%

Ein Dateiargument als Zeichenfolge interpretieren

Verwenden Sie für das Argument folgende Syntax:

%(String)Arg_n%

So druckt beispielsweise folgende Ausführungszeichenfolge mit dem Befehl lp -tDeckblatt_Dateiname eine Datei mit einem Deckblatt, das den Dateinamen enthält:

EXEC_STRING lp -t%(String)Arg_1% %(File)Arg_1"Zu druckende Datei:"%

Shell-Funktionen in einer Aktion bereitstellen

Geben Sie die Shell folgendermaßen in der Ausführungszeichenfolge an:

/bin/sh -c 'Befehl'
/bin/ksh -c 'Befehl'
/bin/csh -c 'Befehl'

Beispiele

COMMAND-Aktionen für mehrere Dateiargumente erstellen

Aktionen können mehrere Dateiargumente auf drei verschiedene Arten bearbeiten:

Eine Aktion mit nicht austauschbaren Argumenten erstellen

Verwenden Sie eine der folgenden Syntaxkonventionen:

Eine Aktion mit austauschbaren Dateiargumenten erstellen

Verwenden Sie eine der folgenden Syntaxkonventionen:

Beispiele

Eine Aktion für mehrere abgelegte Dateien erstellen

Um das Ablegen mehrerer Dateien zu akzeptieren und einen Befehl der Form

Befehl Datei 1 Datei 2

auszuführen, verwenden Sie folgende Syntax:

%Args%

Beispiele

Fensterunterstützung und Terminal-Emulatoren für COMMAND-Aktionen

Es gibt mehrere Möglichkeiten für die Fensterunterstützung auf dem Desktop durch COMMAND-Aktionen.

Fensterunterstützung für die Aktion festlegen

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

WINDOW_TYPE

Bereitgestellte Fensterunterstützung 

NO_STDIO

Keine. Verwenden Sie NO_STDIO, wenn die Anwendung über ein eigenes Fenster verfügt oder der Befehl keine sichtbare Ausgabe hat.

PERM_TERMINAL

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).

TERMINAL

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).

Befehlszeilenoptionen für den Terminal-Emulator angeben

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
 }

Einen anderen Standard-Terminal-Emulator festlegen

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:

Aktionen auf bestimmte Argumente beschränken

Durch das Beschränken auf einen bestimmten Argumenttyp ist eine genauere Definition einer Aktion möglich. So sollte beispielsweise eine Aktion auf PostScript-Dateiargumente beschränkt werden, wenn sie ein Anzeigeprogramm für PostScript-Dateien aufruft. Die Aktion zeigt eine Fehlermeldung an, wenn eine Datei angegeben wird, die nicht das PostScript-Format aufweist.

Aktionen können anhand folgender Bedingungen eingeschränkt werden:

Eine Aktion auf einen bestimmten Datentyp beschränken

Verwenden Sie das Feld ARG_TYPE zum Festlegen der Datentypen, für die die Aktion gültig ist. Verwenden Sie den Datenattributnamen.

Sie können eine Liste mit Datentypen angeben. Trennen Sie die Einträge durch Kommata voneinander.

Die folgende Aktionsdefinition geht beispielsweise davon aus, daß ein GIF-Datentyp erstellt worden ist:

ACTION Open_Gif
 {
 	TYPE					COMMAND
 	LABEL					" GIF anzeigen"
 	WINDOW_TYPE			NO_STDIO
 	ARG_TYPE				Gif
 	ICON					xgif
 	DESCRIPTION		Zeigt GIF-Dateien an
 	EXEC_STRING			xgif
 }

Eine Aktion anhand der Anzahl der Argumente beschränken

Verwenden Sie das Feld ARG_COUNT, um die Anzahl der Argumente für die Aktion festlegen. Folgende Werte können verwendet werden:

* (Standard) - Beliebig viele Argumente. Alle anderen Werte haben Vorrang vor *.

n - Beliebige positive Ganzzahl (einschließlich 0).

>n - Mehr als n Argumente.

<n - Weniger als n Argumente.

Mit Hilfe von ARG_COUNT können abhängig davon, ob auf das Symbol doppelgeklickt oder eine Datei abgelegt wird, unterschiedliche Funktionsweisen für das Aktionssymbol implementiert werden. (siehe nächster Abschnitt "Unterschiedliche Funktionsweisen für Doppelklicken oder Ablegen implementieren“).

Unterschiedliche Funktionsweisen für Doppelklicken oder Ablegen implementieren

Eine Aktion, die eine abgelegte Datei akzeptiert, jedoch bei einem Doppelklick auf das Aktionssymbol keine Aufforderung zur Eingabe eines Dateinamens anzeigt, kann folgendermaßen erstellt werden.

  1. Erstellen Sie eine Aktionsdefinition für einen Doppelklick auf das Symbol.

    Verwenden Sie das Feld ARG_COUNT, um 0 Argumente anzugeben. Verwenden Sie eine Syntax für das Feld EXEC_STRING, die abgelegte Dateiargumente nicht akzeptiert.

  2. Erstellen Sie eine zweite Aktionsdefinition für das Ablegen eines Arguments.

    Verwenden Sie das Feld ARG_COUNT, um >0 Argumente anzugeben. Verwenden Sie eine Syntax für das Feld EXEC_STRING, die abgelegte Dateiargumente akzeptiert.

    Ein Beispiel: Mit den folgenden beiden Befehlszeilen kann der Editor vedit gestartet werden:

    • Mit dem folgenden Befehl wird der Editor ohne Dateiargument aufgerufen:

      	vedit
    • Der folgende Befehl übergibt dem Editor als Argument eine Datei, die schreibgeschützt geöffnet wird:

      	vedit -R Dateiname
      

      Die folgenden beiden Aktionen stellen die Ablegen- und Doppelklickfunktionalität für eine Aktion mit dem Namen 'Vedit' zur Verfügung. Die erste Aktion hat Vorrang, wenn die Datenbank nach einer Übereinstimmung durchsucht wird, da ARG_COUNT 0 spezifischer ist als das implizierte ARG_COUNT * der Definition für die Ablegefunktionalität.

      # Doppelklicken
       ACTION Vedit
       {
       	TYPE						COMMAND
       	ARG_COUNT				0
       	WINDOW_TYPE				PERM_TERMINAL
       	EXEC_STRING				vedit
       }
      
       # Ablegen
       ACTION Vedit
       {
       	TYPE						COMMAND
       	WINDOW_TYPE				PERM_TERMINAL
       	EXEC_STRING				vedit -R %Arg_1%
       }

Eine Aktion über den Argumentmodus beschränken

Verwenden Sie das Feld ARG_MODE, um den Lese-/Schreibmodus des Arguments anzugeben. Folgende Werte können verwendet werden:

* (Standard) - Beliebiger Modus

!w - Nicht schreibbar

w - Schreibbar

Aktionen erstellen, die Anwendungen auf entfernten Systemen ausführen

Wenn von Aktionen und Ausführung auf entfernten Systemen die Rede ist, werden zwei Begriffe häufig verwendet:

Datenbank-Host - Das System mit der Aktionsdefinition.

Ausführungs-Host - Das System mit der ausführbaren Datei.

Meistens befinden sich Aktionen und ihre Anwendungen auf demselben System. Da der Standard-Ausführungs-Host für eine Aktion der Datenbank-Host ist, ist keine spezielle Syntax erforderlich.

Handelt es sich jedoch bei Datenbank- und Ausführungs-Host um unterschiedliche Systeme, muß in der Aktionsdefinition angegeben werden, auf welchem Host die Ausführungszeichenfolge gestartet werden soll.

Die Fähigkeit, Aktionen und Anwendungen auf verschiedenen Systemen zu suchen, ist Bestandteil der Client/Server-Architektur des Desktop. Weiterführende Informationen zu Netzwerkanwendungen finden Sie im Abschnitt Anwendungs-Services verwalten.

Eine Aktion erstellen, die eine entfernte Anwendung ausführt

Verwenden Sie das Feld EXEC_HOST in der Aktionsdefinition, um das Verzeichnis der Anwendung anzugeben.

Folgende Werte können für EXEC_HOST verwendet werden:

%DatabaseHost% - Der Host, auf dem die Aktion definiert ist.

%LocalHost% - Der Host, auf dem die Aktion aufgerufen wird (der Session-Server).

%DisplayHost% - Der Host, auf dem der X-Server läuft (nicht zulässig für X-Terminals).

%SessionHost% - Der Host, auf dem der kontrollierende Anmeldemanager ausgeführt wird.

Host-Name — der bezeichnete Host. Verwenden Sie diesen Wert für Umgebungen, in denen die Aktion immer auf einem bestimmten System ausgeführt werden soll.

%"Eingabeaufforderung"% - Fordert den Benutzer bei jeder Ausführung der Aktion zur Eingabe des Hostnamens auf.

Der Standardwert ist %DatabaseHost%, %LocalHost%. Die Aktion führt den Befehl zuerst auf dem Host mit der Aktionsdefinition aus, wenn das Feld EXEC_HOST nicht angegeben wird. Ist dies nicht möglich, führt die Aktion den Befehl auf dem Session-Server aus.

Beispiele

Variablen in Aktions- und Datentypdefinitionen verwenden

In Definitionsdateien für Aktionen und Datentypen können String- und Umgebungsvariablen verwendet werden.

String-Variablen in einer Aktion verwenden

Der Gültigkeitsbereich einer String-Variablen erstreckt sich von ihrer Definition bis zum Ende der Datei. Es gibt keine globalen String-Variablen für die Datenbank.

Sind eine String- und eine Umgebungsvariable mit demselben Namen vorhanden, wird die String-Variable verwendet.

Eine String-Variable definieren

    Richten Sie sich nach folgender Syntax:

	set Variablenname=Wert

Variablennamen können beliebige alphanumerische Zeichen und Unterstriche (_) enthalten. Jede Variable muß in einer eigenen Zeile definiert werden.

Beispiel:

set Remote_Application_Server=sysapp
set Remote_File_Server=sysdata

Eine String-Variable referenzieren

    Richten Sie sich nach folgender Syntax:

	$[{]Variablenname[}]

Beispiel:

EXEC-HOST			$Remote_Application_Server
CWD					/net/${Remote_File_Server}/doc/project

Umgebungsvariablen in Aktionen und Datentypen verwenden

    Mit folgender Syntax kann eine Umgebungsvariable referenziert werden:

	$[{]Variable[}]. 

Die Variable wird beim Laden der Datenbank erweitert (durch ihren Wert ersetzt). Sind eine String- und eine Umgebungsvariable mit demselben Namen vorhanden, wird die String-Variable verwendet.

So druckt beispielsweise folgende Ausführungszeichenfolge eine Datei mit einem Deckblatt, das den Anmeldenamen enthält.

EXEC-STRING lp -t$LOGNAME %(File)Arg_1%

Aktionen von der Befehlszeile aufrufen

Das Desktop stellt den Befehl dtaction zur Verfügung, mit dem Aktionen an der Befehlszeile gestartet werden können. Aktionen können mit dtaction folgendermaßen ausgeführt werden:

Syntax von dtaction

dtaction [-user Benutzername]
[-execHost  Hostname] \

Aktionsname
[Argument [Argument]…]

-user Benutzername - Ermöglicht das Ausführen der Aktion für einen anderen Benutzer. Wird dtaction von einem anderen Benutzer als Benutzername aufgerufen, wird eine Paßwortabfrage angezeigt.

-execHost Hostname - Diese Option wird nur für COMMAND-Aktionen verwendet und gibt den Host an, auf dem der Befehl ausgeführt wird.

Argument - Die Argumente für die Aktion (normalerweise Dateiargumente).

Der Client dtaction verfügt über weitere Befehlszeilenoptionen. Weitere Informationen können Sie der Hilfeseite dtaction(1) entnehmen.

Eine Aktion erstellen, die andere Aktionen ausführt

Verwenden Sie dtaction im Feld EXEC_STRING der Aktion.

Die Aktion im folgenden Beispiel verwendet eine integrierte Aktion mit dem Namen 'Spell' (die Aktion hat im Anwendungsmanager die Bezeichnung 'Rechtschreibprüfung'). Die neue Aktion führt den Texteditor und die Aktion 'Spell' aus und zeigt die Rechtschreibfehler in einem separaten Terminal-Emulator-Fenster an.

ACTION EditAndSpell
 {
 	WINDOW_TYPE				NO_STDIO
 	EXEC_STRING				/bin/sh -c 'dtaction Spell \
 								%Arg_1"Datei:"%; dtpad %Arg_1%'
 }

Eine Aktion erstellen, die für einen anderen Benutzer ausgeführt wird

Verwenden Sie folgende Syntax im Feld EXEC_STRING:

EXEC_STRING   dtaction -user Benutzername Aktionsname [Dateiargument]

Der neue Benutzer (Benutzername) muß über einen der folgenden Mechanismen den Anzeigezugriff auf das System besitzen:

Länderspezifische Aktionen erstellen

Der Suchpfad für Datentypen enthält sprachenabhängige Positionen. Das Desktop verwendet den Wert von LANG, um festzulegen, welche Positionen nach Datentypdefinitionen durchsucht werden.

Verzeichnisse für länderspezifische Aktionen

Länderspezifische Aktionsdefinitionen müssen sich in den richtigen sprachabhängigen Verzeichnissen des Aktionssuchpfads befinden.

Folgender Standardsuchpfad wird verwendet:

Eine vorhandene Aktion sprachabhängig einrichten

  1. Erstellen Sie eine Datei im betreffenden sprachabhängigen Verzeichnis (beispielsweise in /etc/dt/appconfig/types/japanese).

  2. Kopieren Sie die Aktionsdefinition in die sprachabhängige Konfigurationsdatei.

    Kopieren Sie beispielsweise eine Aktionsdefinition aus dem Verzeichnis

    	app_root/dt/appconfig/types/C/Datei.dt

    in

    	app_root/dt/appconfig/types/japanese/Neue_Datei.dt
  3. Fügen Sie jedem Bedienelement ein LABEL-Feld hinzu, oder ändern Sie das vorhandene Feld LABEL.

    	LABEL			Zeichenfolge
    

    Die Beschriftung (LABEL) wird im Anwendungsmanager und Dateimanager verwendet, um das Aktionssymbol zu bezeichnen.

  4. Passen Sie die folgenden Felder in der Aktionsdefinition an:

    • Für länderspezifische Symbole: ICON

    • Für länderspezifische Online-Hilfe: DESCRIPTION

    • Für länderspezifische Eingabeaufforderungen: der Text in Anführungszeichen im Feld EXEC_STRING

Aktionen für ToolTalk-Anwendungen erstellen


Hinweis –

Die folgenden Informationen betreffen nur Anwendungen, die das Senden von Nachrichten mit ToolTalk unterstützen.


Erstellen Sie mit dem Aktionstyp TT_MSG eine Aktion, die eine ToolTalk-Nachricht sendet.

ACTION Aktionsname
{
 	TYPE		TT_MSG
 	…
	}

addressing- und disposition-Felder

Nicht unterstützte Meldungen

Die folgenden Meldungen werden von Aktionen des Typs TT_MSG nicht unterstützt:

Schlüsselwörter für TT_MSG-Aktionen

Tabelle 12–3enthält Informationen über die Schlüsselwörter und deren Verwendung in TT_MSG-Aktionen.

Tabelle 12–3 Schlüsselwörter für TT_MSG-Aktionen und deren Verwendung

Schlüsselwort 

Verwendung 

TT_CLASS

Definiert den Wert des ToolTalk-Meldungsfelds 'class'. 

TT_SCOPE

Definiert den Wert des ToolTalk-Meldungsfelds 'scope'. 

TT_OPERATION

Definiert den Wert des ToolTalk-Meldungsfelds 'operation'. 

TT_FILE

Definiert den Wert des ToolTalk-Meldungsfelds 'file'. 

TT_ARGn_MODE

Definiert den Wert des ToolTalk-Attributs 'mode' des nten Meldungsarguments.

TT_ARGn_VTYPE

Definiert den Wert des ToolTalk-Attributs 'vtype' des nten Meldungsarguments.

TT_ARGn_VALUE

Definiert den Wert des n ten Meldungsarguments.