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:
El tipo de datos del argumento de archivo.
El número de argumentos de archivo; por ejemplo, ningún argumento contra uno o más argumentos. Esto proporciona una conducta diferente al soltar archivos o hacer doble clic en el icono de la acción.
El modo de lectura/escritura del argumento.
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 }
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."
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.
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.
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 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% }
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