Il s'agit d'instructions qui permettent d'automatiser les tâches du 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 l'exécuter.
Une fois définie, une action permet de personnaliser l'interface utilisateur et de faciliter son utilisation. En effet, le bureau permet d'associer les éléments de l'interface (icônes, options 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 d'exécuter 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 Xwd Display TYPE COMMAND EXEC_STRING /usr/bin/X11/xwud -noclick -in \ %(File)Arg_1"Fichier xwd à afficher:"% ... }
La commande définie par la zone EXEC_STRING de l'action 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'option Terminal du panneau secondaire Applications personnelles, définie 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'option (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 à la section "Association des fichiers de données aux actions".
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 libellée Xwd Display apparaît dans le groupe d'applications car ce répertoire contient un fichier appelé Xwud (voir la Figure 10-3). 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 le Gestionnaire de fichiers est appelée icône d'action ou icône d'application ; en effet, le fait de cliquer deux fois sur cette icône lance une application.
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. Le cas échéant, 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 le Gestionnaire d'applications. Le fichier de définition d'action est le fichier nom.dt contenant 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 spécifie le comportement de l'icône d'application. Pour l'icône Xwd Display, la zone EXEC_STRING 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 qui spécifierait une image différente.
En revanche, l'icône Compresser fichier utilise une image personnalisée, définie dans la zone ICON :
Par exemple :
ACTION Compresser { 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.
A 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 apparaissant dans le Gestionnaire de fichiers ou le Gestionnaire d'applications peut être utilisée pour lancer l'action.
L'argument d'une commande est l'élément (généralement, un fichier) sur lequel elle est exécutée. Des actions peuvent être écrites de manière à accepter des fichiers comme arguments.
Par exemple, le paramètre 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:"%
Le terme Arg remplace le mot argument. La syntaxe Arg_1 désigne 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 % symbols (%(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 détermine, à partir de la zone EXEC_STRING qu'un fichier est nécessaire comme argument et affiche une boîte de dialogue invitant l'utilisateur à spécifier un nom ou un chemin d'accès au fichier. Dans le cas de l'action Xwud, le message est le suivant :
Fichier xwd à afficher :
Le nom ou le chemin d'accès du 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-après.
Sur le Tableau de bord
La définition d'une option du Tableau de bord comporte des zones qui indiquent l'action exécutée lorsque l'utilisateur clique sur l'option ou y pose un fichier. Pour plus d'informations, reportez-vous à la section "Définition des objets de commande du Tableau de bord".
Dans les menus
La syntaxe de la définition du menu Fenêtre et du menu de l'espace de travail permet d'indiquer l'action exécutée par une option de menu. Pour plus d'informations, reportez-vous à la section "Menus du Gestionnaire de l'espace de travail" et à la page de manuel dtwmrc(4).
Pour la communication entre les applications
Une application peut être configurée de manière à envoyer et à recevoir des informations par l'intermédiaire d'un type d'action particulier, appelé message ToolTalk (TT_MSG). Les actions TT_MSG sont décrites dans la documentation relative à l'environnement de développement.