accionescrear manualmenteCreación manual de accionesExisten dos procedimientos para crear acciones:Utilizar la aplicación de escritorio Crear Acción
Crear manualmente una definición de acciónPara crear una acción manualmente es necesario editar un archivo
de la base de datos. Este capítulo describe cómo crear definiciones
de acciones manualmente.Consultas adicionalesPara obtener una introducción a las acciones, consulte
el .Para obtener información sobre cómo utilizar
Crear Acción, consulte el .
Para obtener información de consulta sobre las definiciones
de acciones, consulte la página de manual dtactionfile(4).Razones por las que debe crear una acción
manualmenteaccionestipos deExisten tres tipos básicos de acciones:COMMANDMAPTT_MSGLa herramienta Crear Acción está
diseñada para crear determinados tipos de acciones COMMAND y MAP. Todas las acciones TT_MSG
deben crearse manualmente.Para obtener más información, consulte la sección
.
COMMAND, acciónaccionesCOMMANDAcciones
COMMANDUna acción command ejecuta un mandato que
inicia una aplicación o utilidad, ejecuta un script de shell o ejecuta
un mandato de sistema operativo. La definición de la acción
incluye el mandato que se debe ejecutar (EXEC_STRING).
La herramienta Crear Acción puede utilizarse para crear los tipos
más comunes de acciones de mandatos. Sin embargo, pueden existir situaciones
en las que se deba crear manualmente la acción; por ejemplo, deberá
crear un acción COMMAND manualmente si la acción
especifica:Argumentos de varios archivos con un indicador diferente para
cada argumento.Invocación de acción: la capacidad de las acciones
de invocar otras acciones.Comportamiento dependiente de la cuenta de argumentos: la
capacidad de crear una acción que tiene comportamientos muy diferentes
para diferentes números de argumentos de archivo.Un host de ejecución remota: la capacidad de ejecutar
una aplicación en un sistema distinto del que contiene la definición
de la acción.Un cambio de usuario: la capacidad de ejecutar la acción
como si se tratara de un usuario diferente (por ejemplo, solicitar la contraseña
root y luego ejecutar como root).MAP, accionesdefiniciónAcciones MAPaccionesMAPUna acción map es una acción que
''establece una correspondencia'' con otra acción en lugar de especificar
directamente un mandato o un mensaje de ToolTalk.El establecimiento de correspondencia proporciona la posibilidad de
especificar nombres alternativos para las acciones. Por ejemplo, una acción
de mandato incorporada llamada EditorIconos inicia el Editor de iconos. La
base de datos también incluye una acción Abrir, cuya definición
la restringe a los archivos de mapas de bits y de mapas de pixels (mediante
el campo ARG_TYPE), que establece una correspondencia
con la acción EditorIconos. Esto permite que el usuario inicie el Editor
de iconos seleccionando un archivo de mapas de bits o de mapas de pixels del
Gestor de archivos y luego eligiendo Abrir en el menú Seleccionado.
Crear Acción proporciona un establecimiento de correspondencia
limitado para las acciones Abrir e Imprimir. Todas las otras acciones de establecer
correspondencia deben crearse manualmente.accionesTT_MSGAcciones TT_MSG (Mensaje de ToolTalk)Las acciones TT_MSG envían un mensaje de
ToolTalk. Todas las acciones TT_MSG deben crearse manualmente.
Creación manual de una acción: Pasos
generalesaccionescrear manualmenteEsta sección explica cómo crear un archivo de configuración
para una definición de acción.Archivos de configuración para las accionesaccionesarchivos de configuracióarchivos de configuraciónacciónarchivos
dtLos archivos de configuración que contienen definiciones de acciones
deben satisfacer estos requisitos:Los archivos deben utilizar el convenio de denominación nombre.dtruta de búsqueda de bases de datosrutas de búsquedaaccionesLos archivos deben estar ubicados
en la ruta de búsqueda de bases de datos (acciones y tipos de acciones).
La ruta de búsqueda predeterminada es:Acciones personalesDirectorioInicio/.dt/typesAcciones accesibles en el sistema
/etc/dt/appconfig/types/idiomaAcciones incorporadas/usr/dt/appconfig/types/idioma. Este directorio no se
deberá utilizar.Para obtener información sobre cómo modificar la ruta
de búsqueda de acciones o tipos de datos, consulte la sección
.Crear una acción manualmenteaccionescrear manualmenteAbra un archivo existente de la base de datos o cree uno nuevo.
Consulte la sección anterior, .
Cree la definición de acción utilizando la sintaxis:
ACTION nombre_acción
{
TYPE tipo_acción
campo_acción
…
}donde:nombre_acciónaccionesnombreNombre utilizado para ejecutar la acción.
tipo_acciónaccionestipos deCOMMAND (valor predeterminado),
MAP o TT_MSG.campo_acciónaccionescamposUno de los campos necesarios u opcionales
para este tipo de acción. Todos los campos constan de una palabra clave
y de un valor.En este capítulo se tratan muchos de los
campos de acción. Para obtener más información, consulte
la página de manual dtactionfile(4).Guarde el archivo.Si desea que el icono de acción tenga una imagen exclusiva,
cree los iconos para la acción. La ubicación predeterminada
para los iconos es:Iconos personales: DirectorioInicio/.dt/iconsIconos accesibles en el sistema: /etc/dt/appconfig/icons/idioma. El idioma predeterminado es C.Para obtener más información, consulte la sección
.
Pulse dos veces Recargar acciones en el grupo de aplicaciones Herramientas_Escritorio.Cree un archivo de acción para la acción. El
archivo de acción crea en el Gestor de archivos o el Gestor de aplicaciones
un icono que representa la acción. (Si se escribe la acción
para iniciar una aplicación, el icono se denominaicono de aplicaciónicono de aplicación .)Para crear el archivo de acción, cree un archivo ejecutable con
el mismo nombre que nombre_acción. Puede poner el
archivo en cualquier directorio en el que tenga permiso de escritura. Puede
crear tantos archivos de acciones como desee.Ejemplo de creación de una acción
COMMANDCOMMAND, acciónejemploaccionesejemploLos siguientes pasos crean una acción personal que inicia una
aplicación de fax en el sistema remoto AppServerA. El mandato para
iniciar la aplicación de fax es:/usr/fax/bin/faxcompose [nombre de archivo]Cree el archivo DirectorioInicio/.dt/types/Fax.dt.Ponga la siguiente definición de acción en el
archivo:ACTION FaxComposer
{
TYPE COMMAND
ICON fax
WINDOW_TYPE NO_STDIO
EXEC_STRING /usr/fax/bin/faxcompose -c %Arg_1% EXEC_HOST AppServerA
DESCRIPTION Ejecuta el compositor fax
}Los campos WINDOW_TYPE y EXEC_STRING describen el comportamiento de la acción.WINDOW_TYPELa palabra clave NO_STDIO especifica que la acción no tiene que ejecutarse en una
ventana de emulador de terminal.Consulte la sección .EXEC_STRINGLa sintaxis %Arg_1%
acepta un archivo soltado. Si se pulsa dos veces la acción, ésta
abre una ventana vacía de componente de fax.Consulte la
sección .Guarda el archivo.Utilice el Editor de iconos para crear los siguientes archivos
de imágenes de iconos en el directorio DirectorioInicio/.dt/icons:fax.m.pm, 32 por 32 pixels de tamaqo
fax.t.pm, 16 por 16 pixels de tamaqo
Pulse dos veces Recargar acciones en el grupo de aplicaciones
Herramientas_Escritorio.Cree un archivo ejecutable llamandoFaxComposer
en un directorio en el que tenga permiso de escritura (por ejemplo, el directorio
de inicio)Ejemplo de creación de una acción
MAPMAP, accionesejemploaccionesejemploSuponga que la mayor parte de los archivos que envía por fax
se crean con el Editor de textos y son del tipo de datos TEXTFILE (archivos
llamados *.txt).Estos pasos añaden un elemento de menú ''Fax'' al menú
Seleccionado del tipo de datos.Abra el archivo DirectorioInicio/.dt/types/Fax.dt que se ha creado en el ejemplo anterior.Añada esta definición de acción de establecer
correspondencia al archivo:ACTION Fax
{
ARG_TYPE TEXTFILE
TYPE MAP
MAP_ACTION FaxComposer
}Guarde el archivo.Copie la definición de atributos de datos para TEXTFILE
de /usr/dt/appconfig/types/idioma/dtpad.dt en un nuevo archivo DirectorioInicio/.dt/types/textfile.dt. Añada
la acción Fax al campo ACTIONS.DATA_ATTRIBUTES TEXTFILE
{
ACTIONS Open,Print,Fax
ICON Dtpenpd
…
}Guarde el archivo.Abra el Gestor de aplicaciones y pulse dos veces Recargar
acciones en el grupo de aplicaciones Herramientas_Escritorio.Recargar la base de datos de acciones/tipos de
datostipos de datosrecargartipos de datosRecargar
accionesaccionesrecargarbase de datosrecargar accionesRecargar acciones, acciónbase de datosrecargarRecargar acciones, acciónPara que las definiciones de acciones nuevas o editadas entren en vigor,
el escritorio debe volver a leer la base de datos.Abra el grupo de aplicaciones Herramientas_Escritorio y pulse
dos veces Recargar acciones.O ejecute el mandato:dtaction RecargarAccionesRecargar acciones, acciónRecargarAcciones
es el nombre de la acción cuyo icono está etiquetado como ''Recargar
Acciones''.La base de datos de acciones también se vuelve a leer cuando
el usuario:Inicia la sesiónReinicia el Gestor de espacio de trabajoGuarda una acción en la ventana Crear acción
si se elige Guardar en el menú Archivoacción, iconocrearaplicación, iconocreararchivo de accióncrearCreación de un archivo
de acción (icono) para una acciónaccionesarchivos que representan, Vea archivo de acciónacción, iconoiconosiconos de acciónaccionesiconos que representanUnarchivo de acciónarchivo de acción es un archivo creado para proporcionar
una representación visual de la acción en el Gestor de archivos
o el Gestor de aplicaciones.Archivos de acción (también llamados
iconos de acción o iconos de aplicación) en el Gestor de aplicacionesPuesto que el icono de un archivo de acción representa una acción,
a veces se denomina icono de acciónicono de acción. Si la acción subyacente
inicia una aplicación, el icono del archivo de acción se denomina icono de aplicación.Si se pulsa dos veces el icono de acción se ejecuta la acción.
El icono de acción también puede ser una zona de soltar.Crear un archivo de acción (icono de acción)Cree un archivo ejecutable con el mismo nombre que elaccionesnombre nombre
de la acción. El contenido del archivo no tiene importancia.Por ejemplo, si la definición de acción es:ACTION MyFavoriteApp
{
EXEC_STRING Maf -file %Arg_1%
DESCRIPTION Ejecutar MiAplFavorita
ICON Maplf
}el archivo de acción será un archivo ejecutable llamado
MiAplFavorita. En el Gestor de archivos y el Gestor
de aplicaciones, el archivo MiAplFavorita utilizará
la imagen de icono Maplf.tamaño.tipo. Si pulsa
dos veces el icono de MiAplFavorita, se ejecutará
la cadena de ejecución de la acción y la Ayuda sobre el tema
del icono será el contenido delayudasobre el tema, archivoDESCRIPTION, campo campo DESCRIPTION
(Ejecutar MiAplFavorita).accionesetiquetasetiquetasaccionesLABEL, campo de acciónEtiquetas
de acciónSi la definición de acción incluye el campo LABEL, el archivo de acción se etiquetará en el Gestor
de archivos y el Gestor de aplicaciones con el contenido de este campo en
lugar del nombre de archivo (nombre_acción ). Por ejemplo, si la definición de acción incluye:
ACTION MyFavoriteApp
{
LABEL Aplicación favorita
…
}el icono de acción se etiquetará ''Aplicación favorita''.
Especificación de la imagen de icono utilizada
por una acciónaccionesiconos
paraiconosaccionesUtilice el campo ICON para especificar el icono utilizado
en el Gestor de archivos y el Gestor de aplicaciones para los iconos de acción
creados para la acción.Si no especifica ningún icono, el sistema utilizará los
archivos de imágenes de iconos de acción predeterminadosaccionesicono predeterminado/usr/dt/appconfig/icons/idioma/Dtactn.*.Imagen del icono de acción predeterminadoEl icono de acción predeterminado puede cambiarse utilizando
el recurso:actionIcon, recurso*actionIcon: nombre_archivo_iconodonde nombre_archivo_icono puede ser
un nombre base o una ruta absoluta.El valor del campo ICON puede ser:ICON, campovalores permitidosUn nombre de archivo base.Elnombre de archivo base
nombre de archivo base es el nombre del archivo que contiene la imagen de
icono menos los sufijos del nombre de archivo para el tamaños ( m y t) y el tipo de imagen (bm
y pm). Por ejemplo, si los archivos se llaman IconoJuegos.m.pm e IconoJuegos.t.pm, utilice IconoJuegos.Si utiliza el nombre de archivo base, los archivos de iconos deben ponerse
en un directorio de la ruta de búsqueda de iconos:Iconos personales: DirectorioInicio/.dt/iconsIconos accesibles en el sistema: /etc/dt/appconfig/icons/idiomaUna ruta absoluta al archivo de iconos, que incluya el nombre
de archivo completo.Sólo deberá utilizar la ruta absoluta si el archivo de
iconos no está ubicado en la ruta de búsqueda de iconos. Por
ejemplo, si el archivo de iconos IconoJuegos.m.pm está
ubicado en el directorio /doc/projects, que no está
en la ruta de búsqueda de iconos, el valor del campo ICON será /doc/projects/IconoJuegos.m.pm.
La lista los tamaños de iconos que deberá
crear y los correspondientes nombres de archivo.
Nombres y tamaños de iconos para los iconos
de acciónTamaño en pixelsNombre de mapa de bitsNombre de mapa de pixels48 por 48nombre.l.bmnombre.l.pm32 por 32nombre.m.bmnombre.m.pm16 por 16nombre.t.bmnombre.t.pm
Modificar una definición de acción existenteaccioneseditaraccionesmodificareditar accionesSe puede modificar cualquiera de las acciones disponibles en el sistema,
incluidas las acciones incorporadas.Tenga cuidado al modificar la base de datos de acciones incorporadas.
Las acciones incorporadas están diseñadas para funcionar correctamente
con las aplicaciones de escritorio.Localice la definición de la acción que desea
modificar.Las ubicaciones predeterminadas para las definiciones de acciones son:
Acciones incorporadas: /usr/dt/appconfig/types/idiomaAcciones accesibles en el sistema: /etc/dt/appconfig/types/idiomaAcciones personales: DirectorioInicio/.dt/types<$nopage>accionesruta de
búsqueda, Vea ruta de búsqueda de base de datosPuede que el sistema incluya ubicaciones adicionales. Para ver
una lista de las ubicaciones que el sistema utiliza para las acciones, ejecute
el mandato:dtsearchpathdtsearchpath
-vEl sistema utiliza los directorios listados enDTDATABASESEARCHPATH, variableusoDTDATABASESEARCHPATH.Si es necesario, copie el texto de la definición de
acción en un archivo nuevo o en uno existente de uno de estos directorios:
Acciones accesibles en el sistema: /etc/dt/appconfig/types/idiomaAcciones personales: DirectorioInicio/.dt/typesDebe copiar las acciones incorporadas puesto que no debe editar los
archivos del directorio /usr/dt/appconfig/types/idioma.Edite la definición de acción. Cuando haya terminado,
guarde el archivo.Pulse dos veces Recargar acciones en el grupo de aplicaciones
Herramientas_Escritorio.Prioridad en las definiciones de accionesaccionesreglas de prioridadprioridadconjunto de bases de datos de accionesCuando el usuario invoca una acción, el sistema busca en la base
de datos un nombre de acción que coincida. Cuando existe más
de una acción con dicho nombre, el sistema utiliza las reglas de prioridad
para decidir cuál debe utilizar.Si no es aplicable ninguna otra regla de prioridad, la prioridad
se basa en la ubicación de la definición. La siguiente lista
está ordenada de la prioridad más alta a la prioridad más
baja:Acciones personales (DirectorioInicio/.dt/types)Acciones locales accesibles en el sistema (/etc/dt/appconfig/types/idioma)Acciones remotas accesibles en el sistema (nombre de host:/etc/dt/appconfig/types/idioma). Los hosts remotos en los que se realiza
la búsqueda son los listados en la ruta de búsqueda de aplicaciones.
Acciones incorporadas (/usr/dt/appconfig/types/idioma)Dentro de un directorio determinado, los archivos *.dt se leen por orden alfabético.Las acciones restringidas por ARG_CLASS, campoARG_CLASS, ARG_TYPE, campoARG_TYPE, ARG_MODE, campoARG_MODE o ARG_COUNT, campoARG_COUNT tienen
prioridad sobre las acciones no restringidas. (El valor predeterminado para
estos cuatro campos es *.)Cuando sea aplicable más de una restricción, el orden
de prioridad de alta a baja es:ARG_CLASSARG_TYPEARG_MODEARG_COUNTCuando existe más de un ARG_COUNT restringido,
el orden de prioridad de alta a baja es:Valor de entero específico n<n>n*Por ejemplo, examinemos las siguientes partes de las definiciones de
acción:ACTION EditGraphics
# EditGraphics-1
{
ARG_TYPE XWD
…
}
ACTION EditGraphics
# EditGraphics-2
{
ARG_COUNT 0
…
}
ACTION EditGraphics
# EditGraphics-3
{
ARG_TYPE *
…
}Si se pulsa dos veces el icono de acción EditarGráficos
se inicia EditarGráficos-2 porque no se ha proporcionado ningún
argumento y ARG_COUNT0 tiene prioridad.
Si se proporciona un argumento de archivo de tipo XWD, se utilizará
EditarGráficos-1 porque especificaba el ARG_TYPE
XWD. EditarGráficos-3 se utiliza para todos los otros argumentos de
archivo.Creación de la cadena de ejecución
para una acción COMMANDaccionescadena de ejecucióncadena
de ejecuciónlínea
de mandatos para las accionesaccionescadena de ejecuciónCOMMAND, accióncadena de ejecución<$nopage>EXEC_STRING, campo,
Vea cadena de ejecución[EXEC_STRING campoaaa]Los requisitos mínimos para una acción COMMAND, accióncampos necesariosCOMMAND son dos campos: ACTION y
EXEC_STRING.ACTION nombre_acción
{
EXEC_STRING cadena_ejecución
}La cadena de ejecución es la parte más importante de una
definición de acción COMMAND. Utiliza una
sintaxis similar a la de la línea de mandatos que se ejecutaría
en un ventana Terminal pero incluye una sintaxis adicional para manejar argumentos
de archivo y de cadena.cadena de ejecucióncaracterísticas generalesCaracterísticas
generales de las cadenas de ejecuciónLas cadenas de ejecución pueden incluir:Argumentos de archivo y no de archivoSintaxis de shellRutas absolutas o nombres de ejecutablesArgumentos de acciónaccionesargumentosargumentospara accionesUn argumento es la información que un mandato o una aplicación
necesita para ejecutarse correctamente. Por ejemplo, examinemos la línea
de mandatos que se podría utilizar para abrir un archivo en el Editor
de textos:dtpad nombre de archivoEn este mandato nombre de archivo es
un argumento de archivo del mandato dtpad.Las acciones, al igual que las aplicaciones y los mandatos, pueden
tener argumentos. Existen dos tipos de datos que una acción COMMAND puede utilizar:ArchivosDatos de cadenaUtilización de shells en cadenas de ejecucióncadena de ejecuciónsintaxis de shellshellsintaxis
en cadena de ejecuciónLa cadena de ejecución se ejecuta directamente, en lugar de hacerlo
a través de un shell. Sin embargo, se puede invocar un shell de forma
explícita en la cadena de ejecución.Por ejemplo:EXEC_STRING \
/bin/sh -c \
'tar -tvf %(File)Arg_1% 2>&1 | \${PAGER:-more};\
echo \\n*** Seleccione Cerrar en el menú Ventana para cerrar *** '
Nombre o ruta absoluta del ejecutablecadena de
ejecuciónque especifica el ejecutableSi la aplicación está ubicada en un directorio listado
en laPATH, variable variable PATH, se puede utilizar el nombre simple del ejecutable. Si la
aplicación está en otro lugar, se deberá utilizar lacadena de ejecuciónruta absoluta en ruta absoluta al archivo ejecutable.Creación de una acción que no utiliza
argumentoscadena de ejecuciónsin argumentosaccionessin argumentosaccionessin datosUtilice la misma sintaxis para EXEC_STRING que
la que utilizaría para iniciar la aplicación desde una línea
de mandatos.EjemplosEsta cadena de ejecución forma parte de una acción
que inicia el cliente de X xcutsel.EXEC_STRING xcutselEsta cadena de ejecución inicia el cliente xclock con un reloj digital. La línea de mandatos incluye
una opción de línea de mandatos pero no necesita ningún
argumento.EXEC_STRING xclock -digitalCreación de una acción que acepta
un archivo soltadocadena de ejecuciónarchivos soltadosaccionesque aceptan archivos soltadoszona de soltaricono de acciónarchivo soltado, acción que aceptaUtilice esta sintaxis para el argumento de archivo:Arg_n, sintaxis%Arg_n%o%(File)Arg_n%(File) es opcional, puesto que se supone (valor
predeterminado) que los argumentos proporcionados en Arg_n son archivos. (Consulte la sección
para conocer el uso de la sintaxis %(String)Arg_n%. )Esta sintaxis permite al usuario soltar un objeto de archivo de datos
en el icono de acción para iniciar la acción con dicho argumento
de archivo. Sustituye el argumento n en la
línea de mandatos. El archivo puede ser local o remoto.EjemplosEsta cadena de ejecución ejecuta wc -w
utilizando un archivo soltado como parámetro.
EXEC_STRING wc -w %Arg_1%Este ejemplo muestra una parte de una definición de
una acción que sólo funciona con argumentos de directorio.
Cuando se suelta un directorio sobre el icono de acción, la acción
muestra una lista de todos los archivos del directorio que tienen permiso
de lectura-escritura.ACTION List_Writable_Files
{
ARG_TYPE FOLDER
EXEC_STRING /bin/sh -c 'ls -l %Arg_1% | grep rw-'
…
}Creación de una acción que solicita
un argumento de archivocadena de ejecuciónsolicitar archivoaccionesque solicitan archivoargumentossolicitarsolicitudes para acciones2Utilice esta sintaxis para el argumento de archivo:%(File)"solicitud"%Esta sintaxis crea una acción que muestra una solicitud de nombre
de archivo cuando el usuario pulsa dos veces el icono de acción.Por ejemplo, esta cadena de ejecución muestra un cuadro de diálogo
que solicita el argumento de archivo del mandato wc -w:
EXEC_STRING wc -w %(File)"Contar palabras en archivo:"%Creación de una acción que acepta
un archivo soltado o solicita unoaccionesque aceptan archivo soltado o lo solicitanUtilice esta sintaxis para el argumento de archivo:%Arg_n"solicitud"%o%(File)Arg_n"solicitud"%Esta sintaxis produce una acción que:Acepta un archivo soltado como argumento de archivo.Muestra un cuadro de diálogo que solicita un nombre
de archivo cuando el usuario pulsa dos veces el icono de acción.Por ejemplo, esta cadena de ejecución realiza lp -oraw en un archivo soltado. Si la acción se inicia al pulsar
dos veces el icono, aparece un cuadro de diálogo que solicita el nombre
de archivo.EXEC_STRING lp -oraw %Arg_1"Archivo a imprimir:"%Creación de una acción que solicita
un argumento no de archivocadena de ejecuciónque solicita cadenaaccionesargumentos no de archivoargumentono de archivocadena, argumentos de acciónaccionesargumentos
no de archivoUtilice esta sintaxis para el parámetro que no es de archivo:
%"solicitud"%o%(String)"solicitud”
%(Cadena) es opcional, puesto que el texto entre
comillas se interpreta, de forma predeterminada, como si fueran datos de la
cadena. Esta sintaxis muestra un cuadro de diálogo que solicita datos
que no sean de archivo; no utilice esta sintaxis cuando se solicite un nombre
de archivo.Por ejemplo, esta cadena de ejecución ejecuta el mandato xwd y solicita que se añada un valor a cada pixel:EXEC_STRING xwd -add % "Añadir valor:"% -out %Arg_1"Nombre de archivo:"%
Interpretación de un argumento de archivo
como si se tratara de una cadenaUtilice esta sintaxis para el argumento:%(Cadena)Arg_n%Por ejemplo, esta cadena de ejecución imprime un archivo con
un mensaje de cabecera que contiene el nombre de archivo, utilizando el mandato lp -tcabecera nombre de archivo.EXEC_STRING lp -t%(String)Arg_1% %(File)Arg_1"Archivo a imprimir:"%
Cómo proporcionar posibilidades de shell
en una acciónaccionesproporcionar
shellsshellsen accionesshellutilizado en acciónEspecifique el shell en la cadena de ejecución:/bin/sh -c 'mandato'/bin/ksh -c 'mandato'/bin/csh -c 'mandato'EjemplosEsta cadena de ejecución ilustra una acción
que utiliza conductos de shell.EXEC_STRING /bin/sh -c 'ps | lp'Ésta es una cadena de ejecución más compleja
que requiere el proceso de shell y acepta un argumento de archivo.EXEC_STRING /bin/sh -c 'tbl %Arg_1"Página Man:"% | troff -man'
Esta cadena de ejecución requiere que el argumento
sea un archivo comprimido. La acción descomprime el archivo y lo imprime
utilizando lp -oraw.EXEC_STRING /bin/sh -c 'cat %Arg_1"Archivo a imprimir:"% | \
uncompress | lp -oraw'Esta cadena de ejecución inicia un script de shell.
EXEC_STRING /usr/local/bin/StartGnuClientCreación de acciones COMMAND para múltiples argumentos
de archivocadena de ejecuciónmúltiples argumentos de archivoargumentosmúltiples para accionesExisten tres procedimientos para que las acciones manejen múltiples
argumentos de archivo:Se puede ejecutar la acción repetidamente, una vez
para cada argumento. Cuando EXEC_STRING contiene un único
argumento de archivo y se proporcionan múltiples argumentos de archivo
al soltar varios archivos sobre el icono de acción, la acción
se ejecuta por separado para cada argumento de archivo.Por ejemplo, si se proporcionan múltiples argumentos de archivo
a la siguiente definición de acción:ACTION DisplayScreenImage
{
EXEC_STRING xwud -in %Arg_1%
…
}La acción MostrarImagenPantalla se ejecuta repetidamente.La acción puede utilizar dos o más argumentos
de archivo no intercambiables. Por ejemplo:xsetroot -cursor archivo de cursor archivo de máscaranecesita dos únicos archivos en un orden determinado.La acción puede realizar el mismo mandato de forma
secuencial en cada argumento de archivo. Por ejemplo:pr archivo
[archivo …]imprimirá uno o muchos archivos en un trabajo de impresión.
Creación de una acción para argumentos
no intercambiablesaccionesargumentos
no intercambiablesargumentosno intercambiables, para accionesUtilice uno de los siguientes convenios de sintaxis:Si desea que la acción solicite los nombres de archivo,
utilice esta sintaxis para cada argumento de archivo:%(File)"solicitud"%Utilice una cadena solicitud diferente
para cada argumento.Por ejemplo, esta cadena de ejecución solicita dos archivos.
EXEC_STRING xsetroot -cursor %(File) Mapa de bits de cursor: % \
%(File) Mapa de bits de máscara: %Para aceptar archivos soltados, utilice esta sintaxis para
cada argumento de archivo:%Arg_n%utilizando distintos valores de n para
cada argumento. Por ejemplo:EXEC_STRING diff %Arg_1% %Arg_2%Creación de una acción con argumentos
de archivo intercambiablesaccionesargumentos intercambiablesargumentosintercambiables para accionesUtilice uno de los siguientes convenios de sintaxis:Para crear una acción que acepte archivos soltados
y emita un mandato con el formato mandato archivo1archivo
2 …, utilice esta sintaxis para los argumentos de archivo:
%Args%Para crear una acción que acepte varios archivos soltados
o muestre una solicitud de un único archivo cuando se pulse dos veces,
utilice esta sintaxis para los argumentos de archivo:%Arg_1"solicitud"% %Args%La acción emitirá el mandato con el formato: mandato archivo1archivo2 ….EjemplosEsta cadena de ejecución crea una acción que
ejecuta:pr archivo1archivo2con múltiples argumentos de archivo.EXEC_STRING pr %Args%Esta cadena de ejecución crea una acción similar
a la del ejemplo anterior, excepto en que la acción muestra una solicitud
cuando se pulsa dos veces (sin argumentos de archivo).EXEC_STRING pr %Arg_1"Archivo(s) a imprimir:"% %Args%Creación de una acción para múltiples
archivos soltadosaccionesque aceptan
múltiples archivos soltadosPara aceptar argumentos de múltiples archivos soltados y ejecutar
una línea de mandatos con el formato:mandatoarchivo1archivo
2 …utilice la sintaxis:%Args%EjemplosEsta cadena de ejecución ejecuta un script llamado
Checkout para múltiples archivos:EXEC_STRING /usr/local/bin/Checkout \
%Arg_1"¿Comprobar qué archivo?"% %Args%Esta cadena de ejecución ejecuta lp -oraw con múltiples archivos:EXEC_STRING lp -oraw %Arg_1"Archivo a imprimir:"% %Args%Soporte de ventanas y emuladores de terminal
para acciones COMMANDaccionessoporte
de ventanas paraemulador de terminalpara accionesExisten varios 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 proporcione soporte de ventanas
adicional. Esta opción también se utiliza cuando una acción
ejecuta un mandato 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 varias opciones
de terminal.Especificación del soporte de ventana
para la acciónUtilice el campo WINDOW_TYPE para especificar el
tipo de soporte de ventanas necesario para la acción.WINDOW_TYPE, campoWINDOW_TYPESoporte de ventanas proporcionadoNO_STDIO,
soporte de ventanaNO_STDIONinguno. Utilice NO_STDIO si la aplicación tiene su propia ventana o el mandato no
tiene salida visible.PERM_TERMINAL,
soporte de ventanaPERM_TERMINALVentana 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 entrar datos
en la ventana. Utilícelo con mandatos que toman entrada, producen una
salida y luego terminan (por ejemplo, lsdirectorio).TERMINAL,
soporte de ventanaTERMINALVentana de emulador de terminal temporal.
La acción abre una ventana de terminal que se cierra tan pronto como
se completa el mandato. Utilícelo con mandatos de pantalla completa
(por ejemplo, vi).Especificación de opciones de línea
de mandatos para el emulador de terminalemulador de terminalopciones de línea de mandatos para accionesaccionesopciones de
terminalUtilice el campo TERM_OPTS de la definición
de acción para especificar opciones de línea de mandatos para
el emulador de terminal.Por ejemplo, la siguiente acción solicita el host de ejecución:
ACTION OpenTermOnSystemUserChooses
{
WINDOW_TYPE PERM_TERMINAL
EXEC_HOST %(String)"Terminal remota activada:"%
TERM_OPTS -title %(String)"Título de ventana:"%
EXEC_STRING $SHELL
}Especificación de un emulador de terminal
predeterminado diferenteemulador de terminalvalor predeterminado para accionesaccionessoporte de terminal paraaccionesterminal predeterminadaEl emulador de terminal predeterminado utilizado por las acciones es dtterm. Se puede cambiar este emulador de terminal por otro. El
emulador de terminal predeterminado 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 mandatos:-titletítulo_ventana-emandatoDos recursos determinan el emulador de terminal predeterminado utilizado
por las acciones:localTerminal, recursoEl
recurso localTerminal especifica el emulador de terminal
utilizado por las aplicaciones locales.*localTerminal: terminalPor ejemplo:*localTerminal: xtermEl recurso remoteTerminal especifica el emulador de terminal utilizado por las aplicaciones
remotas.*remoteTerminal: host:terminal [,host:terminal…]Por ejemplo:*remoteTerminal: sysibm1:/usr/bin/xterm,syshp2:/usr/bin/yterm
accionesrestringir argumentosargumentosrestringir para accionesRestricción
de acciones a determinados argumentosSi se restringe una acción a un determinado tipo de argumento,
la acción se perfecciona. Por ejemplo, es útil restringir una
acción que invoca un visor de archivos PostScript sólo a los
argumentos de archivos PostScript; con la restricción, la acción
devolverá un diálogo de error si se especifica un archivo que
no es PostScript.Puede restringir acciones basándose en:El tipo de datos del argumento de archivo.El número de argumentos de archivo (por ejemplo, ningún
argumento contra a uno o más argumentos. Esto proporciona un comportamiento
diferente al soltar y pulsar dos veces sobre el icono de acción).El modo de lectura/escritura del argumento.Restricción de una acción a un
tipo de datos especificadoaccionesrestringidas por el tipo de datostipos de datosrestringir acciones basándose enARG_TYPE, campoUtilice el
campo ARG_TYPE para especificar los tipos de datos para
los que es válida la acción. Utilice el nombre de atributo de
los datos.Puede entrar una lista de tipos de datos, separando las entradas con
comas.Por ejemplo, en la siguiente definición de acción se supone
que se ha creado un tipo de datos Gif.ACTION Open_Gif
{
TYPE COMMAND
LABEL Mostrar Gif
WINDOW_TYPE NO_STDIO
ARG_TYPE Gif
ICON xgif
DESCRIPTION Muestra archivos gif
EXEC_STRING xgif
}Restricción de una acción basándose en el número
de argumentosaccionesrestricciones
de la cuenta de argumentosargumentosnúmero para las accionesARG_COUNT, campoUtilice el
campo ARG_COUNT para especificar el número de
argumentos que puede aceptar la acción. Los valores válidos
son:*(Valor predeterminado) Cualquier número
de argumentos. Otros valores tienen prioridad sobre *.nCualquier entero no negativo, incluido
0.>nMás de n argumentos.<nMás de n argumentos.Una de las finalidades del uso de ARG_COUNT es
proporcionar un comportamiento diferente del icono de acción, en función
de si el usuario pulsa dos veces el icono o suelta un archivo sobre él.
Consulte la sección siguiente .Proporcionar un comportamiento diferente al pulsar
dos veces y al soltaraccionesfunciones
diferentes de pulsar dos veces y soltarARG_COUNT, campoUtilice este procedimiento para crear una acción que acepte
un archivo soltado pero que no solicite un archivo cuando se pulse dos veces
el icono de acción.Cree una definición de acción para las funciones
de doble pulsación.Utilice el campo ARG_COUNT para especificar 0 argumentos. Utilice una sintaxis para EXEC_STRING
que no acepte un argumento soltado.Cree una segunda definición de acción para las
funciones de soltar.Utilice el campo ARG_COUNT para especificar >0 argumentos. Utilice una sintaxis para EXEC_STRING que acepte un archivo soltado.Por ejemplo, supongamos que las dos líneas de mandatos siguientes
pueden utilizarse para iniciar un editor llamado vedit:
Para iniciar el editor sin ningún argumento de archivo:
veditPara iniciar el editor con un argumento de archivo que se
abre como documento de sólo lectura:vedit -R nombre
de archivoLas dos acciones siguientes crean funciones de soltar y pulsar dos veces
para una acción llamada Vedit. La primera acción tiene prioridad
cuando se busca una coincidencia en la base de datos, puesto que ARG_COUNT 0 es más específica que la ARG_COUNT
* implícita de la definición de funciones de soltar.
# Funciones de pulsar dos veces
ACTION Vedit
{
TYPE COMMAND
ARG_COUNT 0
WINDOW_TYPE PERM_TERMINAL
EXEC_STRING vedit
}
# Funciones de soltar
ACTION Vedit
{
TYPE COMMAND
WINDOW_TYPE PERM_TERMINAL
EXEC_STRING vedit -R %Arg_1%
}Restricción de una acción basándose en el modo
del argumentoUtilice el campo ARG_MODE para especificar el modo
de lectura/escritura del argumento. Los valores válidos son:*(Valor predeterminado) Cualquier modo
!wNo se puede escribirwSe puede escribirCreación de acciones que ejecutan aplicaciones
en sistemas remotosaccionesejecutar
aplicaciones remotasejecución
remotamediante accionesCuando se tratan las acciones y la ejecución remota, se utilizan
con frecuencia dos términos:host de base de
datoshost de base de datosSistema que contiene la definición
de acciónhost de ejecucióncrear acciones parahost de ejecución
Sistema en que se ejecuta el archivo
ejecutableEn la mayoría de situaciones, las acciones y sus aplicaciones
están ubicadas en el mismo sistema; dado que el host de ejecución
predeterminado para una acción es el host de la base de datos, no se
requiere ninguna sintaxis especial.Sin embargo, cuando el host de ejecución es diferente del host
de la base de datos, la definición de acción debe especificar
dónde debe ejecutarse la cadena de ejecución.La capacidad para localizar acciones y aplicaciones en sistema diferentes
forma parte de la arquitectura de cliente/servidor del escritorio. Para obtener
una descripción más completa de las aplicaciones de red, consulte
la sección .
Creación de una acción que ejecuta
una aplicación remotaEXEC_HOST, campo%DatabaseHost%%LocalHost%%DisplayHost%%SessionHost%EXEC_HOST, campohost de ejecuciónespecificado por el
campo EXEC_HOSTUtilice el campo EXEC_HOST de la definición de acción para especificar la ubicación
de la aplicación.Los valores válidos para EXEC_HOST son:
DataBaseHost,
palabra clave%DatabaseHost%Host donde se define la acción.
%LocalHost%Host donde se invoca la acción
(el servidor de sesiones).DisplayHost,
palabra clave%DisplayHost%Host que ejecuta el servidor de X (no
permitido para terminales X).SessionHost,
palabra clave%SessionHost%Host donde se está ejecutando
el Gestor de inicio de sesión de control.nombre de hostHost mencionado. Utilice este valor
para entornos en los que la acción debe invocarse siempre en un host
determinado.%"solicitud"%Solicita el nombre de host al usuario
cada vez que se invoca la acción.El valor predeterminado es %DatabaseHost%, %LocalHost%.EXEC_HOST, campovalor predeterminado De este modo, cuando se omite
el campo EXEC_HOST, primero la acción intenta
ejecutar el mandato en el host que contiene la definición de acción.
Si esto falla, la acción intenta ejecutar el mandato en el servidor
de sesiones.EjemplosEste campo especifica el host ddsyd:EXEC_HOST ddsydEl campo solicita un nombre de host:EXEC_HOST % Host que contiene aplicación: %Este campo especifica que la acción intentará
ejecutar la aplicación en el host que contiene la definición
de acción. Si esto falla, la acción intentará ejecutar
la aplicación en el host ddsyd.EXEC_HOST %DatabaseHost%, ddsydUtilización de variables en las definiciones
de acción y de tipo de datosvariablesen definiciones de acciónaccionesvariables en definicionestipos de datosvariables
en definicionesSe pueden incluir variables de cadena y variables de entorno en los
archivos de definición de acciones y de tipos de datos.Utilización de variables de cadena en
una acciónvariables de cadena en definiciones
de accionesaccionesvariables de cadena enUna definición de variable de cadena permanece en vigor desde
la ubicación de la definición hasta el fin del archivo. No
existen variables de cadena globales para la base de datos.Si una variable de cadena y una variable de entorno tienen el mismo
nombre, tiene prioridad la variable de cadena.Definir una variable de cadenaUtilice la sintaxis:set nombre_variable=valorLos nombres de variables pueden contener cualquier carácter alfanumérico
y subrayado (_). Cada definición de variable debe
estar en una línea separada.Por ejemplo:set Remote_Application_Server=sysapp
set Remote_File_Server=sysdataHacer referencia a una variable de cadenaUtilice la sintaxis:$[{]nombre_variable[}]Por ejemplo:EXEC-HOST $Remote_Application_Server
CWD /net/${Remote_File_Server}/doc/projectUtilización de variables de entorno en
las acciones y los tipos de datosvariables de entornodefiniciones de accionesaccionesvariables de entornoHaga referencia a una variable de entorno utilizando la sintaxis:
$[{]variable[}].La variable se amplía (se sustituye por su valor) cuando se carga
la base de datos. Si una variable de cadena y una variable de entorno tienen
el mismo nombre, tiene prioridad la variable de cadena.Por ejemplo, esta cadena de ejecución imprime un archivo con
un mensaje de cabecera que contiene el nombre de inicio de sesión.
EXEC-STRING lp -t$LOGNAME %(File)Arg_1%Invocación de acciones desde una línea
de mandatosaccionesque ejecutan
otras accionesEl escritorio proporciona el mandato dtaction para
ejecutar acciones desde una línea de mandatos. dtaction
se puede utilizar para ejecutar acciones desde:ScriptsOtras accionesUna línea de mandatos de emulador de terminalSintaxis de dtactiondtactionsintaxisdtaction [-user nombre_usuario]
[-execHost nombre de host] nombre_acción [argumento
[argument]…]-usernombre_usuarioProporciona la posibilidad de ejecutar
la acción como si se tratara de un usuario diferente. Si un usuario
invoca dtaction y dicho usuario no es nombre_usuario, se muestra una solicitud de contraseña.-execHostnombre de hostSólo para acciones COMMAND; especifica el host en el que se ejecutará el mandato.
argumentoArgumentos para la acción; generalmente
argumentos de archivo.El cliente de dtaction tiene opciones adicionales
de línea de mandatos. Para obtener más información,
consulte la página de manual dtaction(1).Creación de una acción que ejecuta otra acciónaccionesque ejecutan otras accionesUtilice dtaction en el EXEC_STRING
de la acción.Por ejemplo, la siguiente acción utiliza una acción incorporada
llamada Ortografía (la acción se etiqueta como ''Verificar
Ortografía'' en el Gestor de aplicaciones). La nueva acción
ejecuta el Editor de textos y la acción Ortografía, mostrando
los errores de ortografía en una ventana separada del emulador de
terminal.ACTION EditAndSpell
{
WINDOW_TYPE NO_STDIO
EXEC_STRING /bin/sh -c 'dtaction Spell \
%Arg_1 Archivo: %; dtpad %Arg_1%'
}Creación de una acción que se ejecuta
como un usuario diferenteaccionesejecutar como usuario diferenteusuario, cambiar para accióndtactionutilizada para cambiar usuarioUtilice la siguiente sintaxis en EXEC_STRING:
EXEC_STRING dtaction -user nombre_usuarionombre_acción [argumento_archivo]El nuevo usuario (nombre_usuario) debe
tener acceso para mostrar en el sistema, mediante uno de los siguientes mecanismos:
Permiso de lectura en el archivo .Xauthority
del usuario de inicio de sesiónO, permiso de xhostPor ejemplo, las dos acciones siguientes proporcionan la posibilidad
de convertirse en root y editar un archivo app-defaults.ACTION AppDefaults
{
WINDOW_TYPE NO_STDIO
EXEC_STRING /usr/dt/bin/dtaction -user root\
EditAppDefaults %Arg_1 Archivo: %
}
ACTION EditAppDefaults
{
WINDOW_TYPE TERMINAL
EXEC_STRING /bin/sh -c 'chmod +w %Arg_1%;\
vi %Arg_1%; chmod -w %Arg_1%'
}Creación de acciones de entorno nacionalaccionesde entorno nacionalentorno nacionalaccionesLa ruta de búsqueda de tipos de datos incluye ubicaciones que
dependen del idioma. El escritorio utiliza el valor de LANG
para determinar las ubicaciones en las que se deben buscar las definiciones
de tipos de datos.Ubicaciones de las acciones de entorno nacionalLas definiciones de acciones de entorno nacional deben ponerse en los
directorios dependientes del idioma adecuados de la ruta de búsqueda
de acciones.La ruta de búsqueda predeterminada es:Acciones personales: DirectorioInicio/.dt/typesAcciones accesibles en el sistema: /etc/dt/appconfig/types/idiomaAcciones incorporadas: /usr/dt/appconfig/types/idiomaEstablecer el entorno nacional para una acción existenteaccionesetiquetasetiquetasaccionesentorno nacionaletiqueta de acciónCree un archivo en el directorio adecuado dependiente del
idioma (por ejemplo, en /etc/dt/appconfig/types/japanese)
.Copie la definición de acción en el archivo
de configuración dependiente del idioma.Por ejemplo, puede copiar una definición de acción de
apl_raíz/dt/appconfig/types/C/archivo.dtenapl_raíz/dt/appconfig/types/japanese/nuevoarchivo.dtAñada un campo LABEL o modifique
el campo LABEL existente.LABEL cadenaEl Gestor de aplicaciones y el Gestor de archivos utilizan la cadena
de etiqueta para identificar el icono de la acción.Establezca el entorno nacional para cualquiera de los siguientes
campos en la definición de acción:Para iconos de entorno nacional: ICONPara ayuda sobre el tema de entorno de nacional: DESCRIPTIONPara indicadores de solicitud de entorno nacional: cualquier
texto entre comillas en EXEC_STRINGCreación de acciones para aplicaciones
de ToolTalkTT_MSG, accióncrearToolTalkaplicaciones, acciones para<$nopage>ToolTalkacción, Vea TT_MSG, acciónLa información siguiente sólo es aplicable a las aplicaciones
que soportan mensajes de ToolTalk.Utilice el tipo de acción TT_MSG para crear
una acción que envía un mensaje de ToolTalk.ACTION nombre_acción
{
TYPE TT_MSG
…
}Campos addressing y dispositionEl campo addressing de ToolTalk se establece
siempre en TT_PROCEDURE.El campo disposition de ToolTalk toma
como valor predeterminado la especificación del patrón estático
del mensaje.Mensajes no soportadosLas acciones de tipo TT_MSG no soportan lo siguiente:
Mensajes orientados a objetos de ToolTalkArgumentos de contexto en mensajesPalabras clave para las acciones TT_MSGTT_MSG,
acciónpalabras clavePalabra claveUsoTT_CLASSDefine el valor del campo class del mensaje de ToolTalkTT_SCOPEDefine el valor del campo scope del mensaje de ToolTalkTT_OPERATIONDefine el valor del campo operation del mensaje de ToolTalk.TT_FILEDefine el valor del campo file del mensaje de ToolTalkTT_ARGn_MODEDefine el valor del atributo mode de ToolTalk para el nésimo
argumento de mensajeTT_ARGn_VTYPEDefine el valor del atributo vtype de ToolTalk del nésimo
argumento de mensajeTT_ARGn_VALUEDefine el valor del nésimo argumento de mensaje