Pour préciser l'action, vous avez la possibilité de l'associer à certains arguments uniquement. Par exemple, il est préférable de faire en sorte que l'action permettant d'afficher les fichiers PostScript n'accepte que ce type de fichier comme argument. Si un fichier incorrect est indiqué, l'action affiche un message d'erreur.
Les restrictions s'appliquent en fonction :
du type de données du fichier indiqué comme argument ;
du nombre d'arguments (par exemple, aucun argument ou un ou plusieurs arguments), ce qui permet d'indiquer différents comportements pour la pose et le double-clic sur l'icône de l'action ;
du mode de lecture-écriture de l'argument.
Utilisez la zone ARG_TYPE pour définir les types de données auxquels l'action s'applique (indiquez les noms d'attributs de données).
Vous pouvez indiquer plusieurs types de données, à condition de les séparer par des virgules.
Dans l'exemple de définition d'action suivante, on considère que le type de données GIF a été créé.
ACTION Ouvrir_Gif { TYPE COMMAND LABEL "Afficher fichier Gif" rm $HOME/readme.temp' WINDOW_TYPE NO_STDIO ARG_TYPE Gif ICON xgif DESCRIPTION Permet d'afficher fichiers GIF EXEC_STRING xgif }
Utilisez la zone ARG_COUNT pour indiquer le nombre d'arguments que l'action peut accepter. Les valeurs autorisées sont les suivantes :
* (par défaut) : nombre d'arguments illimité. Les autres valeurs sont prioritaires par rapport à *.
n : toute valeur entière, y compris 0.
>n : plus de n arguments.
<n : moins de n arguments.
ARG_COUNT permet d'indiquer différents comportements pour l'icône d'action, selon que l'utilisateur clique deux fois dessus ou y pose un fichier. Pour plus de détails, reportez-vous à la section suivante, "Définition de comportements différents pour la pose et le double-clic".
La procédure suivante permet de créer une action acceptant les fichiers posés, mais n'invitant pas à indiquer un fichier lorsque l'utilisateur clique deux fois dessus :
Créez une définition d'action pour la fonction double-clic.
Utilisez la zone ARG_COUNT pour indiquer 0 arguments. Utilisez une syntaxe pour la zone EXEC_STRING qui n'accepte pas les arguments posés.
Créez une deuxième définition d'action pour la fonction pose.
Utilisez la zone ARG_COUNT pour indiquer >0 arguments. Utilisez une syntaxe pour la zone EXEC_STRING qui accepte les fichiers posés.
Dans les exemples ci-dessous, les commandes suivantes permettent de lancer l'éditeur vedit
Pour lancer l'éditeur et ouvrir un fichier en lecture seule :
vedit -R nom_fichier
Les deux actions ci-dessous permettent de créer les fonctions pose et double-clic pour l'action Vedit. La première action est prioritaire lors de la recherche dans la base de données ; en effet, l'argument ARG_COUNT 0 est plus spécifique que l'argument ARG_COUNT * de la définition de la fonctionnalité de pose.
# Fonction double-clic ACTION Vedit { TYPE COMMAND ARG_COUNT 0 WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit } # Fonction pose ACTION Vedit { TYPE COMMAND WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit -R %Arg_1% }
Utilisez la zone ARG_MODE pour spécifier le mode lecture/écriture de l'argument. Les valeurs autorisées sont les suivantes :
* (par défaut) : mode quelconque
!w : non accessible en écriture
w : accessible en écriture