Solaris CDE - Guide avancé de l'utilisateur et de l'administrateur système

Restriction des actions à certains arguments

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 :

Restriction des actions à certains types de données

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
 }

Restriction d'une action en fonction du nombre d'arguments

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”.

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 :

  1. 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.

  2. 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 sans argument :

      	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%
       }

Restriction d'une action en fonction du mode de l'argument

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