Examinemos el tipo de datos XWD. El usuario crea un archivo de tipo XWD al que asigna uno de los dos sufijos (extensiones) de nombre de archivo: .xwd o.wd. El escritorio utiliza el nombre de archivo como criterio para asignar a éste dicho tipo.
El tipo de datos XWD proporciona a cada archivo de dicho tipo de datos:
Un icono exclusivo que ayuda a los usuarios a reconocer los archivos de datos.
Ayuda sobre el tema que informa sobre el tipo de datos.
Un menú Seleccionado personalizado en el Gestor de archivos, que contiene las acciones Abrir e Imprimir. La acción Abrir para archivos XWD ejecuta la acción Xwud.
El menú Seleccionado del Gestor de archivos sólo está activo cuando se selecciona un archivo o directorio. Los comandos que aparecen en la parte inferior del menú Seleccionada dependen del tipo de datos. Por ejemplo, si se selecciona un archivo XWD el menú Seleccionado incluye los elementos Abrir e Imprimir.
El campo ACTIONS de la definición del tipo de datos especifica los comandos que se agregan a la parte inferior del menú Seleccionado del tipo de datos.
DATA_ATTRIBUTES XWD { ACTIONS Open,Print ... }
El contenido del menú Seleccionado depende del tipo de datos. Sin embargo, muchos tipos de datos diferentes proporcionan una acción Open, esto es, al seleccionar en el Gestor de archivos un archivo de ese tipo de datos concreto y mostrar el menú Seleccionado, verá un elemento Abrir.
Generalmente, la acción Open ejecuta la aplicación con la cual está asociado el archivo de datos. Por ejemplo, al abrir un archivo XWD se ejecuta la acción Xwud, que a su vez ejecuta el cliente X xwud para mostrar la imagen de pantalla. En otras palabras, para el tipo de datos XWD, la acción Open es sinónimo de la acción Xwud. Del mismo modo, al abrir un archivo del tipo de datos TEXTFILE se ejecuta el Editor de texto, y al abrir un archivo BM (mapa de bits) o PM (mapa de píxels) se ejecuta el Editor de iconos.
La capacidad de crear diversas acciones Abrir que realizan cosas diferentes utiliza dos de las características de la definición de acciones:
La reasignación de acciones permite crear una acción que, en lugar de ejecutar directamente un comando, ejecute otra acción. Por ejemplo, puede crear una acción Open que se corresponda con (ejecute) la acción Xwud.
restricciones de tipo de datos en una acción
Las definiciones de acciones pueden incluir un campo ARG_TYPE que limita la acción a determinados tipos de datos. Por ejemplo, puede especificar que la acción Open asignada a la acción Xwud se aplique sólo a archivos del tipo de datos XWD.
Ésta es la definición de la acción que reasigna a la acción Open la acción Xwud para el tipo de datos XWD. Se encuentra en el archivo de configuración de base de datos /usr/dt/appconfig/types/C/xclients.dt.
ACTION Open { LABEL Open ARG_TYPE XWD TYPE MAP MAP_ACTION Xwud }
El campo TYPE especifica que la acción es de tipo map (reasigna funciones); el campo MAP_ACTION especifica que esta acción ejecuta la acción Xwud. El campo ARG_TYPE especifica que esta acción se aplica únicamente a los archivos cuyo tipo de datos sea XWD.
Compare la definición anterior de la acción Open con la siguiente definición, que aparece en el archivo de base de datos /usr/dt/appconfig/types/C/dt.dt.
ACTION Open { LABEL Open ARG_TYPE BM TYPE MAP MAP_ACTION Dticon }
Esta definición se aplica a los archivos del tipo de datos (ARG_TYPE) BM (archivos de mapa de bits). La definición reasigna a la acción Open una acción Dticon, que ejecuta el Editor de iconos.
El comportamiento del tipo de datos cuando se hace un doble clic se define en la primera entrada del campo ACTIONS. Por ejemplo, en el tipo de datos XWD, cuando se hace doble clic se ejecuta la acción Abrir, que a su vez ejecuta la acción Xwud.
Cuando el usuario suelta un archivo de datos sobre un icono de acción, el sistema ejecuta ésta mediante el archivo de datos como argumento de la acción (véase "Cómo las acciones utilizan archivos de datos como argumentos").
Por ejemplo, cuando se suelta un archivo XWD sobre el icono Mostrar Xwd, se ejecuta la acción Xwud mediante el archivo de datos como argumento. Esto hace que se ejecute el cliente X xwud con ese archivo de datos.