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

Chapitre 12 Création manuelle d'actions

Vous pouvez créer une action de deux façons :

Pour créer une action manuellement, vous devez éditer un fichier de base de données ; le présent chapitre explique comment effectuer cette opération.

Pourquoi créer une action manuellement ?

Il existe trois principaux types d'action :

L'utilitaire “Créer action” permet uniquement de créer certains types d'actions COMMAND et MAP. Toutes les actions TT_MSG doivent être créées manuellement.

Pour plus d'informations, reportez-vous à la section Limites de Créer une action.

Actions de type COMMAND

Une action de type commande permet d'exécuter une commande de lancement d'application ou d'utilitaire, de lancer un script shell ou d'exécuter une commande du système d'exploitation. La définition de l'action indique la commande à exécuter (zone EXEC_STRING).

“Créer action” s'applique aux types les plus courants d'actions de commande. Cependant, certaines d'entre elles doivent être créées manuellement, par exemple dans les cas suivants :

Actions de type MAP

Une action de type MAP n'indique pas directement de commande ou de message ToolTalk, mais elle est mise en correspondance avec une autre action.

Cette méthode permet de spécifier plusieurs noms pour une même action. Par exemple, l'action de commande intégrée Editeur d'icônes permet de lancer le programme correspondant. La base de données inclut également une action Ouvrir, ne s'appliquant qu'aux fichiers bitmaps et pixmaps (caractéristique indiquée dans la zone ARG_TYPE), correspondant à l'action Editeur d'icônes. Ainsi, l'utilisateur peut lancer l'Editeur d'icônes en sélectionnant un fichier bitmap ou pixmap dans le Gestionnaire de fichiers, et en choisissant “Ouvrir” dans le menu “Sélectionné(s)”.

L'outil “Créer action” permet uniquement de mettre en correspondance les actions “Ouvrir” et “Imprimer” ; toutes les autres actions doivent être mises en correspondance manuellement.

Actions de type TT_MSG (message ToolTalk)

Les actions TT_MSG permettent d'envoyer des messages ToolTalk. Toutes les actions TT_MSG doivent être créées manuellement.

Création manuelle d'une action : étapes principales

La présente section explique comment créer un fichier de configuration pour une définition d'action.

Fichiers de configuration d'action

Les fichiers de configuration contenant des définitions d'actions doivent respecter les règles ci-dessous.

Pour plus de détails sur la modification du chemin de recherche des actions et des types de données, reportez-vous à la section Définition de la valeur d'un chemin de recherche.

Création manuelle

  1. Ouvrez un fichier de base de données existant ou créez-en un nouveau.

    Pour plus d'informations, reportez-vous à la section précédente, Fichiers de configuration d'action.

  2. Créez la définition de l'action en utilisant la syntaxe :

    	ACTION nom_action
     	{
     		TYPE		type_action
     		zone_action
     		…
     	}

    où :

    nom_action : nom utilisé pour appeler l'action.

    type_action : COMMAND (défaut), MAP ou TT_MSG.

    zone_action : une ou plusieurs des zones requises ou facultatives pour ce type d'action. Toutes les zones se composent d'un mot clé et d'une valeur.

    La plupart des zones d'action sont décrites dans ce chapitre. Pour plus de détails, consultez la page de manuel dtactionfile(4).

  3. Sauvegardez le fichier.

  4. Pour associer des icônes particulières à l'action, créez-les. Par défaut, les icônes se trouvent dans les répertoires suivants :

    • Icônes personnelles : RépPersonnel/.dt/icons ;

    • icônes système : /etc/dt/appconfig/icons/langue. La langue par défaut est C.

      Pour plus d'informations, reportez-vous à la section Définition d'une icône d'action.

  5. Cliquez deux fois sur Recharger actions dans le groupe d'applications Outils_Bureau.

  6. Créez un fichier d'action, pour qu'une icône représentant l'action soit ajoutée dans le Gestionnaire de fichiers ou dans le Gestionnaire d'applications. Si l'action est destinée à lancer une application, l'icône est appelée icône d'application.

    Pour créer le fichier d'action, créez un fichier exécutable portant le même nom que l'action (nom_action), dans n'importe quel répertoire auquel vous pouvez accéder en écriture. Vous pouvez créer autant de fichiers d'action que nécessaire.

