Solaris Common Desktop Environment: Benutzerhandbuch für Fortgeschrittene 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 (ToolTalk-Meldungen) müssen manuell erstellt werden.

Weitere Informationen finden sie im AbschnittMissing Cross Reference Target.

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ß:

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

TT_MSG-Aktionen senden eine ToolTalk-Meldung. 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 Parameter haben folgende Bedeutung:

    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 im folgenden Verzeichnis:

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

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

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

    Um eine Aktionsdatei zu erstellen, muß eine ausführbare Datei mit dem Namen Aktionsname angelegt werden. Sie können die Datei in jedes Verzeichnis einfügen, für das Sie Schreibzugriffsrechte 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-Werkzeuge.

  6. Erstellen Sie eine ausführbare Datei mit dem Namen FaxComposer in einem Verzeichnis, für das Sie über Schreibzugriffsrechte 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) besitzen.

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 Datenattributdefinition für TEXTFILE aus dem Verzeichnis /usr/dt/appconfig/types/Sprache/dtpad.dt in die 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. Öffnen Sie den Anwendungsmanager, und doppelklicken Sie auf 'Aktionen neu laden' in der Anwendungsgruppe Desktop-Werkzeuge.

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-Werkzeuge, 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 Namen 'Aktionen neu laden'.

    Die Datenbank wird auch erneut gelesen, wenn der Benutzer folgende Aktionen 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 Aktionsdatei 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 Ablagezone 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:

ACTION  MyFavoriteApp

 {

 	EXEC_STRING				Mfa -file %Arg_1%

 	DESCRIPTION				Startet MyFavoriteApp

 	ICON						Mfapp

 }

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

Aktionsbeschriftungen

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

ACTION  MyFavoriteApp

 {

 	LABEL      Lieblingsanwendung

 	...

 }

hat das Aktionssymbol die Bezeichnung "Lieblingsanwendung".

Das Symbol für eine Aktion festlegen

Im Feld ICON können Sie das Symbol angeben, das im Datei- und 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 ändern, auch die integrierten.


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

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ührungszeile wird direkt und nicht durch eine Shell ausgeführt. Es kann jedoch explizit eine Shell in der Ausführungszeichenfolge aufgerufen werden.

Ein 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 Variablen PATH 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 folgende Syntax für das Dateiargument:

%Arg_n%

Oder

%(File)Arg_n%

(File) ist optional, da an Arg_n übergebene Werte immer als Dateien betrachtet werden (im Abschnitt "Ein Dateiargument als Zeichenfolge interpretieren" finden Sie Informationen zur Verwendung der Syntax %(String)Arg_n%).

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 doppelt auf das Aktionssymbol klickt.

So zeigt beispielsweise folgende Ausführungszeichenfolge ein Dialogfenster an, in dem der Benutzer zur Eingabe des Dateiarguments für den Befehl wc --w 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 Dialogfenster angezeigt, in dem der Benutzer zur Eingabe aufgefordert wird. Verwenden Sie sie 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 -tbanner 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-Emulationen 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

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

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 sichbare Ausgabe hat.

PERM_TERMINAL

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

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

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

 }

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

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

Eine Aktion auf einen bestimmten Datentyp beschränken

Mit dem Feld ARG_TYPE kann festgelegt werden, für welche Datentypen die Aktion verwendet werden kann. Verwenden Sie den Datenattributnamen.

Sie können auch eine Liste mit mehreren Datentypen angeben. Trennen Sie dann die Einträge durch Kommas voneinander.

Die folgende Aktionsdefinition geht beispielsweise davon aus, daß der Datentyp GIF existiert.

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

Mit dem Feld ARG_COUNT können Sie die Anzahl der Argumente für die Aktion festlegen. Folgende Werte können angegeben 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 doppelt auf das Symbol geklickt 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

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

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

    Geben Sie im Feld ARG_COUNT 0 Argumente an. 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.

    Geben Sie mit dem Feld ARG_COUNT >0 Argumente an. 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 Ablagefunktionalitä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

Geben Sie mit dem Feld ARG_MODE den Lese-/Schreibmodus des Arguments an. 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 fernen 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, wo 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

Mit dem Feld EXEC_HOST können Sie in einer Aktionsdefinition angeben, wo sich die Anwendung befindet.

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 Sitzungs-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 Login-Manager ausgeführt wird.

Hostname - Der benannte 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 also 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 Sitzungs-Server aus.

Beispiele

Variablen in Aktions- und Datentypdefinitionen verwenden

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

Zeichenfolgevariablen in einer Aktion verwenden

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

Sind eine Zeichenfolge- und eine Umgebungsvariable mit demselben Namen vorhanden, wird die Zeichenfolgevariable verwendet.

Eine Zeichenfolgevariable definieren

    Verwenden Sie folgende Syntax:

	set Variablenname=Wert

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

Ein Beispiel:

set Remote_Application_Server=sysapp

set Remote_File_Server=sysdata

Eine Zeichenfolgevariable referenzieren

    Verwenden Sie folgende Syntax:

	$[{]Variablenname[}]

Ein 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 Zeichenfolge- und eine Umgebungsvariable mit demselben Namen vorhanden, wird die Zeichenfolgevariable 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 an 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-Emulatorfenster 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 [DDateiargument]

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

Lokalisierte Aktionen erstellen

Der Suchpfad für Datentypen enthält auch sprachabhängige Verzeichnisse. Der Wert der Umgebungsvariablen LANG bestimmt, wo Datentypdefinitionen gesucht werden.

Verzeichnisse für lokalisierte Aktionen

Lokalisierte 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 das Verzeichnis

    	app_root/dt/appconfig/types/japanese/Neue_Datei.dt
  3. Fügen Sie 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:

    • Symbole: ICON

    • Online-Hilfe: DESCRIPTION

    • 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-Meldung sendet.

ACTION Aktionsname

{

 	TYPE		TT_MSG  

 	... 

	}

Die Felder addressing und disposition

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-3 enthä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.