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

Création de la chaîne d'exécution d'une action COMMAND

Les deux zones requises pour une action de type COMMAND sont les suivantes : ACTION et EXEC_STRING.

ACTION nom_action
 {
     EXEC_STRING chaîne_exécution
 }

La chaîne d'exécution est la partie essentielle d'une définition d'action COMMAND ; sa syntaxe est identique à celle de la ligne de commande entrée dans une fenêtre d'émulation de terminal. Elle contient cependant des éléments supplémentaires destinés au traitement des arguments (chaînes et fichiers).

Fonctions générales des chaînes d'exécution

Une chaîne d'exécution peut contenir :

Arguments d'action

Un argument est une donnée nécessaire à l'exécution d'une application ou d'une commande. Par exemple, la ligne de commande ci-après permet d'ouvrir un fichier dans une fenêtre de l'Editeur de texte.

dtpad nom_fichier

Dans cette commande, nom_fichier est un fichier indiqué comme argument de la commande dtpad.

Tout comme les applications et les commandes, les actions peuvent être associées à des arguments. Les deux types d'arguments disponibles pour les actions COMMAND sont les suivants :

Utilisation des shells dans les chaînes d'exécution

Bien que la chaîne s'exécute directement, sans passer par un shell, vous pouvez en indiquer un dans sa syntaxe.

Par exemple :

EXEC_STRING				\
 		/bin/sh -c \
 		'tar -tvf %(File)Arg_1% 2>&1 | \${PAGER:-more};\
 		echo "\\n*** Sélectionnez Fermer pour sortir  ***"'

Nom ou chemin d'accès absolu du fichier exécutable

Si votre application est installée dans un répertoire figurant dans la variable PATH, vous pouvez indiquer uniquement le nom du fichier exécutable. Sinon, vous devez utiliser son chemin d'accès absolu.

Création d'une action sans arguments

Pour EXEC_STRING, utilisez la syntaxe permettant de lancer l'application à partir de la ligne de commande.

Exemples

Création d'une action prenant en charge la pose de fichiers

Utilisez la syntaxe suivante pour le(s) fichier(s) argument(s) :

%Arg_n%

ou

%(File)Arg_n%

(File) est facultatif, puisque les arguments fournis dans Arg_n sont considérés par défaut comme des fichiers. Reportez-vous à la section Interprétation d'un argument (fichier) en tant que chaîne pour plus de détails sur l'utilisation de la syntaxe %(String)Arg_n%).

Cette syntaxe permet à l'utilisateur de poser un fichier de données sur une icône d'action afin de l'utiliser comme argument pour cette dernière. Il remplace le nième argument de la ligne de commande. Il peut s'agir d'un fichier local ou distant.

Exemples

Création d'une action invitant à indiquer un argument de fichier

Utilisez la syntaxe suivante pour le(s) fichier(s) argument(s) :

%(File)"invite"% 

Lorsque l'utilisateur clique deux fois sur l'icône correspondant à cette action, un message l'invitant à indiquer un nom de fichier s'affiche.

Par exemple, la chaîne d'exécution suivante affiche une boîte de dialogue demandant le fichier argument de la commande wc -w :

EXEC_STRING wc -w %(File)"Fichier à compter :"%

Création d'une action prenant en charge les fichiers posés ou invitant à les indiquer

Utilisez la syntaxe suivante pour le(s) fichier(s) argument(s) :

 %Arg_n"invite"%

ou

 %(File)Arg_n"invite"%

L'action créée par cette syntaxe :

Création d'une action invitant à indiquer un argument autre qu'un fichier

Utilisez la syntaxe suivante pour les arguments autres que les fichiers :

%"invite"%

ou

%(String)"invite"%

(String) est facultatif ; en effet, le texte indiqué entre guillemets est considéré par défaut comme une chaîne. Cette syntaxe affiche une boîte de dialogue qui invite l'utilisateur à entrer des données ; ne l'utilisez pas lorsqu'un nom de fichier doit être indiqué.

Par exemple, la chaîne d'exécution suivante lance la commande xwd et invite l'utilisateur à indiquer une valeur à ajouter à chaque pixel :

EXEC_STRING xwd -add %"Valeur à ajouter :"% -out %Arg_1"Nom du fichier :"%

Interprétation d'un argument (fichier) en tant que chaîne

Utilisez la syntaxe suivante pour l'argument :

%(String)Arg_n%

Par exemple, la chaîne d'exécution suivante permet d'imprimer, lp -tnom de fichier bannière, un fichier accompagné d'une page bannière indiquant son nom à l'aide de la commande.

EXEC_STRING lp -t%(String)Arg_1% %(File)Arg_1"Fichier à imprimer:"%

Fonctions shell dans une action

Indiquez le shell dans la chaîne d'exécution :

/bin/sh -c 'commande'
/bin/ksh -c 'commande'
/bin/csh -c 'commande'

Exemples

Création d'actions COMMAND pour plusieurs fichiers arguments

Les actions peuvent gérer les arguments multiples de trois manières, décrites ci-dessous.

Création d'une action avec des arguments non interchangeables

Utilisez l'une des syntaxes décrites ci-dessous.

Création d'une action avec des arguments interchangeables

Utilisez l'une des syntaxes décrites ci-dessous.

Exemples

Création d'une action pour la pose de plusieurs fichiers

Pour créer une action qui accepte plusieurs arguments et exécute une commande du type :

commande fichier 1 fichier 2

Utilisez la syntaxe :

%Args%

Exemples