När du begränsar en åtgärd till en viss typ av argument förfinas åtgärden. Du bör t ex begränsa en åtgärd som startar en läsare för PostScript-filer till endast PostScript-filargument. Med en sådan begränsning returnerar åtgärden ett felmeddelande om en icke-PostScript-fil anges.
Du kan begränsa åtgärder baserat på:
Filargumentets datatyp.
Antalet filargument - exempelvis inga argument jämfört med ett eller flera argument. Detta gör att åtgärdsikonen fungerar på olika sätt när någon släpper filer eller dubbelklickar på den.
Argumentets läs- och skrivläge.
Använd fältet ARG_TYPE för att ange vilka datatyper som åtgärden gäller för. Använd datanamnsattributet.
Du kan ange en lista med datatyper. Avgränsa posterna med kommatecken.
I följande åtgärdsdefinition antas till exempel att en GIF-datatyp har skapats.
ACTION Open_Gif { TYPE COMMAND LABEL "Visa Gif" WINDOW_TYPE NO_STDIO ARG_TYPE Gif ICON xgif DESCRIPTION Visar gif-filer. EXEC_STRING xgif }
Använd fältet ARG_COUNT för att ange hur många argument som åtgärden ska acceptera. Giltiga värden är:
* (standard) - hur många argument som helst. Andra värden har företräde före *.
n - vilket icke-negativt heltal som helst, även 0.
>n - fler argument än n.
<n - färre argument än n.
Använd ARG_COUNT för att ange olika funktioner för åtgärdsikoner, beroende på om användaren dubbelklickar på ikonen eller släpper en fil på den. Se nästa avsnitt, "Ange olika funktioner för dubbelklickning och släppning".
Använd följande procedur för att skapa en åtgärd som accepterar en släppt fil, men inte frågar efter en fil när någon dubbelklickar på åtgärdsikonen.
Skapa en åtgärdsdefinition för dubbelklickningsfunktionalitet.
Använd fältet ARG_COUNT för att ange 0-argument. Använd en syntax för EXEC_STRING som inte accepterar släppta argument.
Skapa en andra åtgärdsdefinition för släppfunktionen.
Använd fältet ARG_COUNT för att ange >0-argument. Använd en syntax för EXEC_STRING som accepterar en släppt fil.
Anta att följande två kommandorader kan användas för att starta en redigerare med namnet vedit:
Starta redigeraren med ett filargument som öppnas som skrivskyddat dokument:
vedit -R filnamn
Följande två åtgärder skapar släpp- och dubbelklickningsfunktionalitet för en funktion som heter Vedit. Den första åtgärden prioriteras när databasen letar efter en matchning, eftersom ARG_COUNT 0 är mer specifikt än ARG_COUNT * i definitionen av släppfunktionaliteten.
# Funktionalitet vid dubbelklickning ACTION Vedit { TYPE COMMAND ARG_COUNT 0 WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit } # Funktionalitet vid släppning ACTION Vedit { TYPE COMMAND WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit -R %Arg_1% }
Använd fältet ARG_MODE för att ange läs- och skrivläge för argumentet. Giltiga värden är:
* (standard) - vilket läge som helst
!w - skrivskyddat
w - skrivbar