När du begränsar en funktion till en viss typ av argument förfinas funktionen. Du bör t ex begränsa en funktion som startar en läsare för PostScript-filer till endast PostScript-filargument. Med en sådan begränsning returnerar funktionen ett felmeddelande om en icke-PostScript-fil anges.
Du kan begränsa funktioner baserat på:
Filargumentets datatyp.
Antalet filargument - exempelvis inga argument jämfört med ett eller flera argument. Detta gör att funktionsikonen 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 vilken datatyp som funktionen gäller för. Använd datanamnsattributet.
Du kan ange en lista med datatyper. Avgränsa posterna med kommatecken.
Följande funktionsdefinition antar 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 funktionen ska acceptera. Giltiga värden är:
* (Standard) - valfritt antal argument. Andra värden har företräde före *.
n - valfritt positivt heltal, inklusive 0.
>n - fler än n argument.
<n - färre än n argument.
Använd ARG_COUNT för att ange olika metoder för funktionsikoner, beroende på om användaren dubbelklickar på ikonen eller släpper en fil på den. Se även nästa avsnitt "Ange metod för dubbelklickning och släppfunktionen".
Använd följande procedur för att skapa en funktion som accepterar en släppt fil, men inte frågar efter en fil när någon dubbelklickar på funktionsikonen.
Skapa en funktionsdefinition 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 funktionsdefinition 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å funktioner skapar släpp- och dubbelklickningsfunktionalitet för en funktion som heter Vedit. Den första funktionen prioriteras när databasen letar efter en matchning, eftersom ARG_COUNT 0 är mer specifik än ARG_COUNT * i definitionen av släppfunktionaliteten.
# Dubbelklickningsfunktionalitet ACTION Vedit { TYPE COMMAND ARG_COUNT 0 WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit } # Släppfunktionalitet 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) - valfritt läge
!w - icke skrivbar
w - skrivbar