Exemple de création d'action COMMAND

Les étapes suivantes créent une action personnelle permettant de lancer une application de télécopie sur un système distant appelé Serveur_AppA. La commande de lancement de cette application est la suivante :

/usr/fax/bin/faxcompose [nom_fichier]
  1. Créez le fichier RépPersonnel/.dt/types/Fax.dt.

  2. Entrez la définition d'action suivante dans le fichier :

    	ACTION Compo_télécopie
     	{
     		TYPE					COMMAND
     		ICON					fax
     		WINDOW_TYPE			NO_STDIO
     		EXEC_STRING			/usr/fax/bin/faxcompose -c %Arg_1%
     		EXEC_HOST     	 	Serveur_AppA
     		DESCRIPTION    	 Lance le programme de composition 
     				des télécopies
    	}

    Les zones WINDOW_TYPE et EXEC_STRING décrivent le comportement de l'action.

    WINDOW_TYPE : le mot clé NO_STDIO indique que l'action ne doit pas nécessairement être exécutée dans une fenêtre d'émulation de terminal.

    Pour plus d'informations, reportez-vous à la section Définition du support de fenêtrage.

    EXEC_STRING : la syntaxe %Arg_1% accepte le dépôt d'un fichier. Lorsque l'utilisateur clique deux fois sur l'icône d'action, une fenêtre de composition de télécopie vide s'affiche.

    Pour plus d'informations, reportez-vous à la section Création de la chaîne d'exécution d'une action COMMAND.

  3. Sauvegardez le fichier.

  4. A l'aide de l'Editeur d'icônes, créez les icônes suivantes dans le répertoire RépPersonnel/.dt/icons :

    • Télécopie.m.pm (32 x 32 pixels)

    • Télécopie.t.pm (16 x 16 pixels)

  5. Cliquez deux fois sur Recharger actions dans le groupe d'applications Outils_Bureau.

  6. Créez un fichier exécutable appelé Compo_télécopie dans un répertoire auquel vous avez accès en écriture (votre répertoire personnel, par exemple).

Exemple de création d'action MAP

Supposons que vous créez la plupart des fichiers que vous télécopiez à l'aide de l'Editeur de texte et qu'ils ont le type de données TEXTFILE (leur extension est *.txt).

La procédure ci-après permet d'ajouter une option Télécopier au menu Sélectionné(s) associé à ce type de données.

  1. Ouvrez le fichier RépPersonnel/.dt/types/Fax.dt créé précédemment.

  2. Ajoutez-y la définition d'action MAP suivante :

    	ACTION Télécopier
     	{
     		ARG_TYPE			TEXTFILE
     		TYPE				MAP
     		MAP_ACTION		Compo_télécopie
     	} 
  3. Sauvegardez le fichier.

  4. Copiez la définition des attributs des données TEXTFILE de /usr/dt/appconfig/types/langue/dtpad.dt dans un nouveau fichier, RépPersonnel/.dt/types/textfile.dt. Ajoutez l'action Télécopier à la zone ACTIONS.

    	DATA_ATTRIBUTES TEXTFILE
     	{
     		ACTIONS			Ouvrir,Imprimer,Télécopier
     		ICON				Dtpenpd
     		…
     	}
  5. Sauvegardez le fichier.

  6. Ouvrez le Gestionnaire d'applications et cliquez deux fois sur Recharger applications, dans le groupe d'applications Outils_Bureau.

Rechargement de la base de données des actions et des types de données

