Manuale del CDE Solaris per utenti esperti e amministratori di sistema

Limitazione delle azioni a determinati argomenti

La limitazione di un'azione a un determinato tipo di argomenti la rende più precisa. Ad esempio, può essere utile limitare un'azione che richiami un visualizzatore di file PostScript specificando che l'azione può accettare come argomenti solo file PostScript; con questa restrizione, l'azione restituirà un messaggio di errore se verrà specificato un file non PostScript.

Si possono limitare le azioni in base ai seguenti fattori:

Limitazione di un'azione a un tipo di dati specifico

Usare il campo ARG_TYPE per specificare i tipi di dati accettati dall'azione. Usare il nome dell'attributo dei dati.

È anche possibile inserire un elenco di tipi di dati separati da virgole.

Ad esempio, nella seguente definizione si presume che sia stato creato un tipo di dati GIF.

ACTION Apri_Gif
 {
 	TYPE					COMMAND
 	LABEL					"Visualizza Gif"
 	WINDOW_TYPE			NO_STDIO
 	ARG_TYPE				Gif
 	ICON					xgif
 	DESCRIPTION			Visualizza i file gif
 	EXEC_STRING			xgif
 }

Limitazione di un'azione in base al numero degli argomenti

Usare il campo ARG_COUNT per specificare il numero di argomenti che l'azione può accettare. Sono ammessi i seguenti valori:

* (Valore predefinito): qualsiasi numero di argomenti. Gli altri valori hanno la precedenza su *.

n: qualsiasi valore non negativo, incluso lo zero.

>n: più di n argomenti.

<n: meno di n argomenti.

Una delle funzioni per cui può essere utilizzato ARG_COUNT è quella di ottenere un comportamento diverso dell'azione a seconda che l'utente faccia doppio clic sulla sua icona o vi rilasci un file. Vedere la sezione seguente.

Ottenere un comportamento diverso al doppio clic sull'icona e al rilascio di un file

La procedura descritta qui di seguito permette di creare un'azione che accetti il rilascio di un file ma non richieda alcun argomento facendo doppio clic sull'icona.

  1. Inserire nella definizione dell'azione la funzionalità relativa al doppio clic.

    Usare il campo ARG_COUNT per specificare 0 argomenti. Usare per EXEC_STRING una sintassi che non accetti il rilascio degli argomenti.

  2. Creare una seconda definizione per la funzionalità di rilascio.

    Usare il campo ARG_COUNT per specificare >0 argomenti. Usare per EXEC_STRING una sintassi che accetti il rilascio di un file.

    Ad esempio, si supponga di poter usare le due righe di comando seguenti per avviare un editor di nome vedit:

    • Per avviare l'editor senza specificare argomenti:

      	vedit
    • Per avviare l'editor specificando come argomento un file da aprire in modalità di sola lettura:

      	vedit -R nomefile
      

      Le due azioni seguenti creano le funzionalità di doppio clic e rilascio per un'azione di nome Vedit. La prima azione ha la precedenza quando si cerca una corrispondenza nel database, poiché il campo ARG_COUNT 0 è più specifico rispetto al valore predefinito ARG_COUNT * che verrà usato per il rilascio.

      # Funzionalità del doppio clic
       ACTION Vedit
       {
       	TYPE						COMMAND
       	ARG_COUNT				0
       	WINDOW_TYPE				PERM_TERMINAL
       	EXEC_STRING				vedit
       }
      
       # Funzionalità di rilascio
       ACTION Vedit
       {
       	TYPE						COMMAND
       	WINDOW_TYPE				PERM_TERMINAL
       	EXEC_STRING				vedit -R %Arg_1%
       }

Limitazione di un'azione in base alla modalità dell'argomento

Si può utilizzare il campo ARG_MODE per specificare la modalità di lettura/scrittura dell'argomento. I valori ammessi sono:

*: (Valore predefinito) Qualsiasi modalità

!w: non-scrivibile

w: scrivibile