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

Restricción de acciones para argumentos determinados

Si se restringe una acción para un determinado tipo de argumentos, se perfecciona. Por ejemplo, es útil restringir una acción que invoca un visor de archivos PostScript únicamente a argumentos de archivo PostScript; con tal restricción, la acción devolverá un cuadro de diálogo de error si se especifica como argumento un archivo que no sea PostScript.

Puede restringir las acciones basándose en:

Restricción de una acción para un tipo de datos específico

Utilice el campo ARG_TYPE para especificar los tipos de datos para los cuales la acción es válida. Use el nombre de atributo de los datos.

Puede introducir una lista de tipos de datos, separando las entradas con comas.

Por ejemplo, la siguiente definición de acción asume 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 según el número de argumentos

Utilice el campo ARG_COUNT para especificar el número de argumentos aceptado por la acción. Los valores válidos son:

* (Predeterminado) -- cualquier número de argumentos. Los otros valores tienen prioridad sobre *.

n -- cualquier entero no negativo, incluido 0.

>n -- más de n argumentos.

<n -- menos de n argumentos.

Una de las finalidades de ARG_COUNT es proporcionar un comportamiento diferente del icono de la acción, dependiendo de si el usuario hace doble clic en el icono o suelta un archivo sobre él. Véase la sección siguiente, "Para proporcionar un comportamiento diferente al hacer doble clic y al soltar."

Para proporcionar un comportamiento diferente al hacer doble clic y al soltar

Utilice este procedimiento para crear una acción que acepte un archivo soltado, pero que no solicite un archivo al hacer doble clic en el icono de acción.

  1. Cree una definición de acción para el comportamiento del doble clic.

    Utilice el campo ARG_COUNT para especificar 0 argumentos. Utilice una sintaxis para EXEC_STRING que no acepte un argumento soltado.

  2. Cree una segunda definición de acción para el comportamiento 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 se puede utilizar cualquiera de las dos líneas de comandos siguientes para iniciar un editor llamado vedit:

    • Para iniciar el editor sin ningún argumento de archivo:

      	vedit
    • Para iniciar el editor con un argumento de archivo que se abre como documento de sólo lectura:

      	vedit -R nombre_archivo
      

      Las dos acciones siguientes crean funciones de soltar y hacer doble clic para una acción llamada Vedit. La primera acción tiene prioridad cuando se busca en la base de datos de acciones, dado que ARG_COUNT 0 es más específico que el ARG_COUNT * implícito de la definición del comportamiento al soltar.

      # Función de doble clic 
      ACTION Vedit 
      { 
       TYPE						COMMAND 
       ARG_COUNT				0 
       WINDOW_TYPE				PERM_TERMINAL 
       EXEC_STRING				vedit 
      } 
      
      # Función de soltar 
      ACTION Vedit 
      { 
       TYPE						COMMAND 
       WINDOW_TYPE				PERM_TERMINAL 
       EXEC_STRING				vedit -R %Arg_1% 
      }

Restricción de una acción según el modo del argumento

Utilice el campo ARG_MODE para especificar el modo de lectura/escritura del argumento. Los valores válidos son:

* (Predeterminado) -- cualquier modo

!w -- no se puede escribir

w -- se puede escribir