Solaris CDE: Guía avanzada del usuario y del administrador del sistema

Para crear un nuevo control

En esta sección se describen los pasos generales para definir un control y el procedimiento para crear diversos tipos de controles.

  1. Si el control debe tener PUSH_ACTION y/o DROP_ACTION, cree las definiciones de las acciones: éstas son las acciones que se ejecutan cuando el usuario hace clic en el control o suelta un archivo sobre él.

  2. Cree los archivos de imagen de icono para el control.

    Para obtener información sobre los tamaños, nombres y ubicaciones de los iconos, véase "Archivos de imagen de iconos" .

  3. Cree un nuevo archivo de configuración del Panel frontal en:

    • Accesible en el sistema: /etc/dt/appconfig/types/idioma/*.fp

    • Personal: DirectorioInicio/.dt/types/*.fp

  4. Agregue al archivo la definición del control.

  5. Guarde el archivo.

  6. Elija Reiniciar Gestor de área de trabajo en el menú Área de trabajo.

Creación de un control que ejecuta una acción al hacer clic

Utilice los siguientes campos para definir el comportamiento del control:

Creación de un control que abre un archivo

Utilice los siguientes campos para definir el comportamiento del control:

Creación de un control que se comporta como una zona de soltar

Utilice el campo DROP_ACTION para especificar la acción que se ejecuta cuando el usuario suelta un archivo sobre el control. La acción debe ser capaz de aceptar un argumento de archivo.

Normalmente, una definición de control incluye un campo PUSH_ACTION y un campo DROP_ACTION. Puede utilizar la misma acción para las acciones de pulsar y soltar.

Por ejemplo, el siguiente control, ubicado en el subpanel Aplicaciones personales, ejecuta el cliente X xwud, que acepta 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 archivo

Utilice los siguientes campos para definir el comportamiento del control:

Creación de un control (de conmutación) de caso único

Un control de caso único comprueba si el proceso iniciado por PUSH_ACTION ya se está ejecutando. En caso negativo, se ejecuta PUSH_ACTION; en caso afirmativo, la ventana se mueve a la parte superior de la pila de ventanas del área de trabajo actual.

Utilice los siguientes campos para definir el comportamiento del control:

Para crear un control de ventana de cliente

Un control de ventana de cliente es una ventana de aplicación incorporada al Panel frontal. Por ejemplo, puede colocar un medidor de carga del sistema en el Panel frontal creando un control de ventana de cliente xload.

  1. Defina el control.

    Utilice los siguientes campos para definir el comportamiento del control:

    • TYPE: Establecido en client.

    • CLIENT_NAME: Especifica el cliente que se va a ejecutar.

      El valor de CLIENT_NAME debe coincidir con la primera cadena de caracteres (res_name) de la propiedad WM_CLASS de la ventana de nivel superior de la aplicación. Para más información, véase la página del comando man xprop(1).

    • CLIENT_GEOMETRY: Especifica el tamaño necesario, en píxels, de la ventana del Panel frontal del cliente.

      La página del comando man xwininfo(1) describe cómo averiguar el tamaño de una ventana en píxels.

  2. Elija Reiniciar Gestor de área de trabajo en el menú Área de trabajo.

  3. Inicie el cliente desde una línea de comandos del emulador de terminal.

    Por ejemplo, el siguiente control muestra un medidor de carga de 30 x 20 píxels.

    CONTROL LoadMeter 
    {
     TYPE							   client
     CONTAINER_NAME				Top
     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 haga clic en él. Por ejemplo, puede configurar el control LoadMeter para que inicie xload agregando la línea siguiente a la definición:

    PUSH_ACTION				StartXload

    y creando la acción:

    ACTION StartXload 
    {
     WINDOW_TYPE				NO_STDIO
     EXEC_STRING				/usr/contrib/bin/X11/xload 
    }

Para dar animación a un control

Puede agregar una secuencia de animación para utilizarla cuando el usuario elija el control o suelte un objeto sobre él.

Para que un control pueda contener una secuencia de animación debe:

  1. Especifique la secuencia de animación mediante el componente ANIMATION:

    	ANIMATION nombre_animación
     {
      ANIMATION	icono1		[retardo_milisegundos]
      ANIMATION	icono2				[retardo_milisegundos]
     ... 
    }

    donde icono1, icono 2, etc., son los nombres de los iconos y retardo_milisegundos es el retardo temporal en milisegundos entre los iconos de la animación. El retardo temporal predeterminado es de 200 milisegundos.

  2. Agregue los campos PUSH_ANIMATION y/o DROP_ANIMATION a la definición del control. El valor es el nombre de la secuencia ANIMATION.

    Por ejemplo, las líneas siguientes dotan de animación a un control que inicia la aplicación MejorEditor. El retraso temporal entre iconos es de 300 milisegundos. En el ejemplo se supone que se han creado los archivos de icono cuadro1, cuadro2, etc.

    CONTROL BestEditor 
    {
     ...
     PUSH_ANIMATION BestEdAnimation
     ... 
    }
     ANIMATION BestEdAnimation 
    {
     frame1			300
     frame2
     ... 
    }

Cómo proporcionar Ayuda sobre el tema para los controles del Panel frontal

Existen dos procedimientos para proporcionar ayuda para un control: