Existen diversos procedimientos para que las acciones COMMAND soporten ventanas en el escritorio.
Si la aplicación tiene su propia ventana, se puede escribir la acción de forma que no ofrezca soporte de ventanas adicional. Esta opción se utiliza también cuando una acción ejecuta un comando que no requiere entrada directa del usuario y no tiene salida.
Si la aplicación debe ejecutarse en una ventana de emulador de terminal, se puede escribir la acción de forma que abra una ventana y luego ejecute la aplicación. Existen diversas opciones de terminal.
Utilice el campo WINDOW_TYPE para especificar el tipo de soporte de ventanas que la acción requiere, tal como se muestra en la tabla Tabla 12-2.
Tabla 12-2 Campo WINDOW_TYPE y soporte de ventanas proporcionado
Soporte de ventanas proporcionado |
|
---|---|
Ninguno. Utilice NO_STDIO si la aplicación tiene su propia ventana, o si el comando no tiene salida visible. |
|
Ventana de emulador de terminal permanente. La acción abre una ventana de terminal que permanece abierta hasta que el usuario la cierra explícitamente. El usuario puede introducir datos en la ventana. Utilícelo con comandos que aceptan una entrada, producen una salida y luego terminan (por ejemplo, ls directorio). |
|
Ventana de emulador de terminal temporal. La acción abre una ventana de terminal que se cierra tan pronto como se completa el comando. Utilícelo con comandos de pantalla completa (por ejemplo, vi). |
Utilice el campo TERM_OPTS en la definición de la acción para especificar opciones de línea de comandos para el emulador de terminal.
Por ejemplo, la siguiente acción solicita el sistema de ejecución:
ACTION OpenTermOnSystemUserChooses { WINDOW_TYPE PERM_TERMINAL EXEC_HOST %(String)'Terminal remoto en:'% TERM_OPTS -title %(String)'Título de ventana:'% EXEC_STRING $SHELL }
El emulador de terminal predeterminado utilizado por las acciones es dtterm. Se puede cambiar este emulador de terminal por otro; se utiliza cuando la acción no especifica explícitamente el emulador de terminal que se debe utilizar.
El emulador de terminal utilizado por las acciones debe tener estas opciones de línea de comandos:
-title título_ventana
-e comando
El emulador de terminal predeterminado utilizado por las acciones viene determinado por dos recursos:
El recurso localTerminal especifica el emulador de terminal utilizado por las aplicaciones locales.
*localTerminal: terminal
Por ejemplo:
*localTerminal: xterm