Les actions COMMAND prennent en charge les fenêtres du bureau de plusieurs manières.
Si l'application dispose de sa propre fenêtre, l'action peut être conçue de sorte qu'aucune fenêtre supplémentaire ne soit ouverte. Cette option est également utilisée pour les actions qui lancent des commandes ne requérant aucune entrée utilisateur et ne générant aucune sortie.
Si l'application doit s'exécuter dans une fenêtre d'émulation de terminal, l'action peut ouvrir cette fenêtre avant de lancer l'application. Il existe plusieurs options de terminal.
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
Type de support de fenêtrage |
|
---|---|
Aucun. Utilisez NO_STDIO si l'application dispose de sa propre fenêtre ou si la commande ne génère aucune sortie visible. |
|
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). |
|
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). |
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 }
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 :
-title titre_fenêtre
-e commande
Les ressources ci-dessous définissent l'émulateur utilisé par les actions.
La ressource localTerminal indique l'émulateur associé aux applications locales.
*localTerminal: terminal
Par exemple :
*localTerminal: xterm