Pour que les nouvelles définitions d'action ou les actions modifiées prennent effet, le bureau doit relire la base de données.

    Ouvrez le groupe d'applications Outils_Bureau et cliquez deux fois sur Recharger actions.

    Ou lancez la commande suivante :

    	dtaction ReloadActions

    ReloadActions est le nom de l'action correspondant à l'icône Recharger actions.

    La base de données est également relue lorsque l'utilisateur :

    • se connecte ;

    • relance le Gestionnaire de l'espace de travail ;

    • sauvegarde une action à l'aide de l'option Sauvegarder du menu Fichier de la fenêtre Créer action.

Création d'un fichier (icône) d'action

Un fichier d'action permet de créer une représentation visuelle d'une action dans le Gestionnaire de fichiers ou d'applications.

Figure 12–1 Fichiers d'action (icônes d'action) dans le Gestionnaire d'applications

Graphic

Les icônes des fichiers d'action représentant des actions, elles sont parfois appelées icônes d'action. Si les actions associées permettent de lancer une application, ces icônes sont appelées icônes d'application.

Lorsque vous cliquez deux fois sur une icône d'action, l'action correspondante est lancée. Une icône d'action peut également être une zone de pose.

Création d'un fichier d'action (icône d'action)

    Créez un fichier exécutable portant le même nom que l'action ; son contenu n'a pas d'importance.

Par exemple, dans le cas d'une action définie comme suit :

ACTION  Mon_application
 {
 	EXEC_STRING				Mfa -file %Arg_1%
 	DESCRIPTION				Lance Mon_application
 	ICON						Mfapp
 }

le fichier d'action est un fichier exécutable appelé Mon_application. Dans le Gestionnaire de fichiers et le Gestionnaire d'applications, ce fichier utilise l'icône Mfapp.taille.type. Si vous cliquez deux fois sur cette icône, le système lance la chaîne d'exécution de l'action. Lorsque vous demandez l'aide sur l'élément de l'action, le contenu de la zone DESCRIPTION apparaît (“exécute Mon_application”).

Libellés d'actions

Si la zone LABEL figure dans la définition d'action, sa valeur sera utilisée comme libellé du fichier d'action dans le Gestionnaire de fichiers et le Gestionnaire d'applications, à la place du nom du fichier (nom_action). Par exemple, si la définition d'action comporte les zones suivantes :

ACTION  Mon_application
 {
 	LABEL     Mon application
	 	…
 }

Le libellé de l'icône d'action sera "Mon application".

Définition d'une icône d'action

Utilisez la zone ICON pour indiquer l'icône utilisée dans le Gestionnaire de fichiers et le Gestionnaire d'applications pour les icônes d'action créées.

Si vous ne spécifiez pas d'icône, le système utilise les fichiers d'icônes d'action par défaut situés dans le répertoire /usr/dt/appconfig/icons/langue/Dtactn.*.

Figure 12–2 Icône d'action par défaut

Graphic

Pour modifier l'icône d'action, utilisez la ressource suivante :

*actionIcon: nom_fichier_icône

nom_fichier_icône peut être un nom de base ou un chemin d'accès absolu.

La valeur de la zone ICON peut être :

Tableau 12–1 Nom et taille des icônes d'action

Taille en pixels 

Nom bitmap 

Nom pixmap 

48 x 48 

nom.l.bm

nom.l.pm

32 x 32 

nom.m.bm

nom.m.pm

16 x 16 

nom.t.bm

nom.t.pm

Modification d'une définition d'action existante

Toutes les actions installées sur le système peuvent être modifiées, y compris les actions intégrées.


Remarque :

toute modification de la base de données des actions intégrées doit être effectuée avec précaution, en veillant à ne pas compromettre la compatibilité des actions intégrées avec les applications du bureau.


  1. Repérez la définition de l'action à modifier.

    Les emplacements par défaut des définitions d'action sont les suivants :

    • actions intégrées : /usr/dt/appconfig/types/langue ;

    • Actions système : /etc/dt/appconfig/types/langue ;

    • Actions personnelles : RépPersonnel/.dt/types.

      Il est possible que des emplacements supplémentaires soient disponibles sur votre système. Pour en afficher la liste, entrez la commande suivante :

      	dtsearchpath -v
      

      Votre système utilise les répertoires indiqués par la variable DTDATABASESEARCHPATH.

  2. S'il y a lieu, copiez la définition d'action dans un fichier (nouveau ou existant) de l'un des répertoires suivants :

    • Actions système : /etc/dt/appconfig/types/langue ;

    • Actions personnelles : RépPersonnel/.dt/types.

      Les fichiers situés dans /usr/dt/appconfig/types/langue ne pouvant pas être modifiés, vous devez copier les actions intégrées.

  3. Effectuez les modifications voulues.

  4. Une fois cette opération terminée, sauvegardez le fichier.

  5. Cliquez deux fois sur Recharger actions dans le groupe d'applications Outils_Bureau.

Priorité des définitions d'action

Lorsque l'utilisateur lance une action, le système recherche une entrée correspondante dans la base de données. Lorsqu'il existe plusieurs occurrences, des règles de priorité sont appliquées pour sélectionner l'action à utiliser.

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

Support de fenêtrage et émulateurs de terminal pour les actions COMMAND

Les actions COMMAND prennent en charge les fenêtres du bureau de plusieurs manières.

Définition du support de fenêtrage

Utilisez la ressource WINDOW_TYPE pour spécifier le type de support de fenêtrage requis par l'action, comme indiqué dans le Tableau 12–2.

Tableau 12–2 Zone WINDOW_TYPE et support de fenêtrage fourni

WINDOW_TYPE

Type de support de fenêtrage 

NO_STDIO

Aucun. Utilisez NO_STDIO si l'application dispose de sa propre fenêtre ou si la commande ne génère aucune sortie visible.

PERM_TERMINAL

Fenêtre d'émulation de terminal permanente. L'action ouvre une fenêtre de terminal qui reste ouverte jusqu'à ce que l'utilisateur demande explicitement sa fermeture ; des données peuvent être entrées dans cette fenêtre. Cette valeur doit être utilisée dans le cas des commandes qui requièrent des entrées et génèrent une sortie avant de se terminer (par exemple, ls répertoire).

TERMINAL

Fenêtre d'émulation de terminal provisoire. L'action ouvre une fenêtre de terminal qui se ferme dès la fin de l'exécution de la commande. Utilisez cette valeur dans le cas des commandes plein écran (par exemple, vi).

Définition d'options de ligne de commande pour l'émulateur de terminal

Utilisez la zone TERM_OPTS dans la définition de l'action pour indiquer les options de ligne de commande de l'émulateur de terminal.

Par exemple, l'action suivante demande l'hôte d'exécution :

ACTION Ouvrir_term_sur_système_indiqué
 {
 	WINDOW_TYPE					PERM_TERMINAL
 	EXEC_HOST    				%(String)"Terminal distant sur :"%
 	TERM_OPTS    				-title %(String)"Titre de la fenêtre :"%
 	EXEC_STRING  				$SHELL
 }

Définition d'un autre émulateur de terminal par défaut

Par défaut, les actions utilisent l'émulateur de terminal dtterm ; vous pouvez cependant en indiquer un autre. L'émulateur par défaut est pris en compte lorsque l'action n'identifie pas explicitement l'émulateur à utiliser.

L'émulateur utilisé par les actions doit être associé aux options de ligne de commande suivantes :

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

Création d'actions exécutant des applications sur des systèmes distants

Vous devez connaître la signification des termes suivants :

Hôte de base de données : système contenant la définition de l'action.

Hôte d'exécution : système sur lequel le programme s'exécute.

Dans la plupart des cas, les actions et les applications associées sont installées sur le même système ; étant donné que l'hôte d'exécution par défaut d'une action est l'hôte de base de données, aucune syntaxe particulière n'est requise.

Cependant, lorsque l'hôte d'exécution est différent de l'hôte de base de données, le système sur lequel la chaîne d'exécution sera lancée doit être indiqué dans la définition de l'action.

La fonction de recherche des actions et des applications sur différents systèmes fait partie de l'architecture client/serveur du bureau. Pour plus de détails sur les applications en réseau, reportez-vous à la section Administration des services d'applications.

Création d'une action exécutant une application distante

Utilisez la zone EXEC_HOST dans la définition de l'action pour indiquer l'emplacement de l'application.

Les valeurs autorisées pour la zone EXEC_HOST sont les suivantes :

%DatabaseHost% : système hôte sur lequel l'action est définie.

%LocalHost% : système hôte sur lequel l'action est lancée (serveur de sessions).

%DisplayHost% : système hôte sur lequel le serveur X s'exécute (non autorisé dans le cas des terminaux X).

%SessionHost% : système hôte exécutant le Gestionnaire de connexion de contrôle.

nom_machine  : nom de la machine. Utilisez cette valeur pour des environnements dans lesquels l'action doit toujours être lancée sur une machine particulière.

%"invite"% : invite l'utilisateur à saisir le nom de l'hôte à chaque fois que l'action est appelée.

La valeur par défaut est %DatabaseHost%, %LocalHost%. Ainsi, lorsque la zone EXEC_HOST n'est pas précisée, une tentative d'exécution de la commande est effectuée sur le système hôte contenant la définition de l'action. En cas d'échec, le serveur de sessions est utilisé.

Exemples

Utilisation de variables dans les définitions d'actions et de types de données

Vous pouvez indiquer des variables d'environnement et des variables de type chaînes de caractères dans les fichiers de définition d'actions et de types de données.

Variables de type chaînes de caractères (actions)

Une variable de ce type est définie entre la ligne où elle apparaît et la fin du fichier. Il n'existe aucune variable globale pour la base de données.

Si une variable d'environnement et une variable de type chaîne de caractères portent le même nom, cette dernière est prioritaire.

Définition d'une variable de type chaîne de caractères

    Utilisez la syntaxe :

	set nom_variable=valeur

Les noms de variables peuvent contenir des caractères alphanumériques et le caractère de soulignement (_) qui accepte les fichiers posés.

Par exemple :

set Serveur_applications_distant=sysapp
set Serveur_fichiers_distant=sysdata

Référence à une variable de type chaîne de caractères

    Utilisez la syntaxe :

	$[{]nom_variable[}]

Par exemple :

EXEC-HOST			$Serveur_applications_distant
CWD					/net/${Serveur_fichiers_distant}/doc/project

Variables d'environnement (actions et types de données)

    Utilisez la syntaxe suivante pour faire référence à une variable d'environnement :

	$[{]variable[}]. 

La variable est remplacée par sa valeur lors du chargement de la base de données. Si une variable d'environnement et une variable de type chaîne de caractères portent le même nom, cette dernière est prioritaire.

Par exemple, la chaîne d'exécution suivante permet d'imprimer un fichier avec une bannière indiquant le nom de connexion :

EXEC-STRING lp -t$LOGNAME %(File)Arg_1%

Exécution d'actions à partir de la ligne de commande

Pour effectuer cette opération, utilisez la commande du bureau dtaction. Les actions peuvent être exécutées à partir :

Syntaxe de dtaction

dtaction [-user nom_utilisateur] [-execHost nom_hôte] \
nom_action [argument [argument]…]

-user nom_utilisateur : permet à un autre utilisateur d'exécuter l'action. Si dtaction est lancée par un utilisateur différent de nom_utilisateur, cet utilisateur est invité à indiquer un mot de passe.

-execHost nom_hôte : actions de type COMMAND uniquement ; indique le système hôte sur lequel la commande sera exécutée.

argument : arguments associés à l'action ; il s'agit généralement de fichiers.

Le client dtaction dispose d'options de ligne de commande supplémentaires. Pour plus de détails, consultez la page de manuel dtaction(1).

Création d'une action exécutant une autre action

Utilisez la commande dtaction dans la zone EXEC_STRING de l'action.

Par exemple, l'action ci-dessous utilise l'action intégrée Spell, dont le libellé est Vérifier orthographe dans le Gestionnaire d'applications. La nouvelle action lance l'Editeur de texte et Spell, puis affiche les erreurs d'orthographe dans une fenêtre d'émulation de terminal distincte.

ACTION Editer_et_vérifier
 {
 	WINDOW_TYPE				NO_STDIO
 	EXEC_STRING				/bin/sh -c 'dtaction Spell \
 								%Arg_1"Fichier :"%; dtpad %Arg_1%'
 }

Création d'une action exécutée par un autre utilisateur

Utilisez la syntaxe suivante dans la zone EXEC_STRING :

EXEC_STRING   dtaction -user nom_utilisateur nom_action [argument_fichier]

Pour avoir accès au système, le nouvel utilisateur (nom_utilisateur) doit disposer de l'une des autorisations suivantes :

Création d'actions localisées

Le chemin de recherche des types de données comporte des emplacements dépendant la langue utilisée. Le bureau utilise la valeur de la variable LANG pour déterminer les emplacements des définitions de types de données.

Emplacements des actions localisées

Les définitions des actions localisées doivent être situées dans les répertoires associés à la langue utilisée, dans le chemin de recherche des actions.

Les chemins de recherche par défaut sont les suivants :

Localisation d'une action existante

  1. Créez un fichier dans le répertoire correspondant à la langue (par exemple, dans /etc/dt/appconfig/types/japanese).

  2. Copiez la définition de l'action dans le fichier de configuration lié à la langue.

    Par exemple, vous pouvez copier une définition d'action de

     
    	racine_app/dt/appconfig/types/C/fichier.dt

    vers

     
    racine_app/dt/appconfig/types/japanese/nouveau_fichier.dt
  3. Ajoutez une zone LABEL ou modifiez la zone LABEL existante.

    	LABEL			chaîne
    

    Le Gestionnaire d'applications et le Gestionnaire de fichiers utilisent cette chaîne pour identifier l'icône d'action.

  4. Localisez un ou plusieurs des éléments suivants :

    • icônes localisées : zone ICON ;

    • aide sur l'élément localisée : zone DESCRIPTION ;

    • invites localisées : texte entre guillemets dans la zone EXEC_STRING.

Création d'actions pour les applications ToolTalk


Remarque :

les informations suivantes ne s'appliquent qu'aux programmes qui prennent en charge la messagerie ToolTalk.


Utilisez le type d'action TT_MSG pour créer une action envoyant un message ToolTalk.

ACTION nom_action
{
 	TYPE		TT_MSG  
 	… 
	}

Zones d'adressage et de disposition

Messages non pris en charge

Les messages suivants ne sont pas pris en charge par les actions de typeTT_MSG :

Mots-clés des actions TT_MSG

Le Tableau 12–3montre les mots-clés et les utilisations des actions TT_MSG.

Tableau 12–3 Mots-clés des actions TT_MSG et utilisation

Mot-clé 

Utilisez 

TT_CLASS

Définit la valeur de la zone ToolTalk “class”. 

TT_SCOPE

Définit la valeur de la zone ToolTalk “scope”. 

TT_OPERATION

Définit la valeur de la zone ToolTalk “operation”. 

TT_FILE

Définit la valeur de la zone ToolTalk “file”. 

TT_ARGn_MODE

Définit la valeur de l'attribut ToolTalk “mode” pour le nième argument de message.

TT_ARGn_VTYPE

Définit la valeur de l'attribut ToolTalk “vtype” pour le nième argument de message.

TT_ARGn_VALUE

Définit la valeur du nième argument de message.