Personalización avanzadaPanel Frontalpersonalización del
Panel FrontalLos usuarios pueden personalizar el Panel Frontal utilizando los menús
emergentes y los controles de Instalar Icono de los subpaneles.Este capítulo trata sobre la personalización del Panel
Frontal mediante la creación y edición de archivos de configuración.
Consultas adicionalesPara obtener información de consulta
sobre los controles y la configuración del Panel Frontal, consulte
la página de manual dtfpfile(4X).
Para obtener información de consulta sobre el Gestor
de espacios de trabajo, consulte las páginas de manual dtwm(1) y dtwmrc(4).Archivos de configuración del Panel Frontalarchivos de configuraciónPanel FrontalPanel Frontalarchivos de configuraciónEl Panel Frontal se define en una base de datos de archivos de configuración.
Los archivos de configuración proporcionan un procedimiento para
personalizar el Panel Frontal. Ciertas modificaciones, entre las que se incluyen
las siguientes, sólo se pueden realizar editando un archivo de configuración:
Añadir una nueva posición de control en el Panel
Frontal.Añadir tipos especiales de controles, tales como ventanas
de clientes.Cambiar determinados comportamientos predeterminados: por
ejemplo, si los controles del Panel Frontal responden a una pulsación
o a una doble pulsación.Para proporcionar la máxima flexibilidad en la configuración
del panel, estos archivos pueden ser personales, accesibles en el sistema
o ubicados en otros sistemas.El Panel Frontal lo crea y lo gestiona el Gestor de espacios de trabajo.
Archivo de configuración del Panel Frontal predeterminadoEl Panel Frontal predeterminado está definido en el archivo de
configuración del Panel Frontal /usr/dt/appconfig/types/idioma/dtwm.fp.dtwm.fp, archivoEste archivo no debe modificarse.Ruta de búsqueda para los archivos de configuración del
Panel Frontalrutas de búsquedadefiniciones del Panel FrontalPanel Frontalruta de búsquedaLa definición del Panel Frontal puede distribuirse entre cualquier
número de archivos ubicados localmente o en sistemas remotos.Panel Frontalconvenio de denominación
para archivosLos archivos utilizados para definir
el Panel Frontal deben cumplir estos requisitos:El nombre de archivo debe terminar por .fp;
por ejemplo, mail.fp.El archivo debe estar ubicado en la ruta de búsqueda
de la base de datos de acciones.La ruta de búsqueda de base de datos de acciones predeterminada
incluye estos directorios, en los que se realiza la búsqueda en este
orden:DirectorioInicio/.dt/typesPersonalizaciones personales/etc/dt/appconfig/types/idiomaPersonalizaciones accesibles en el
sistema/usr/dt/appconfig/types/idiomaPanel y controles incorporadosSe utiliza un directorio adicional, DirectorioInicio/.dt/types/fp_dynamicfp_dynamic,
directorioPanel Frontalpersonalizaciones dinámicasfp_dynamic, directorioPanel Frontalpersonalizaciones dinámicas , para las personalizaciones personales
efectuadas con la interfaz de usuario. No utilice este directorio para las
personalizaciones manuales.La ruta de búsqueda de la base de datos de acciones puede incluir
directorios adicionales añadidos para configurar el sistema para la
función de red. En concreto, las ubicaciones remotas adicionales se
añaden cuando se configura el sistema para acceder a un servidor de
aplicaciones. Para obtener más información, consulte la sección
.
Cómo se ensambla el Panel Frontal: Reglas
de prioridadPanel Frontalprioridad
en el ensamblajeprioridadensamblaje del Panel FrontalEl Panel Frontal se ensambla a partir de todos los archivos de configuración
ubicados en la ruta de búsqueda de la base de datos de acciones.Cuando existe un conflicto entre los componentes de la definición,
las reglas de prioridad determinan la definición que se debe utilizar.
Dos componentes están en conflicto entre sí cuando:Tienen el mismo nombre de control, CONTAINER_NAME, y CONTAINER_TYPE.O compiten por la misma posición (tienen nombres diferentes
pero los mismos CONTAINER_NAME, CONTAINER_TYPE y POSITION_HINTS).El Panel Frontal utiliza estas reglas de prioridad:Si los componentes tienen el mismo nombre de control y los
mismos nombres y tipos de contenedor, se utiliza el componente que se lee
primero.Por ejemplo, si un control accesible en el sistema y un control incorporado
contienen estos campos, pero en cambio son diferentes:CONTROL TextEditor
{
CONTAINER_TYPE BOX
CONTAINER_NAME Top
…
}el control accesible en el sistema tiene prioridad.Si dos componentes compiten por la misma posición,
se ponen en el orden en que se leen.Por ejemplo, si un usuario crea un nuevo control personal para el Panel
Principal (CONTAINER_TYPE BOX y CONTAINER_NAME Top) y le asigna POSITION_HINTS 5, el control
personal desplazará el control incorporado y el restode controles con
números de posición más altos una posición a la
derecha.Cuando modifique un control creando una nueva versión del mismo
accesible en el sistema o personal, la nueva definición de control
debe especificar el mismo nombre de control CONTAINER_NAME
y CONTAINER_TYPE. De lo contrario, además del
control existente aparecerá el nuevo control.Panel Frontalpersonalizaciones
dinámicasArchivos del Panel Frontal creados
dinámicamenteCuando el usuario personaliza el Panel Frontal utilizando el control
Instalar Icono y los menús emergentes, los archivos se graban en el
directorio DirectorioInicio/.dt/types/fp_dynamic.El Panel Frontal crea un archivo adicional, DirectorioInicio/.dt/sessions/dtwmfp.sessiondtwmfp.session, archivo, que se utiliza para
guardar y restaurar en cada sesión el estado del Panel Frontal personalizado.
Administración de las personalizaciones
de la interfaz de usuarioLos usuarios pueden utilizar los menús emergentes de los controles
y los controles de Instalar Iconos para personalizar ampliamente el Panel
Frontal.Esta sección describe cómo:Impedir determinadas personalizaciones personales. Por ejemplo,
tal vez le convenga imposibilitar que un usuario suprima un control.Deshacer personalizaciones personales. Por ejemplo, puede
que un usuario le solicite que restaure un control individual suprimido accidentalmente.
Impedir personalizaciones personalesPanel Frontalcontrolar las personalizaciones personalesPanel Frontalcontrol,
Vea control<$nopage>Si el control es un control incorporado, copie su definición
de /usr/dt/appconfig/types/idioma/dtwm.fp a /etc/dt/appconfig/types/idioma/nombre.fp.Añada la siguiente línea a la definición
del control: LOCKED TrueRestaurar un Panel Frontal modificado o un control suprimido o un subpanelsubpanelsuprimido, restaurarcontrolrestaurarSi desea eliminarRestaurar Panel Frontal todas las personalizaciones del Panel Frontal y restablecer las
definiciones predeterminadas, utilice la acción Restaurar Panel Frontal
del grupo de aplicaciones Herramientas_Escritorio.controlbloquearLOCKED, campo Esta acción elimina todas las personalizaciones
efectuadas con los menús emergentes del Panel Frontal por el usuario.
Para restaurar un control individual que ha sido suprimido, utilice
el siguiente procedimiento.En el directorio DirectorioInicio/.dt/types/fp_dynamic, elimine el archivo que
se ha creado cuando el usuario ha suprimido el control. El control tendrá
el mismo nombre que el control original suprimido.Por ejemplo, si el usuario ha suprimido el control Editor de iconos,
un archivo del directorio fp_dynamic contendrá:
CONTROL IconEditor
{
…
DELETE True
}DELETE, campoCuando el usuario suprime un subpanel, se crea un archivo dinámico
independiente para el subpanel y para cada control del subpanel.Para obtener más información, consulte.
Organización de la definición del
Panel FrontalPanel Frontalorganización
de la definiciónEn Panel Frontal se crea ensamblando definiciones para sus componentes.
Cada uno de estos componentes tiene una sintaxis necesaria que define en qué
lugar del Panel Frontal se coloca el componente, el aspecto del componente
y el comportamiento del mismo.Componentes del Panel FrontalPanel FrontalcomponentesEl Panel Frontal se ensambla de fuera hacia dentro:El PANEL, definiciónPANEL es el contenedor de nivel superior, o padre, de
todo el Panel Frontal.El PANEL es un contenedor para uno o más BOX (recuadros).Un BOX, definiciónBOX es un contenedor para uno o más CONTROL (controles).Existen dos tipos especiales de contenedores:Un SUBPANEL, definiciónSUBPANEL está asociado con un control
determinado (el control es el contenedor del subpanel). Los subpaneles “surgen”
del control con el que están asociados.Elconmutador de espacio de trabajodefiniciónSWITCH
(conmutador) contiene los botones para cambiar los espacios de trabajo más
controles adicionales.Sintaxis general de la definición del Panel
FrontalPanel FrontalsintaxisCada componente del Panel Frontal se define por separado utilizando
la sintaxis:COMPONENT nombre
{
KEYWORD valor
KEYWORD valor
…
}Algunas palabras clave son necesarias, otras son opcionales. Para obtener
más información, consulte la página de manual dtfpfile(4X).PANEL, definiciónsintaxisDefinición de PANELEl PANEL es el componente de nivel superior. Su definición
incluye:El nombre del Panel FrontalCampos que describen el aspecto y el comportamiento generales
de todo el Panel FrontalPANEL nombre_panel_frontal
{
KEYWORD valor
KEYWORD valor
…
}El nombre_panel_frontal es un nombre exclusivo para
el Panel Frontal. El nombre predeterminado es “FrontPanel”.BOX, definiciónsintaxisDefiniciones de BOXUna definición de BOX describe:El nombre del BOXEl PANEL en que se encuentra el recuadro
(CONTAINER_NAME, campoCONTAINER_NAME)
La posición del recuadro en el PANEL
(POSITION_HINTS)Campos que describen el aspecto y el comportamiento aplicables
a todo el recuadroBOX nombre_recuadro
{
CONTAINER_NAME nombre_panel_frontal
POSITION_HINTS posición
KEYWORD valor
KEYWORD valor
…
}CONTROL, definiciónsintaxisDefiniciones de CONTROLUna definición de CONTROL describe:El nombre del CONTROLSi el control está en un recuadro, un subpanel o un
conmutador (CONTAINER_TYPE, campoCONTAINER_TYPE)El recuadro, subpanel o conmutador en que se encuentra el
control (CONTAINER_NAME, campoCONTAINER_NAME )La posición del CONTROL en el BOX (POSITION_HINTS).Campos que describen el aspecto y el comportamiento del control
CONTROL nombre_control
{
CONTAINER_TYPE BOX o SUBPANEL o SWITCH
CONTAINER_NAME nombre_recuadro o nombre_subpanel o nombre_conmutador
TYPE tipo_control
POSITION_HINTS posición
KEYWORD valor
KEYWORD valor
…
subpaneldefinición
sintaxis
}subpanelsintaxisDefiniciones de SUBPANELUna definición de SUBPANEL describe:El nombre del SUBPANELEl nombre del control al que está conectado el subpanelsubpanelcontenedor (CONTAINER_NAME, campoCONTAINER_NAME)
Campos que describen el aspecto y el comportamiento específico
del subpanelSUBPANEL nombre_subpanel
{
CONTAINER_NAME nombre_control
KEYWORD valor
KEYWORD valor
…
}SWITCH, definiciónconmutador de espacio de trabajosintaxis de
la definiciónDefinición de SWITCHLa definición de SWITCH describe:El nombre del SWITCHEl BOX en que se encuentra el SWITCH (CONTAINER_NAME, campoCONTAINER_NAME)La posición del SWITCH dentro del BOX (POSITION_HINTS)Campos que describen el aspecto y el comportamiento del SWITCHSWITCH nombre_conmutador
{
CONTAINER_NAME nombre_recuadro
POSITION_HINTS posición
KEYWORD valor
KEYWORD valor
…
}Modificación del Panel PrincipalPanel FrontalmodificarEl Panel Principal es la ventana Panel Frontal, excluidos los subpaneles.
Las modificaciones que se pueden realizar incluyen:Añadir o eliminar controlesIntercambiar las posiciones de los controlesAñadir un control al Panel Principalcontrolañadir al Panel PrincipalCree un archivo de configuración del Panel Frontal:
Accesible en el sistema: /etc/dt/appconfig/types/idioma/*.fpPersonal: DirectorioInicio/.dt/types/*.fpDefina el control en el archivo.Utilice los campos CONTAINER_NAME y CONTAINER_TYPE para especificar el contenedor del control:CONTAINER_NAME Superior
CONTAINER_TYPE BOXUtilice POSITION_HINTS para especificar la colocación
del control de izquierda a derecha. Dado que las personalizaciones tienen
prioridad sobre los controles incorporados, el nuevo control “desplazará”
el control existente que tiene dicha posición hasta la siguiente posición
de la derecha.Guarde el archivo de configuración.Cree un icono para el control del Panel Frontal.Consulte la sección .Elija Reiniciar el Gestor de espacios de trabajo en el menú
Espacio de trabajo.Por ejemplo, la siguiente definición de control colocada en el
archivo /etc/dt/appconfig/types/idioma/audio.fp
inserta un control de aplicación de audio entre los controles Reloj
y Agenda.CONTROL AudioApplication
{
TYPE icon
CONTAINER_NAME Superior
CONTAINER_TYPE BOX
ICON AplAudio
POSITION_HINTS 2
PUSH_ACTION StartAudioApplication
PUSH_RECALL true
}Eliminar un controlcontroleliminar del Panel FrontalCree un archivo de configuración del Panel Frontal:
Accesible en el sistema: /etc/dt/appconfig/types/idioma/nombre.fpPersonal: DirectorioInicio/.dt/types/nombre.fpCopie en el nuevo archivo la definición del control
que desea suprimir.Si el control es incorporado, su definición está en /usr/dt/appconfig/types/idioma/dtwm.fp.No es necesario que copie la definición entera. Sin embargo,
la parte que copie debe incluir los campos CONTAINER_NAME
y CONTAINER_TYPE.Añada el campo DELETE a la definición:
DELETE TrueGuarde el archivo de configuración.Elija Reiniciar el Gestor de espacios de trabajo en el menú
Espacio de trabajo.Por ejemplo, la siguiente definición de control colocada en el
archivo /etc/dt/appconfig/types/idioma/TrashCan.fp elimina el control Papelera
del Panel Frontal.CONTROL Trash
{
CONTAINER_NAME Superior
CONTAINER_TYPE BOX
DELETE True
}Modificar un controlcontrolmodificarUtilice este procedimiento cuando necesite modificar una definición
de control—por ejemplo, cambiar su imagen de icono.Copie la definición de control entera de /usr/dt/appconfig/types/idioma/dtwm.fp a:Accesible en el sistema: /etc/dt/appconfig/types/idioma/nombre.fpPersonal: DirectorioInicio/.dt/types/nombre.fp.Edite el campo que desee cambiar. También puede añadir
campos adicionales.Guarde el archivo.Elija Reiniciar el Gestor de espacios de trabajo en el menú
Espacio de trabajo.Intercambiar la posición de los controlescontrolintercambiar con otro controlCopie las definiciones de los controles cuyas posiciones desea
cambiar de /usr/dt/appconfig/types/idioma/dtwm.fpa:Accesible en el sistema:/etc/dt/appconfig/types/idioma/nombre.fpPersonal: DirectorioInicio/.dt/types/nombre.fp.Deberá copiar la definición de control entera para cada
control que se deba mover.Intercambie los valores de los campos POSITION_HINTS, campoPOSITION_HINTS
de las definiciones de control.Guarde el archivo.Elija Reiniciar el Gestor de espacios de trabajo en el menú
Espacio de trabajo.Por ejemplo, las siguientes definiciones colocadas en un archivo /etc/dt/appconfig/types/C/AyudaCorreo.fp intercambian las posiciones
de los controles Correo y Gestor de ayudas y bloquea estos controles para
los cambios personales.CONTROL Mail
{
POSITION_HINTS 12
LOCKED True
…resto de la definición decontrol
}
CONTROL Help
{
POSITION_HINTS 5
LOCKED True
…resto de la definición de control
}Sustituir un control del Panel FrontalcontrolsustituirCree otra definición de control con el mismo:nombre_controlCONTAINER_NAME, campovalor de CONTAINER_NAMEPor ejemplo, los dos controles siguientes están definidos en
dos archivos de configuración diferentes. Los controles tienen el mismo
nombre de control y el mismo nombre de contenedor y, por consiguiente, se
les considera como el mismo control.Definición en /etc/dt/appconfig/types/C/SysControls.fp:Control AplicaciónImportante
{
CONTAINER_NAME Superior
CONTAINER_TYPE BOX
POSITION_HINTS 2
…
}Definición en DirectorioInicio/.dt/types/MyControls.fp:Control AplicaciónImportante
{
CONTAINER_NAME Superior
CONTAINER_TYPE BOX
POSITION_HINTS 6
…
}El control personal tiene prioridad, por lo tanto el control se ubicará
en la posición 6.Especificación del icono utilizado por
un controlcontrolaspectocontroliconoiconosPanel FrontalEl campo ICON, campoen el Panel FrontalICON de la definición
de control define la imagen de icono utilizada para el control.El valor del campo ICON puede ser:Un nombre de archivo base.El nombre de archivo base es el nombre del archivo que contiene la imagen
de icono menos los sufijos de nombre de archivo para el tamaño (m y t) y el tipo de imagen (bm
y pm). Por ejemplo, si los archivos se llaman MiJuego.l.pm yMiJuego.m.pm, utilice MiJuego.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, incluido 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.El tamaño de icono necesario depende de la ubicación del
control:UbicaciónTamañoPanel Principal48 por 48 pixels (nombre.l.pm o nombre.l.bm)Subpanel32 por 32 pixels (nombre.m.pm o nombre.m.bm)Ponga el archivo de iconos en una de estas ubicaciones:Iconos personales: DirectorioInicio/.dt/iconsIconos accesibles en el sistema: /etc/dt/appconfig/icons/idiomaCreación y modificación de subpanelessubpanelcrearsubpanelmodificarLos usuarios pueden crear y modificar los subpaneles utilizando los
menús emergentes del Panel Frontal.Esta sección describe cómo proporcionar una personalización
accesible en el sistema, que requiere modificar los archivos de configuración
del Panel Frontal.Un subpanel está “conectado” a un control del Panel
Principal.subpanelasociación con
el Panel PrincipalLa conexión se realiza en
la definición del subpanel. El campo CONTAINER_NAME
especifica el control al que está conectado el subpanel:CONTROL nombre_control
{
…
}
SUBPANEL nombre_subpanel
{
CONTAINER_NAME nombre_control
…
}Crear un nuevo subpanel accesible en el sistemasubpanelpersonalización accesible en el sistemasubpanelnuevoLocalice el nombre_control
del control del Panel Principal al que desea conectar el subpanel.Si el control es uno de los controles incorporados, su definición
está en /usr/dt/appconfig/types/idioma/dtwm.fp.Cree un nuevo archivo /etc/dt/appconfig/types/idioma/*.fp.Defina el subpanel:SUBPANEL nombre_subpanel
{
CONTAINER_NAME nombre_control
TITLE valor
KEYWORD valor
…
}Guarde el nuevo archivo de configuración.Elija Reiniciar el Gestor de espacios de trabajo en el menú
Espacio de trabajo.Personalización de los subpaneles incorporadossubpanelpersonalizar panel incorporadoSe pueden modificar las propiedades generales (como por ejemplo, el
título) y el contenido de los subpaneles incorporados.Modificar las propiedades generales de un subpanel incorporadoCree un nuevo archivo de configuración del Panel Frontal:
Accesible en el sistema: /etc/dt/appconfig/types/idioma/nombre.fpPersonal: DirectorioInicio/.dt/types/nombre.fp.Copie toda la definición predeterminada SUBPANEL de /usr/dt/appconfig/types/idioma/dtwm.fp en el nuevo archivo: SUBPANEL nombre_subpanel
{
…
}Modifique la definición del subpanel.Guarde el nuevo archivo de configuración.Elija Reiniciar el Gestor de espacios de trabajo en el menú
Espacio de trabajo.Por ejemplo, la siguiente definición, que se encuentra en el
archivo /users/juana/.dt/types/AplsPers.fp, cambia el
nombre del subpanel Aplicaciones personales:SUBPANEL PersAppsSubpanel
{
CONTAINER_NAME TextEditor
TITLE Aplicaciones de Juana
}Añadir un control accesible en el sistema a un subpanel incorporadoCree un archivo de configuración del Panel Frontal /etc/dt/appconfig/types/idioma/nombre.fp.Defina en el archivo el control accesible en el sistema.Utilice los campos CONTAINER_NAME y CONTAINER_TYPE para especificar el contenedor para el control:
CONTROL nombre_control
{
CONTAINER_NAME nombre_subpanel
CONTAINER_TYPE SUBPANEL
…
}Consulte la sección .
Guarde el archivo de configuración.Elija Reiniciar el Gestor de espacios de trabajo en el menú
Espacio de trabajo.Por ejemplo, el siguiente control definido en un nuevo archivo /etc/dt/appconfig/types/idioma/RelojDigital.fp añade el RelojDigital
(en el grupo de aplicaciones Herramientas_Escritorio) al subpanel Aplicaciones
Personales para todos los usuarios.CONTROL DigitalClockControl
{
TYPE icon
CONTAINER_NAME PerAppsSubpanel
CONTAINER_TYPE SUBPANEL
ICON Dtdgclk
PUSH_ACTION DigitalClock
PUSH_RECALL True
}Eliminar un control de un subpanel incorporadoUtilice el mismo procedimiento que para eliminar un control
del Panel Principal. Consulte la sección .Eliminar elInstalar icono,
controleliminar control Instalar
iconoAñada el siguiente campo a la definición del
subpanel: CONTROL_INSTALL FalseCambiar el comportamiento de cierre automático de los subpanelessubpanelcambiar el comportamiento de cierre
automáticoEl comportamiento predeterminado de los subpaneles consiste en cerrarse
cuando el usuario elige un control, a no ser que el usuario haya movido el
subpanel respecto a su posición original.El Panel Frontal puede configurarse para que los subpaneles se conserven
abiertos hasta que el usuario los cierre explícitamente.Cree un nuevo archivo de configuración del Panel Frontal
en:Accesible en el sistema: /etc/dt/appconfig/types/idioma/*.fpPersonal: DirectorioInicio/.dt/types/*.fpCopie la definición PANEL predeterminada
de /usr/dt/appconfig/types/idioma/dtwm.fp en el nuevo archivo: PANEL FrontPanel
{
…
}Añada el siguiente campo a la definición de PANEL: SUBPANEL_UNPOST FalseGuarde el nuevo archivo de configuración.Elija Reiniciar el Gestor de espacios de trabajo en el menú
Espacio de trabajo.Definición de los controles del Panel FrontalcontroldefinirEl usuario puede crear controles personales soltando iconos en los controles
Instalar Icono.A pesar de que esta acción facilita la personalización,
las funciones que proporciona constituyen sólo una parte de las posibilidades
ofrecidas por los controles del Panel Frontal. Por ejemplo, un control creado
utilizando el control Instalar Icono no puede:Proporcionar animaciónMostrar una ventana del clienteCambiar de aspecto cuando se produce un suceso (por ejemplo,
al recibir correo nuevo)Esta sección describe cómo crear manualmente los controles
del Panel Frontal.Para obtener información de consulta sobre la sintaxis de los
controles del Panel Frontal, consulte la página de manual dtfpfile(4X).Definiciones de controles del Panel FrontalLa estructura de una definición de control del Panel Frontal
es:CONTROL nombre_control
{
TYPE tipo_control
CONTAINER_NAME valor
CONTAINER_TYPE valor
otros campos que definen el aspecto y el comportamiento
}controltiposTipos
de controlEl campo TYPE, campoTYPE de la definición de control especifica el comportamiento
básico del control.TIPO controlComportamiento del controlicon,
control del Panel Frontalicon(Valor predeterminado). El control
ejecutará una acción especificada cuando el usuario pulse el
control o suelte un archivo sobre él.blank,
tipo de controlblankEspacio reservado para ajustar el espaciado
de los controles.busy,
tipo de controlbusyIndicador luminoso de espera. El control
parpadea (conmuta imágenes) cuando se invoca una acción.client,
tipo de controlclientUna ventana de cliente del Panel Frontal.
clock,
tipo de controlclockReloj.date,
tipo de controldateMuestra la fecha actual.file,
tipo de controlfileRepresenta un archivo. Al elegir el
control se ejecuta la acción predeterminada para el archivo.Crear un nuevo controlcontrolcrearEsta sección describe los pasos generales para definir un control
y describe cómo crear diversos tipos de controles.Si el control ha de tener PUSH_ACTION
y/o DROP_ACTION, cree las definiciones de acción.
Éstas son las acciones que se ejecutan cuando el usuario pulsa sobre
el control o suelta un archivo sobre él.Cree los archivos de imágenes de iconos para el control.
Para obtener información sobre los tamaños, nombres y
ubicaciones de los iconos, consulte la sección .
Cree un nuevo archivo de configuración del Panel Frontal
en:Accesible en el sistema: /etc/dt/appconfig/types/idioma/*.fpPersonal: DirectorioInicio/.dt/types/*.fpAñada la definición de control al archivo.Guarde el archivo.Elija Reiniciar el Gestor de espacios de trabajo en el menú
Espacio de trabajo.Creación de un control que ejecuta una
acción cuando se pulsaUtilice estos campos para definir el comportamiento del control:TYPE: Establecido en iconPUSH_ACTION, campoPUSH_ACTION: Especifica el nombre de la acción
a ejecutarPor ejemplo, el siguiente control, que se pondrá en el subpanel
Aplicaciones personales, ejecuta un juego que el usuario ha adquirido:CONTROL Ball
{
TYPE icon
CONTAINER_NAME PersAppsSubpanel
CONTAINER_TYPE SUBPANEL
ICON ball
PUSH_ACTION RunBallGame
HELP_STRING Elija este control para jugar a Ball.
}El siguiente control se ubicará en la esquina superior izquierda
del conmutador. Inicia una acción llamada CutDisp.CONTROL StartCutDisp
{
TYPE icon
CONTAINER_NAME Switch
CONTAINER_TYPE SWITCH
POSITION_HINTS first
ICON cutdisp
HELP_STRING Elija este control para ejecutar cutdisp.
PUSH_ACTION CutDisp
}controlque abre un archivoCreación de un control que abre un archivoUtilice estos campos para definir el comportamiento del control:TYPE: Establecido en fileFILE_NAME, campoFILE_NAME: Especifica la ruta del archivo que se debe abrirPUSH_ACTION: Establecido en AbrirSe tiene que haber definido una acción Abrir para el tipo de
datos del archivo.Por ejemplo, el siguiente control se ubicará en el extremo derecho
del Panel Principal. Inicia el Editor de Textos con el archivo de datos /users/elena/ListaTeléfonos.txt. La acción Abrir
para los archivos *.txt forma parte de la base de datos
de acciones predeterminada.CONTROL EditPhoneList
{
TYPE file
FILE_NAME /users/ellen/PhoneList.txt
CONTAINER_NAME Superior
CONTAINER_TYPE BOX
POSITION_HINTS last
ICON PhoneBook
HELP_STRING Este control muestra la lista de teléfonos de Elena.
PUSH_ACTION Abrir
}Creación de un control que se comporta
como una zona de soltarzona de soltarcontrol del Panel FrontalPanel
Frontalcontrol de zona de soltarcontrolzona de soltarUtilice el campo DROP_ACTION, campoDROP_ACTION para especificar la acción que se
ejecuta cuando el usuario suelta un archivo sobre el control. La acción
tiene que poder aceptar un argumento de archivo.Normalmente, una definición de control incluye un campo PUSH_ACTION y un campo DROP_ACTION. Se puede
utilizar la misma acción para la acción de pulsar y de soltar.
Por ejemplo, el siguiente control ubicado en el subpanel Aplicaciones
personales ejecuta el cliente de X xwud, que toma un argumento
de archivo.CONTROL Run_xwud
{
CONTAINER_NAME PerAppsSubpanel
CONTAINER_TYPE SUBPANEL
POSITION_HINTS 2
ICON XwudImage
PUSH_ACTION RunXwud
DROP_ACTION RunXwud
}Creación de un control que supervisa un
archivocontrolsupervisarUtilice estos campos para definir el comportamiento del control:TYPE: Especifique uno de los siguientes
valores:icon,
tipo de controliconUtilice este tipo si desea especificar
PUSH_ACTION y/o DROP_ACTION para
el control.file,
tipo de controlfileUtilice este tipo si desea que al elegir
el control, éste se comporte igual que el archivo cuando se pulsa dos
veces el icono del archivo en el Gestor de archivos.ICON y ALTERNATE_ICON,
campoALTERNATE_ICON:Describen las imágenes
utilizadas para indicar el estado no modificado y modificado del archivo supervisado.
MONITOR_TYPE, campoMONITOR_TYPE: Describe las condiciones que hacen cambiar
la imagen. Utilice uno de los siguientes valores:monitor,
tipos de controlesmail, tipo de
control mailEl control cambiará de aspecto
cuando se añada información al archivo.fileEl control cambiará cuando el
archivo especificado no quede vacío.FILE_NAMEFILE_NAME, campo: Especifica el archivo que se debe supervisar.Por ejemplo, el siguiente control busca si existe un archivo llamado
meetings que espera transferir al sistema utilizando un
ftp anónimo. El control se coloca en la parte superior del subpanel
Aplicaciones personales.CONTROL MonitorCalendar
{
TYPE file
CONTAINER_NAME PersonalApps
CONTAINER_TYPE SUBPANEL
POSITION_HINTS first
FILE_NAME /users/ftp/meetings
MONITOR_TYPE file
ICON meetingsno
ALTERNATE_ICON meetingsyes
}Creación de un control (de conmutación)
de un casocontrolconmutarcontrolun casoUn control de un caso comprueba si el proceso iniciado por PUSH_ACTION ya se está ejecutando. Si el proceso no se está
ejecutando, se ejecuta PUSH_ACTION. Si el proceso ya
se está ejecutando, la ventana se mueve a la parte superior de la pila
de ventanas del espacio de trabajo actual.Utilice estos campos para definir el comportamiento del control:PUSH_RECALL: Establecido en True.CLIENT_NAME, campoCLIENT_NAME: Especifica el nombre del cliente al control.
El valor de CLIENT_NAME debe coincidir con la primera
cadena (nombre_rec) de la propiedad WM_CLASS
de la ventana de nivel superior de la aplicación. Para obtener más
información, consulte la página de manual xprop(1).PUSH_ACTION: Describe la acción
ejecutada cuando el usuario pulsa el control.Por ejemplo, el siguiente control ejecuta un caso de una aplicación
cuya acción se llama MiEditor.CONTROL MyEditor
{
TYPE icon
CONTAINER_NAME Superior
CONTAINER_TYPE BOX
POSITION_HINTS 15
PUSH_RECALL True
CLIENT_NAME BestEditor
PUSH_ACTION StartMyEditor
ICON MyEd
}Crear un control de ventana de clientePanel Frontalcliente enclientesventana del Panel FrontalcontrolclienteUn control de ventana de cliente es una ventana de aplicación
incorporada al Panel Frontal. Por ejemplo, se puede poner un medidor de carga
del sistema en el Panel Frontal creando un control de ventana de cliente xload.Defina el control.Utilice estos campos para definir el comportamiento del control:TYPE: Establecido en client.
CLIENT_NAME, campoCLIENT_NAME: Especifica el cliente que se debe iniciar.
El valor de CLIENT_NAME debe coincidir con la primera
cadena (nombre_rec) de la propiedad WM_CLASS
de la ventana de nivel superior de la aplicación. Para obtener más
información, consulte la página de manual xprop(1).CLIENT_GEOMETRY, campoCLIENT_GEOMETRY: Especifica el tamaño, en pixels,
necesario para la ventana Panel Frontal del cliente.La página de manual xwininfo(1) describe
cómo averiguar el tamaño de una ventana en pixels.Elija Reiniciar el Gestor de espacios de trabajo en el menú
Espacio de trabajo.Inicie el cliente desde una línea de mandatos del emulador
de terminal.Por ejemplo, el siguiente control muestra un medidor de carga de 30
x 20 pixels.CONTROL LoadMeter
{
TYPE client
CONTAINER_NAME Superior
CONTAINER_TYPE BOX
CLIENT_NAME xload
CLIENT_GEOMETRY 30x20
}Si el cliente no se guarda y se restaura entre sesiones, es aconsejable
configurar el control para que inicie el cliente cuando el usuario lo pulse.
Por ejemplo, puede configurar el control LoadMeter para iniciar xload añadiendo la siguiente línea a la definición:
PUSH_ACTION StartXloady creando la acción:ACTION StartXload
{
WINDOW_TYPE NO_STDIO
EXEC_STRING /usr/contrib/bin/X11/xload
}Animación de un controlcontrolanimaciónanimación para el Panel FrontalPanel FrontalanimaciónSe puede conectar una secuencia de animación para utilizarla
cuando el usuario elija el control o suelte un objeto sobre él.Para tener una secuencia de animación, un control debe:Ser del tipo iconTener PUSH_ACTION o DROP_ACTIONEspecifique la secuencia de animación utilizando el
componente ANIMATION, definiciónANIMATION:ANIMATION nombre_animación
{
ANIMATION imagen_icono [retardo]
ANIMATION imagen_icono [retardo]
…
}donde retardo es el tiempo de retardo
entre iconos de animación, en milisegundos.Añada los campos PUSH_ANIMATION,
campoPUSH_ANIMATION y/o DROP_ANIMATION, campoDROP_ANIMATION
a la definición de control. El valor es el nombre de la secuencia
ANIMATION.Por ejemplo, las líneas siguientes dotan de animación
un control que inicia la aplicación MejorEditor. El tiempo de retardo
entre iconos es de 300 milisegundos. En el ejemplo se supone que se han creado
los archivos de iconos frame1, frame2,
etc.CONTROL BestEditor
{
…
PUSH_ANIMATION BestEdAnimation
…
}
ANIMATION BestEdAnimation
{
ANIMATION frame1 300
ANIMATION frame2
…
}Cómo proporcionar Ayuda sobre el tema
para los controles del Panel FrontalayudaPanel FrontalPanel FrontalayudacontrolAyuda sobre el temaExisten dos procedimientos para proporcionar ayuda para un control:
Proporcionar una cadena de ayuda en la definición del
control.La cadena de ayuda se muestra en el visor de ayuda cuando el usuario
invoca la ayuda sobre el tema para el control. La cadena de ayuda no puede
incluir formato (como por ejemplo, cabeceras) ni enlaces.Para proporcionar una cadena de ayuda, especifíquela en la definición
del control:HELP_STRING, campo HELP_STRING cadena_ayudaEspecificar un tema de ayuda en un volumen de ayudas registrado.
Un tema de ayuda es información creada utilizando todas las posibilidades
del sistema de ayudas. Para crear un tema de ayuda es necesario utilizar el
Help Developer's Kit del escritorio.Para proporcionar un tema de ayuda, especifique el volumen de ayudas
y el ID de tema en la definición del control:HELP_VOLUME, campoHELP_TOPIC, campoHELP_VOLUME nombre_volumen_ayudas
HELP_TOPIC id_temaPersonalización del conmutador de espacios
de trabajoconmutador de espacios de trabajopersonalizarconmutar,
Vea conmutador de espacios de trabajoExisten varios procedimientos para personalizar el conmutador de espacios
de trabajo:Cambiar el número de espacios de trabajoCambiar el diseño del conmutadorCambiar los controles del conmutadorCambiar el número predeterminado de espacios
de trabajoespacios de trabajocambiar
el número predeterminadoconmutador de espacios de trabajonúmero de espacios
de trabajoModifique el siguiente recurso del Gestor de espacios de trabajo:
Dtwm*workspaceCount: nPara obtener más información, consulte la sección
.
Cambiar el número de filas de conmutadoresconmutador de espacios de trabajonúmero
de filasModifique el campo NUMBER_OF_ROWS,
campoNUMBER_OF_ROWS en la definición
de SWITCH.Por ejemplo, la siguiente definición define un conmutador de
tres filas.SWITCH Switch
{
CONTAINER_NAME nombre_recuadro
NUMBER_OF_ROWS 3
…
}Cambiar o añadir controles en el conmutador de espacios de trabajoconmutador de espacios de trabajoañadir
controlescontrolen conmutador de espacios de trabajoCree un archivo de configuración del Panel Frontal
con la definición del control.Especifique que el control esté dentro del conmutador:
CONTAINER_NAME Switch
CONTAINER_TYPE SWITCHEspecifique la posición en el conmutador:POSITION_HINTS ndonde n es un entero. Las posiciones
se numeran secuencialmente de izquierda a derecha y de arriba a abajo. (Para
el conmutador de dos filas predeterminado, las posiciones son de 1 a 4.)Cree el icono para el control. Se recomienda un tamaño
de 16 por 16 pixels.Por ejemplo, el siguiente control pone un control Terminal en el conmutador.
CONTROL SwitchTerminal
{
TYPE icon
CONTAINER_NAME Switch
CONTAINER_TYPE SWITCH
POSITION_HINTS 3
ICON Fpterm
LABEL Terminal
PUSH_ACTION Dtterm
HELP_TOPIC FPOnItemTerm
HELP_VOLUME FPanel
}El control utiliza un icono incorporado y el mismo tema de ayuda utilizado
por el control Terminal del subpanel Aplicaciones personales.Configuración del Panel Frontal generalLa sintaxis PANEL del Panel Frontal permite:Cambiar la ubicación del Panel FrontalCambiar los accesorios de la ventanaEstablecer un aspecto y un comportamiento generales de los
controlesLa descripción PANEL predeterminada se encuentra
en /usr/dt/appconfig/types/idioma/dtwm.fp.Para obtener información adicional, consulte la página
de manual dtfpfile(4X).Pasos generalesCree un nuevo archivo de configuración del Panel Frontal
en /etc/dt/appconfig/types/idioma o DirectorioInicio/.dt/types.Copie la descripción PANEL predeterminada
de /usr/dt/types/idioma/dtwm.fp en el nuevo archivo.Edite la descripción PANEL.La nueva descripción PANEL tiene prioridad
sobre la predeterminada.Cambiar la ubicación predeterminada del
Panel FrontalPanel Frontalubicación
en la pantallaUtilice el campo PANEL_GEOMETRY,
campoPANEL_GEOMETRY de la definición PANEL para especificar la ubicación.Por ejemplo, el siguiente panel se encuentra en la esquina superior
derecha.PANEL SpecialFrontPanel
{
PANEL_GEOMETRY -1+1
…
}Etiquetar los controles del Panel Principaletiquetascontroles del Panel FrontalPanel Frontaletiquetar controlescontroletiquetarAñada la línea siguiente a la definición
PANEL: DISPLAY_CONTROL_LABELS TrueAñada un campo LABEL a cada control.
nombre_control se utilizará
si no se especifica LABEL.Cambiar el comportamiento de pulsación
de los controlescontrolpulsación
frente a doble pulsaciónUtilice el campo CONTROL_BEHAVIOR,
campoCONTROL_BEHAVIOR en la definición PANEL para especificar el modo en que el usuario ejecuta PUSH_ACTION en un control. Los valores para el campo son:single_clickEl usuario pulsa el control para ejecutar
PUSH_ACTIONdouble_clickEl usuario pulsa dos veces el control
para ejecutar PUSH_ACTIONCrear un Panel Frontal completamente nuevoPanel FrontalnuevoEs preferible crear un Panel Frontal nuevo cuando se quieren realizar
muchos cambios.Para evitar conflictos con los componentes del Panel Frontal incorporado,
un Panel Frontal nuevo deberá utilizar nombres nuevos para PANEL y
para otros contenedores.Cree el componente PANEL para el nuevo
Panel Frontal. Déle un nombre exclusivo:PANEL nombre_panel_frontal
{
…
}Cree los recuadros y los controles nuevos, utilizando los
nuevos nombres de contenedor.Si desea utilizar componentes existentes, deberá copiar sus definiciones
y cambiar el valor CONTAINER_NAME.Elija Reiniciar el Gestor de espacios de trabajo en el menú
Espacio de trabajo.Ejemplo de creación de un Panel Frontal personal con tres filasPanel Frontalañadir filasEl ejemplo siguiente cambia el Panel Frontal predeterminado de forma
que sus controles estén ordenados en tres filas.Copie /usr/dt/appconfig/types/idioma/dtwm.fp en DirectorioInicio/.dt/types/MyFrontPanel.fp.
Proporcione el permiso de escritura del archivo.Éste es el archivo que se editará para proporcionar el
nuevo Panel Frontal.Cambie el nombre del Panel Frontal:PANEL NewFrontPanelCambie el nombre del recuadro llamado Superior y edite el
nombre de su contenedor:BOX NewFrontPanelTop
{
CONTAINER_NAME NewFrontPanel
POSITION_HINTS first
…
}Añade las definiciones de recuadro para las filas del
centro e inferior:BOX NewFrontPanelMiddle
{
CONTAINER_NAME NewFrontPanel
POSITION_HINTS second
}
BOX NewFrontPanelBottom
{
CONTAINER_NAME NewFrontPanel
POSITION_HINTS second
}Cambie el CONTAINER_NAME de los siguientes
controles por NewFrontPanelTop:ClockDateHomeTextEditorMailCambie el CONTAINER_NAME de los siguientes
controles por NewFrontPanelBottom:PrinterStyleApplicationsHelpTrashCambie el CONTAINER_NAME del conmutador
por NewFrontPanelMiddle.Establezca el recurso:Dtwm*frontPanel*name:
NewFrontPanelElija Reiniciar el Gestor de espacios de trabajo en el menú
Espacio de trabajo.