Bureau CDE Guide de l'administrateur

Chapitre 12 Création manuelle d'actions

Une action peut être définie 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 de détails, voir "Limites de Créer 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 ; 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 contient également une action "Ouvrir", ne s'appliquant qu'aux fichiers bitmaps et pixmaps (caractéristique indiquée dans la zone ARG_TYPE de la définition de l'action), mise en correspondance avec 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'aide de "Créer action", seules les actions "Ouvrir" et "Imprimer" peuvent être mises en correspondance ; toutes les autres actions doivent l'être manuellement.

Actions de type TT_MSG (message ToolTalk)

Les actions TT_MSG permettent d'envoyer des messages ToolTalk ; elle 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, voir "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.

    Voir "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. Elles 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 que des icônes particulières soient associées à 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

  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 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 avez accès 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 éloigné 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 de détails, voir "Définition du support de fenêtrage".

    EXEC_STRING--La syntaxe %Arg_1% indique qu'un fichier peut être posé sur l'action. 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 de détails, voir "Création de la chaîne d'exécution d'une action COMMAND".

  3. Sauvegardez le fichier.

  4. À 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 que vous avez 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 du type de 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 entrent en vigueur, 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 :

    	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 dans la fenêtre Créer action à l'aide de l'option Sauvegarder du menu Fichier.

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 de 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						  Mapp
 }

le fichier d'action est un fichier exécutable appelé Mon_application. Dans les Gestionnaires de fichiers et d'applications, ce fichier utilise l'icône Mapp.taille.type. Lorsque vous cliquez deux fois sur cette icône, la chaîne d'exécution de l'action est lancée. Lorsque vous demandez l'aide sur l'élément de l'action, le contenu de la zone DESCRIPTION s'affiche.

Libellés d'actions

Si la zone LABEL figure dans une définition d'action, sa valeur sera utilisée comme libellé du fichier d'action dans les Gestionnaires de fichiers et 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

Pour indiquer l'image à utiliser pour les icônes d'une action dans les Gestionnaires de fichiers et d'applications, complétez la zone ICON.

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 zone ICON peut prendre l'une des valeurs ci-dessous.

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

Taille en pixels 

Nom du bitmap 

Nom du 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. Localisez 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 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

Dans la zone 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

Pour indiquer l'argument (fichier), utilisez la syntaxe suivante :

%Arg_n%

ou

%(File)Arg_n%

(File) est facultatif, étant donné que les arguments indiqués pour Arg_n sont considérés par défaut comme des fichiers. (Voir "Interprétation d'un argument (fichier) en tant que chaîne" pour en savoir plus 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 éloigné.

Exemples

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

Pour indiquer l'argument (fichier), utilisez la syntaxe suivante :

%(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 dans laquelle l'argument de la commande wc -w doit être indiqué :

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

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

Pour indiquer l'argument (fichier), utilisez la syntaxe suivante :

%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

Pour indiquer l'argument, utilisez la syntaxe suivante :

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

Pour indiquer l'argument, utilisez la syntaxe suivante :

%(String)Arg_n%

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

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

Fonctions shell

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 arguments (fichiers)

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 plusieurs fichiers posés

Pour créer une action qui prenne en charge 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 des manières décrites ci-dessous.

Définition du support de fenêtrage

Pour indiquer le type de support de fenêtrage utilisé par l'action, utilisez la zone WINDOW_TYPE, comme indiqué dans +Tableau 12-2.

Tableau 12-2 Type de support de fenêtrage WINDOW_TYPE

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 prendre fin (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

Pour définir ces options, utilisez la zone TERM_OPTS de la définition de l'action.

Par exemple, l'action suivante invite à indiquer l'hôte d'exécution :

ACTION Ouvrir_term_sur_système_indiqué

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

Définition d'un émulateur de terminal par défaut différent

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"
 	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

Pour indiquer le nombre d'arguments pris en charge par l'action, utilisez la zone ARG_COUNT. Les valeurs possibles sont les suivantes :

*--(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.

La zone 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 prenant en charge 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.

    Indiquez la valeur 0 dans la zone ARG_COUNT. Dans la zone EXEC_STRING, spécifiez une syntaxe ne prenant pas en charge les arguments posés.

  2. Créez une définition d'action pour la fonction pose.

    Indiquez la valeur >0 dans la zone ARG_COUNT. Dans la zone EXEC_STRING, spécifiez une syntaxe prenant en charge les arguments 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, la définition ARG_COUNT 0 est plus précise que ARG_COUNT *.

      # 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

Pour indiquer le mode de lecture-écriture de l'argument, utilisez la zone ARG_MODE. Les valeurs possibles sont les suivantes :

* (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 éloignés

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, voir "Gestion des services d'applications".

Création d'une action exécutant une application éloignée

Pour définir l'emplacement de l'application, utilisez la zone EXEC_HOST de la définition de l'action.

Les valeurs correctes pour 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 sur lequel le Gestionnaire de connexion en cours s'exécute.

nom_hôte--Utilisez cette valeur pour les environnements dans lesquels l'action doit toujours être exécutée sur un système hôte donné.

%"invite"%--Invite l'utilisateur à indiquer le nom hôte lors de chaque exécution de l'action.

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 chaînes de caractères dans les fichiers de définition d'actions et de types de données.

Variables chaînes de caractères (actions)

Ce type de variable entre en vigueur lorsqu'elle est définie et le reste jusqu'à la fin du fichier. Il n'existe aucune variable globale pour la base de données.

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

Définition d'une variable 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 (_). Chaque définition de variable doit figurer sur une ligne distincte.

Par exemple :

set Serveur_applications_éloigné=sysapp
set Serveur_fichiers_éloigné=sysdata

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

    Utilisez la syntaxe :

	$[{]nom_variable[}]

Par exemple :

EXEC-HOST			$Serveur_applications_éloigné
CWD					/net/${Serveur_fichiers_éloigné}/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 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, il est invité à indiquer un mot de passe.

-execHost nom_hôte--Actions de type COMMANDCOMMAND uniquement ; indique le système hôte sur lequel la commande va s'exécuter.

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

Indiquez 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 de types de données comporte des emplacements liés à la langue utilisée. Le Bureau utilise la valeur de LANG pour identifier les répertoires dans lesquels les définitions de types de données doivent être recherchées.

Emplacements des actions localisées

Les définitions des actions adaptées au pays 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, /etc/dt/appconfig/types/fr_FR) .

  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 celle qui existe.

    	LABEL			chaîne
    

    Les Gestionnaires d'applications et 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.


Les actions permettant d'envoyer des messages ToolTalk, sont du type TT_MSG.

ACTION nom_action
{
 	TYPE		TT_MSG  
 	... 
	}

Zones addressing et disposition

Messages non pris en charge

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

Mots-clés des actions TT_MSG

Tableau 12-3 montre 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é 

Utilisation 

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.