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:
Datentyp des Dateiarguments.
Anzahl der Dateiargumente (z. B. kein Argument im Gegensatz zu einem oder mehreren Argumenten). Auf diese Weise können beim Ablegen oder Doppelklicken auf ein Aktionssymbol verschiedene Funktionsweisen implementiert werden.
Lese-/Schreibmodus des Arguments.
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 }
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").
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.
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.
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:
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% }
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