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:
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.
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 }
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").
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.
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.
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:
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% }
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