Les actions et les types de données permettent d'installer des applications sur le Bureau, et de créer une interface utilisateur destinée à lancer les applications et à manipuler les fichiers de données associés.
Le présent chapitre définit les notions d'action et de type de données. Il décrit :
les raisons pour lesquelles des actions et des types de données doivent être créés pour les applications ;
les relations existant entre les actions et les types de données ;
les relations existant entre les actions et les types de données et les opérations d'impression.
Les procédures et les règles de création des actions et des types de données sont décrites dans trois chapitres du présent manuel.
Chapitre 11 explique comment créer des actions et des types de données à l'aide de l'utilitaire du Bureau "Créer action".
Ce programme permet de créer des actions et des types de données pour la plupart des applications, sans connaître la syntaxe utilisée pour leurs définitions.
Chapitre 12 et Chapitre 13 expliquent comment créer des actions et des types de données manuellement, à l'aide de fichiers de configuration.
Vous devez utiliser cette méthode pour bénéficier des fonctions avancées non prises en charge par "Créer action".
Il s'agit d'instructions qui permettent d'automatiser les tâches de Bureau telles que le lancement d'applications et l'ouverture de fichiers de données. Leur fonctionnement est semblable à celui des macros ou des fonctions de programmation. Toute action a un nom, qui est utilisé pour la lancer.
Une fois définie, une action peut être utilisée pour faciliter l'utilisation de l'interface utilisateur. En effet, le Bureau permet d'associer les éléments de cette dernière (icônes, objets de commande du Tableau de bord et options de menus) à des actions.
Par exemple, le groupe d'applications Outils_Bureau du Gestionnaire d'applications contient des icônes qui permettent de lancer divers programmes.
Lorsque vous cliquez deux fois sur chacune de ces icônes, une action est lancée. L'exemple ci-dessous représente une partie de la définition de l'action exécutée lorsque l'utilisateur clique deux fois sur l'icône Afficher fichier xwd. Cette action est définie dans le fichier de configuration /usr/dt/appconfig/types/langue/xclients.dt:
ACTION Xwud { LABEL Afficher fichier xwd TYPE COMMAND EXEC_STRING /usr/bin/X11/xwud -noclick -in \ %(File)Arg_1"Fichier xwd à afficher:"% ... }
La commande indiquée dans la zone EXEC_STRING est exécutée lorsque l'utilisateur clique deux fois sur l'icône.
Les actions sont également utilisées sur le Tableau de bord. L'exemple ci-dessous représente une partie de la définition de l'objet de commande Terminal du tableau secondaire Applications personnelles, défini dans le fichier de configuration /usr/dt/appconfig/types/langue/dtwm.fp:
CONTROL Term { ICON Fpterm LABEL Terminal PUSH_ACTION Dtterm ... }
La zone PUSH_ACTION indique l'action exécutée lorsque l'utilisateur clique deux fois sur l'objet de commande (en l'occurrence, il s'agit de l'action Dtterm).
Les actions sont également utilisées dans les menus, tels que le menu Sélectionné(s) associé aux fichiers de données, dans le Gestionnaire de fichiers. Par exemple, les fichiers XWD (portant l'extension .xwd ou .wd) disposent d'une action Ouvrir, qui permet de les afficher à l'aide de l'action Xwud.
Les actions du menu Sélectionné(s) sont indiquées dans la définition du type de données des fichiers XWD, figurant dans le fichier de configuration /usr/dt/appconfig/types/langue/xclients.dt.
DATA_ATTRIBUTES XWD { ACTIONS Ouvrir,Imprimer ICON Dtxwd ...
}
Le type de données XWD et les actions associées (Ouvrir et Imprimer) sont décrits dans:"Association des fichiers de données aux actions par l'intermédiaire des types de données".
Par exemple, lorsque vous cliquez deux fois sur l'icône Afficher fichier xwd, dans le groupe d'applications Outils_Bureau, le client X xwud est lancé. Cependant, cette icône ne représente pas directement le programme exécutable xwud (/usr/bin/X11/xwud).
L'icône Afficher fichier xwd apparaît dans ce groupe d'applications car il existe dans le répertoire correspondant un fichier appelé Xwud (voir Figure 10-4) ; ce fichier représente une action sous-jacente portant le même nom (Xwud). Dans la définition de l'action, le nom de cette dernière est celui indiqué après le mot clé ACTION :
ACTION Xwud { LABEL Afficher fichier xwd TYPE COMMAND WINDOW_TYPE NO_STDIO EXEC_STRING /usr/bin/X11/xwud -noclick -in \ %(File)Arg_1"Fichier xwd à afficher:"% DESCRIPTION L'action Afficher fichier xwd (Xwud) \ permet d'afficher un fichier xwd créé à l'aide de \ l'action Capturer xwd (xwd). Elle utilise \ la commande xwud. }
Ce fichier définissant une action, il est appelé fichier d'action (un fichier d'action doit être exécutable et porter le même nom que l'action). Son icône dans le Gestionnaire d'applications ou de fichiers est appelée icône d'action ou icône d'application ; en effet, lorsque vous cliquez deux fois dessus, une application est lancée.
Lorsque le Gestionnaire d'applications détecte un fichier exécutable, il vérifie qu'il existe une action portant le même nom dans la base de données des actions. Si tel est le cas, il considère le fichier comme un fichier d'action.
Le contenu d'un fichier d'action n'a pas d'importance ; généralement, il fournit des informations sur la fonction de l'action.
Ne confondez pas fichier d'action et fichier de définition d'action. le fichier d'action porte le même nom que l'action ; il est utilisé pour créer une icône d'application dans le Gestionnaire de fichiers ou d'applications. Le fichier de définition d'action est le fichier nom.dt qui contient la définition de l'action.
Une fois que le Bureau a identifié un fichier comme étant un fichier d'action, la définition sous-jacente est utilisée pour définir l'apparence et le comportement de ce fichier.
La zone EXEC_STRING définit le comportement de l'icône d'application. Dans le cas de l'icône Afficher fichier xwd, cette zone indique que l'icône d'action lance le client X xwud en utilisant certains arguments de ligne de commande.
La zone LABEL définit le libellé de l'icône d'application.
La zone DESCRIPTION définit le texte qui apparaît lorsque l'utilisateur accède à l'aide sur l'élément.
L'icône d'application Xwud utilise l'image par défaut car sa définition d'action ne contient pas la zone ICON.
À l'inverse, l'icône "Compresser fichier" utilise une image personnalisée, définie dans la zone ICON de sa définition d'action.
Par exemple :
ACTION Compress { LABEL Compresser fichier ICON Dtcmprs ... }
L'action Xwud est une action de commande car sa définition contient la commande (EXEC_STRING) à exécuter. La zone TYPE de la définition de l'action indique le type de cette dernière.
À l'origine, l'icône "Afficher fichier xwd" apparaît dans le groupe d'applications Outils_Bureau ; vous pouvez cependant la copier dans n'importe quel répertoire auquel vous avez accès en écriture. Tant que la définition de l'action Xwud figure dans la base de données des actions, tout fichier exécutable Xwud que vous créez est considéré comme un fichier d'action associé, et son icône dans le Gestionnaire de fichiers ou d'applications peut être utilisée pour lancer l'action.
L'argument d'une commande est l'élément (il s'agit généralement d'un fichier) sur lequel elle est exécutée. Les arguments des actions peuvent être des fichiers.
Par exemple, la zone EXEC_STRING de l'action Xwud indique qu'un fichier doit être spécifié comme argument :
EXEC_STRING /usr/bin/X11/xwud -noclick -in \ %(File)Arg_1"Fichier xwd à afficher:"%
Arg correspond à argument. La syntaxe Arg_1 représente le premier argument et (File) indique que l'action considère l'argument comme un fichier.
Pour indiquer un fichier comme argument, la méthode la plus simple consiste à poser un fichier de données sur l'icône d'application. Le Bureau identifie le chemin d'accès du fichier posé et le substitue, sur la ligne de commande, au texte figurant entre les signes % (%(File)Arg_1"Fichier xwd à afficher :"%). La commande exécutée est la suivante :
/usr/bin/X11/xwud -noclick -in chemin_fichier
Lorsque l'utilisateur clique deux fois sur l'icône d'application, le Bureau consulte la zone EXEC_STRING et affiche une boîte de dialogue invitant l'utilisateur à spécifier un nom ou un chemin d'accès de fichier. Dans le cas de l'action Xwud, le message est le suivant :
Fichier xwd à afficher:
Le nom ou le chemin d'accès de fichier indiqué par l'utilisateur est utilisé comme argument.
Outre le lancement des applications, les actions permettent d'effectuer les opérations décrites ci-dessous.
Sur le Tableau de bord :
La définition d'un objet de commande du Tableau de bord comporte des zones qui indiquent l'action exécutée lorsque l'utilisateur clique ou pose un fichier sur l'objet de commande. Pour plus de détails, voir "Définition des objets de commande du Tableau de bord".
Dans les menus :
La syntaxe de la définition des menus Fenêtre et Espace de travail permet d'indiquer l'action exécutée par une option de menu. Pour plus de détails, voir "Menus du Gestionnaire de l'espace de travail" et la page de manuel dtwmrc(4).
Dans le domaine de la communication entre applications :
Une application peut être configurée de manière à envoyer et à recevoir des informations par l'intermédiaire d'un type d'action spécial appelé message ToolTalk (TT_MSG). Les actions TT_MSG sont décrites dans la documentation destinée au développeur et propre à l'environnement utilisé.
L'apparence et le comportement de l'icône d'un fichier de données dans le Gestionnaire de fichiers sont fonction du type de données du fichier. Le Bureau permet d'associer des caractéristiques personnalisées aux fichiers et aux répertoires, grâce au mécanisme de classification des données selon leur type.
Un type de données est une structure définie dans la base de données du Bureau. L'exemple ci-dessous illustre la définition du type de données XWD, figurant dans le fichier de configuration /usr/dt/appconfig/types/langue/xclients.dt:
DATA_ATTRIBUTES XWD { ACTIONS Ouvrir,Imprimer ICON Dtxwd NAME_TEMPLATE %s.xwd MIME_TYPE application/octet-stream SUNV3_TYPE xwd-file DESCRIPTION Ce fichier contient une image au format XWD. \ Il s'agit généralement de captures de \ fenêtres effectuées à l'aide de l'action \ Capturer xwd. Son type de données est XWD et son \ extension, .xwd ou .wd. }
DATA_CRITERIA XWD1 { DATA_ATTRIBUTES_NAME XWD MODE f NAME_PATTERN *.xwd } DATA_CRITERIA XWD2 { DATA_ATTRIBUTES_NAME XWD MODE f NAME_PATTERN *.wd }
Toute définition de type de données se compose des deux parties suivantes :
DATA_ATTRIBUTES--Définit l'apparence et le comportement du type de données.
DATA_CRITERIA--Indique les critères (nom ou contenu) permettant d'attribuer le type de données à un fichier.
La zone DATA_ATTRIBUTES_NAME permet d'associer les critères aux attributs.
Plusieurs zones DATA_CRITERIA peuvent être indiquées pour une zone DATA_ATTRIBUTE. Par exemple, pour le type de données XWD, deux critères NAME_PATTERN permettent d'indiquer deux extensions différentes (.xwd et .wd).
Dans le cas du type de données XWD, l'utilisateur crée un fichier en lui attribuant l'une des extensions suivantes : .xwd ou .wd. Le Bureau utilise le nom du fichier en tant que critère pour l'associer au type de données approprié.
Tout fichier de type XWD dispose des éléments suivants :
une icône unique permettant d'identifier les fichiers de données ;
des informations d'aide sur l'élément qui décrivent le type de données ;
un menu Sélectionné(s) personnalisé dans le Gestionnaire de fichiers, contenant les options Ouvrir et Imprimer (l'action Ouvrir lance l'action Xwud).
Le menu Sélectionné(s) du Gestionnaire de fichiers n'est actif que lorsqu'un fichier ou un répertoire est sélectionné. Les options figurant dans la partie inférieure de ce menu sont fonction du type de données du fichier. Par exemple, s'il s'agit d'un fichier XWD, les actions Ouvrir et Imprimer sont disponibles.
Les options indiquées au bas du menu Sélectionné(s) sont spécifiées dans la zone ACTIONS de la définition du type de données.
DATA_ATTRIBUTES XWD { ACTIONS Ouvrir,Imprimer ... }
Le contenu du menu Sélectionné(s) dépend du type de données. Cependant, l'action Ouvrir est commune à de nombreux types de données (ce qui signifie qu'elle figure dans le menu qui s'affiche lorsque vous sélectionnez un fichier dans le Gestionnaire de fichiers et que vous ouvrez le menu Sélectionné(s) correspondant).
Généralement, l'action Ouvrir lance l'application associée au fichier de données. Par exemple, lorsque vous ouvrez un fichier XWD, l'action Xwud est exécutée : le client X xwud est lancé pour afficher le fichier. En d'autres termes, l'action Ouvrir est équivalente à l'action Xwud. De même, lorsque vous ouvrez un fichier TEXTFILE, l'Editeur de texte est lancé ; dans le cas d'un fichier BM (bitmap) ou PM (pixmap), l'Editeur d'icônes est lancé.
La possibilité de créer des actions Ouvrir qui effectuent différentes opérations repose sur les deux fonctions décrites ci-dessous.
Cette fonction permet de créer une action qui en lance une autre, au lieu d'exécuter directement une commande. Par exemple, vous pouvez créer une action Ouvrir qui renvoie à (lance) l'action Xwud.
Restrictions en fonction du type de données
Les définitions d'actions peuvent contenir une zone ARG_TYPE permettant d'associer l'action à certains types de données uniquement. Par exemple, vous pouvez faire en sorte que l'action Ouvrir (qui renvoie à l'action Xwud) ne s'applique qu'aux fichiers dont le type de données est XWD.
Voici la définition de l'action qui permet d'associer l'action Ouvrir à l'action Xwud pour le type de données XWD. Elle figure dans le fichier de configuration de base de données /usr/dt/appconfig/types/C/xclients.dt.
ACTION Ouvrir { LABEL Ouvrir ARG_TYPE XWD TYPE MAP MAP_ACTION Xwud }
La zone TYPE indique qu'il s'agit d'une action mappée et la zone MAP_ACTION, qu'elle lance l'action Xwud. La zone ARG_TYPE spécifie que l'action ne s'applique qu'aux fichiers dont le type de données est XWD.
Comparez la définition précédente de l'action Ouvrir à la définition suivante, qui figure dans le fichier de base de données /usr/dt/appconfig/types/C/dt.dt.
ACTION Ouvrir { LABEL Ouvrir ARG_TYPE BM TYPE MAP MAP_ACTION Dticon }
Cette définition ne s'applique qu'aux fichiers dont le type de données (ARG_TYPE) est BM (bitmaps). Elle renvoie l'action Ouvrir à l'action Dticon, qui lance l'Editeur d'icônes.
Le comportement du double clic est défini par la première entrée de la zone ACTIONS. Par exemple, dans le cas du type de données XWD, le double clic entraîne le lancement de l'action Ouvrir, qui à son tour lance l'action Xwud.
Lorsque l'utilisateur pose un fichier de données sur une icône d'action, le système lance l'action en utilisant le fichier comme argument (voir "Utilisation des fichiers de données comme arguments").
Par exemple, lorsqu'un fichier XWD est posé sur l'icône Afficher fichier xwd, l'action Xwud est lancée et le fichier est utilisé comme argument (le client X xwud est lancé pour afficher le fichier de données).
Pour imprimer un fichier de données à partir du Bureau, vous pouvez :
utiliser l'option Imprimer du menu Sélectionné(s) du Gestionnaire de fichiers (si elle est disponible) ;
poser un fichier sur une zone de pose d'impression (l'objet de commande Imprimante du Tableau de bord ou une icône d'imprimante dans le Gestionnaire d'impression).
Vous pouvez également lancer des impressions à partir du nombreuses applications.
L'impression à partir du Bureau se fait à l'aide de l'action Imprimer. Tout comme Ouvrir, cette action est utilisée pour de nombreux types de données. Elle est donc mappée à d'autres actions, et la zone ARG_TYPE permet de personnaliser l'impression pour les différents types de données.
Par exemple, l'exemple ci-dessous illustre l'action Imprimer associée au type de données XWD. Elle est définie dans le fichier /usr/dt/appconfig/types/langue/xclients.dt:
ACTION Imprimer { LABEL Imprimer ARG_TYPE XWD TYPE MAP MAP_ACTION NoPrint }
Cette action Imprimer, propre aux fichiers XWD, est mise en correspondance avec une action NoPrint, définie dans le fichier /usr/dt/appconfig/types/langue/dt.dt. Cette action affiche une boîte de dialogue informant l'utilisateur que l'impression du type de données est impossible.
Comparez l'action Imprimer des fichiers XWD avec la suivante (fichiers PCL):
ACTION Imprimer LABEL Imprimer ARG_TYPE PCL TYPE MAP MAP_ACTION PrintRaw }
L'action PrintRaw, définie dans le fichier de configuration /usr/dt/appconfig/types/langue/print.dt, indique la commande permettant d'imprimer les fichiers PCL.
ACTION PrintRaw { TYPE COMMAND WINDOW_TYPE NO_STDIO EXEC_STRING /usr/dt/bin/dtlp -w %(File)Arg_1% }