La limitazione di un'azione a un determinato tipo di argomenti la rende più precisa. Ad esempio, può essere utile limitare un'azione che richiami un visualizzatore di file PostScript specificando che l'azione può accettare come argomenti solo file PostScript; con questa restrizione, l'azione restituirà un messaggio di errore se verrà specificato un file non PostScript.
Si possono limitare le azioni in base ai seguenti fattori:
Il tipo di dati del file da specificare come argomento.
Il numero degli argomenti: ad esempio, nessun argomento oppure uno o più argomenti. Questo permette di ottenere un comportamento diverso quando si fa doppio clic sull'icona e quando si rilasciano due o più file.
La modalità di lettura/scrittura dell'argomento.
Usare il campo ARG_TYPE per specificare i tipi di dati accettati dall'azione. Usare il nome dell'attributo dei dati.
È anche possibile inserire un elenco di tipi di dati separati da virgole.
Ad esempio, nella seguente definizione si presume che sia stato creato un tipo di dati GIF.
ACTION Apri_Gif { TYPE COMMAND LABEL "Visualizza Gif" WINDOW_TYPE NO_STDIO ARG_TYPE Gif ICON xgif DESCRIPTION Visualizza i file gif EXEC_STRING xgif }
Usare il campo ARG_COUNT per specificare il numero di argomenti che l'azione può accettare. Sono ammessi i seguenti valori:
* (Valore predefinito): qualsiasi numero di argomenti. Gli altri valori hanno la precedenza su *.
n: qualsiasi valore non negativo, incluso lo zero.
>n: più di n argomenti.
<n: meno di n argomenti.
Una delle funzioni per cui può essere utilizzato ARG_COUNT è quella di ottenere un comportamento diverso dell'azione a seconda che l'utente faccia doppio clic sulla sua icona o vi rilasci un file. Vedere la sezione seguente.
La procedura descritta qui di seguito permette di creare un'azione che accetti il rilascio di un file ma non richieda alcun argomento facendo doppio clic sull'icona.
Inserire nella definizione dell'azione la funzionalità relativa al doppio clic.
Usare il campo ARG_COUNT per specificare 0 argomenti. Usare per EXEC_STRING una sintassi che non accetti il rilascio degli argomenti.
Creare una seconda definizione per la funzionalità di rilascio.
Usare il campo ARG_COUNT per specificare >0 argomenti. Usare per EXEC_STRING una sintassi che accetti il rilascio di un file.
Ad esempio, si supponga di poter usare le due righe di comando seguenti per avviare un editor di nome vedit:
Per avviare l'editor specificando come argomento un file da aprire in modalità di sola lettura:
vedit -R nomefile
Le due azioni seguenti creano le funzionalità di doppio clic e rilascio per un'azione di nome Vedit. La prima azione ha la precedenza quando si cerca una corrispondenza nel database, poiché il campo ARG_COUNT 0 è più specifico rispetto al valore predefinito ARG_COUNT * che verrà usato per il rilascio.
# Funzionalità del doppio clic ACTION Vedit { TYPE COMMAND ARG_COUNT 0 WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit } # Funzionalità di rilascio ACTION Vedit { TYPE COMMAND WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit -R %Arg_1% }
Si può utilizzare il campo ARG_MODE per specificare la modalità di lettura/scrittura dell'argomento. I valori ammessi sono:
*: (Valore predefinito) Qualsiasi modalità
!w: non-scrivibile
w: scrivibile