Manuale del CDE Solaris per utenti esperti e amministratori di sistema

Capitolo 12 Creazione delle azioni con la procedura manuale

Per creare un'azione si può procedere in due modi:

Per creare un'azione manualmente è necessario modificare un file del database. Questo modulo spiega come creare manualmente le definizioni delle azioni.

Casi in cui occorre creare le azioni manualmente

Esistono tre tipi di azioni:

L'applicazione Crea azione permette di creare alcuni tipi di azioni COMMAND e MAP. Tutte le azioni TT_MSG devono essere create manualmente.

Per maggiori informazioni, vedere "Limitazioni di Crea azione".

Azioni COMMAND

Si definisce azione di comando un'azione che esegue un comando di avvio di un'applicazione o di un'utility, uno script di una shell o un comando del sistema operativo. La definizione di questo tipo di azioni include sempre il comando da eseguire (EXEC_STRING).

Le azioni di comando più comuni possono essere create con lo strumento Crea azione. Tuttavia, in presenza di alcune condizioni è necessario crearle manualmente; ad esempio, quando l'azione specifica:

Azioni MAP

Si definisce azione di mappatura un'azione che viene "mappata" in un'altra azione anziché specificare direttamente un comando o un messaggio ToolTalk.

La mappatura offre la possibilità di specificare nomi alternativi per le azioni. Ad esempio, il database include un'azione di comando predefinita di nome "Editor delle icone" che avvia l'applicazione corrispondente; esso include però anche un'azione Apri, la cui applicazione è limitata ai file a mappa di bit e a mappa di pixel (con il campo ARG_TYPE), che viene mappata nell'azione Editor delle icone. Questo permette di avviare l'Editor delle icone selezionando un file a mappa di bit o a mappa di pixel dalla Gestione di file e quindi scegliendo Apri dal menu Selezione.

Le possibilità di mappatura offerte da Crea azione sono limitate alle azioni Apri e Stampa. Tutte le altre azioni di mappatura devono essere create manualmente.

Azioni TT_MSG (messaggi ToolTalk)

Le azioni TT_MSG inviano un messaggio ToolTalk. Tutte le azioni di tipo TT_MSG devono essere create manualmente.

Creazione manuale di un'azione: procedura generale

Questa sezione descrive come creare un file di configurazione per la definizione di un'azione.

File di configurazione per le azioni

I file di configurazione contenenti le definizioni delle azioni devono rispondere ai seguenti requisiti:

Per informazioni su come modificare il percorso di ricerca delle azioni e dei tipi di dati, vedere "Impostazione del valore di un percorso di ricerca".

Creare un'azione manualmente

  1. Aprire un file del database o crearne uno nuovo.

    Vedere la sezione "File di configurazione per le azioni".

  2. Creare la definizione dell'azione usando la sintassi:

    	ACTION nome_azione
     	{
     		TYPE		tipo_azione
     		campo_azione
     		...
     	}

    dove:

    nome_azione: è il nome usato per eseguire l'azione

    tipo_azione: può essere COMMAND (il tipo predefinito), MAP o TT_MSG

    campo_azione: è uno dei campi necessari o opzionali per il tipo di azione specificato. Tutti i campi sono formati da una parola chiave e da un valore.

    In questo modulo sono descritti molti dei campi usati per la definizione delle azioni. Per maggiori informazioni, vedere la pagina man dtactionfile(4).

  3. Salvare il file.

  4. Se si desidera associare all'icona dell'azione un'immagine che la identifichi in modo specifico, creare le icone appropriate. Le posizioni predefinite per le icone sono le seguenti:

    • Icone personali: DirectoryIniziale/.dt/icons

  5. Fare doppio clic su "Ricarica azioni" nel gruppo Strumenti_desktop.

  6. Creare un file per l'azione. Questo file creerà un'icona per la rappresentazione dell'azione nella Gestione di file e nella Gestione di applicazioni. (Se l'azione produce l'avvio dell'applicazione, l'icona verrà detta icona dell'applicazione.)

    Per creare il file dell'azione, creare un file eseguibile il cui nome coincida con il nome_azione. Il file potrà essere creato in qualunque directory per la quale si possieda l'autorizzazione di scrittura. Si potrà creare qualsiasi numero di file dell'azione.

Esempio di creazione di un'azione COMMAND

La procedura seguente crea un'azione personale che avvia un'applicazione fax sul sistema remoto ServerAppA. Il comando per l'avvio dell'applicazione fax è:

/usr/fax/bin/componifax [nomefile]
  1. Creare il file DirectoryIniziale/.dt/types/Fax.dt.

  2. Inserire nel file la seguente definizione dell'azione:

    	ACTION ComponiFax
     	{
     		TYPE					COMMAND
     		ICON					fax
     		WINDOW_TYPE			NO_STDIO
     		EXEC_STRING			/usr/fax/bin/componifax -c %Arg_1%
     		EXEC_HOST     	 	ServerAppA
     		DESCRIPTION    	Esegue il programma di composizione fax
    	}

    I campi WINDOW_TYPE e EXEC_STRING descrivono il comportamento dell'azione.

    WINDOW_TYPE: la parola chiave NO_STDIO specifica che l'azione non deve essere eseguita in una finestra di emulazione di terminale.

    Vedere "Indicazione del supporto di finestre per l'azione".

    EXEC_STRING: la sintassi %Arg_1% accetta un file come argomento. Facendo doppio clic sull'icona dell'azione, verrà aperta una finestra vuota per la composizione dei fax.

    Vedere "Creazione di una stringa di esecuzione per un'azione COMMAND".

  3. Salvare il file.

  4. Usare l'Editor delle icone per creare i file grafici seguenti in DirectoryIniziale/.dt/icons:

    • fax.m.pm, con dimensione 32 x 32 pixel

    • fax.t.pm, con dimensione 16 x 16 pixel

  5. Fare doppio clic su "Ricarica azioni" nel gruppo Strumenti_desktop.

  6. Creare un file eseguibile di nome ComponiFax in una directory per la quale si possieda l'autorizzazione di scrittura (ad esempio, nella directory iniziale).

Esempio di creazione di un'azione MAP

Si supponga che i file da inviare via fax vengano in genere creati con l'Editor di testo e contengano il tipo di dati TEXTFILE (con nome *.txt).

Questa procedura aggiunge un'opzione "Fax" al menu Selezione associato al tipo di dati.

  1. Aprire il file DirectoryIniziale/.dt/types/Fax.dt creato nell'esempio precedente.

  2. Aggiungere al file la seguente definizione dell'azione di mappatura:

    	ACTION Fax
     	{
     		ARG_TYPE			TEXTFILE
     		TYPE				MAP
     		MAP_ACTION		ComponiFax
     	} 
  3. Salvare il file.

  4. Copiare la definizione degli attributi per il tipo di dati TEXTFILE da /usr/dt/appconfig/types/lingua/dtpad.dt nel nuovo file DirectoryIniziale/.dt/types/textfile.dt. Aggiungere l'azione Fax al campo ACTIONS.

    	DATA_ATTRIBUTES TEXTFILE
     	{
     		ACTIONS			Open,Print,Fax
     		ICON				Dtpenpd
     		...
     	}
  5. Salvare il file.

  6. Aprire la Gestione di applicazioni e fare doppio clic su "Ricarica azioni" nel gruppo Strumenti_desktop.

Ricaricare il database delle azioni e dei tipi di dati

Perché la definizioni delle azioni nuove o modificate abbiano effetto, è necessario che il desktop rilegga il database.

    Aprire il gruppo Strumenti_desktop e fare doppio clic su "Ricarica azioni".

    Oppure, eseguire il comando:

    	dtaction ReloadActions

    ReloadActions è il nome dell'azione rappresentata dall'icona "Ricarica azioni".

    Il database delle azioni viene riletto anche quando l'utente:

    • Effettua il login

    • Riavvia la Gestione dello spazio di lavoro

    • Salva un'azione nella finestra di Crea azione scegliendo Salva dal menu File

Creazione del file (icona) dell'azione

Si definisce file dell'azione il file creato per fornire una rappresentazione visiva dell'azione nella Gestione di file o nella Gestione di applicazioni.

Figura 12-1 File (icone) delle azioni nella Gestione di applicazioni

Graphic

Poiché l'icona di questo file rappresenta un'azione, essa viene detta anche icona dell'azione. Se l'azione produce l'avvio di un'applicazione, la stessa icona può essere chiamata icona dell'applicazione.

Facendo doppio clic sull'icona viene eseguita l'azione rappresentata. L'icona dell'azione può fungere anche da area di rilascio.

Creare il file (l'icona) dell'azione

    Creare un file eseguibile con lo stesso nome dell'azione. Il contenuto del file è irrilevante.

Ad esempio, se la definizione dell'azione fosse la seguente:

ACTION App_preferita
 {
 	EXEC_STRING				Mfa -file %Arg_1%
 	DESCRIPTION				Esegue App_preferita
 	ICON						IconaAP
 }

il file dell'azione sarà un file eseguibile di nome App_preferita. Nella Gestione di file e nella Gestione di applicazioni, il file App_preferita userà l'immagine dell'icona IconaAP.dimensione.tipo. Facendo doppio clic sull'icona di App_preferita verrà eseguita la stringa di esecuzione dell'azione, e il testo della guida relativo all'icona sarà il contenuto del campo DESCRIPTION ("Esegue App_preferita").

Etichette delle azioni

Se la definizione dell'azione include il campo LABEL, il file dell'azione comparirà nella Gestione di file e nella Gestione di applicazioni con l'etichetta specificata da questo campo anziché con il nome effettivo del file (nome_azione). Ad esempio, se la definizione dell'azione contiene quanto segue:

ACTION App_preferita
 {
 	LABEL      Applicazione preferita
 	...
 }

l'icona dell'azione comparirà con l'etichetta "Applicazione preferita".

Scelta dell'icona da utilizzare per un'azione

Usare il campo ICON per specificare l'icona da utilizzare nella Gestione di file e nella Gestione di applicazioni per rappresentare l'azione.

Se non viene specificata alcuna icona, il sistema userà l'immagine predefinita per i file delle azioni, /usr/dt/appconfig/icons/lingua/Dtactn.*.

Figura 12-2 Icona predefinita per le azioni

Graphic

L'icona predefinita per le azioni può essere modificata usando la risorsa:

*actionIcon:    file_icona

dove file_icona può essere un nome base o un percorso assoluto.

Il valore del campo ICON può essere:

Tabella 12-1 Nomi e dimensioni per le icone delle azioni

Dimensioni in pixel 

Nome del file a mappa di bit 

Nome del file a mappa di pixel 

48 x 48 

nome.l.bm

nome.l.pm

32 x 32 

nome.m.bm

nome.m.pm

16 x 16 

nome.t.bm

nome.t.pm

Modificare la definizione di un'azione esistente

È possibile modificare qualsiasi azione disponibile sul sistema, incluse le azioni predefinite.


Nota -

Prestare molta attenzione nel modificare il database delle azioni predefinite. Queste azioni sono state realizzate specificamente per le applicazioni del desktop.


  1. Localizzare la definizione dell'azione da modificare.

    Le directory predefinite per le definizioni delle azioni sono le seguenti:

    • Azioni predefinite: /usr/dt/appconfig/types/lingua

    • Azioni di sistema: /etc/dt/appconfig/types/lingua

    • Azioni personali: DirectoryIniziale/.dt/types

      Il sistema in uso potrebbe usare altre directory. Per visualizzare un elenco delle directory utilizzate dal sistema per le azioni, eseguire il comando:

      	dtsearchpath -v
      

      Il sistema in uso utilizza le directory elencate sotto DTDATABASESEARCHPATH.

  2. Se necessario, copiare il testo della definizione dell'azione in un file nuovo o esistente in una delle directory seguenti:

    • Azioni di sistema: /etc/dt/appconfig/types/lingua

    • Azioni personali: DirectoryIniziale/.dt/types

      Creare una copia delle azioni predefinite, evitando di modificare i file della directory /usr/dt/appconfig/types/lingua.

  3. Modificare la definizione dell'azione.

  4. Al termine, salvare il file.

  5. Fare doppio clic su "Ricarica azioni" nel gruppo Strumenti_desktop.

Precedenza nelle definizioni delle azioni

Quando un utente richiama un'azione, il sistema ricerca nel database un'azione con un nome corrispondente. Se sono presenti più azioni con quel nome, il sistema utilizzerà determinate regole di precedenza per decidere quale utilizzare.

Creazione di una stringa di esecuzione per un'azione COMMAND

Un'azione di tipo COMMAND deve contenere necessariamente almeno due campi: ACTION ed EXEC_STRING.

ACTION nome_azione
 {
     EXEC_STRING stringa_di_esecuzione
 }

La stringa di esecuzione è la parte più importante della definizione di un'azione COMMAND. Essa utilizza una sintassi simile a quella usata per le righe di comando nelle finestre di terminale, ma include alcuni componenti aggiuntivi per la gestione dei file e delle stringhe usate come argomenti.

Caratteristiche generali delle stringhe di esecuzione

Le stringhe di esecuzione possono includere:

Argomenti delle azioni

Un argomento è un'informazione richiesta da un comando o da un'applicazione per essere eseguita correttamente. Ad esempio, si consideri la riga di comando usata per aprire un file nell'Editor di testo:

dtpad nomefile

In questo comando, nomefile è un argomento del comando dtpad.

Come i comandi e le applicazioni, anche le azioni possono avere argomenti. Un'azione COMMAND può usare due tipi di dati:

Uso di una shell nelle stringhe di esecuzione

Le stringhe di esecuzione vengono eseguite direttamente, non attraverso una shell. È possibile, tuttavia, specificare una stringa che preveda l'uso di una shell.

Ad esempio:

EXEC_STRING				\
 		/bin/sh -c \
 		'tar -tvf %(File)Arg_1% 2>&1 | \${PAGER:-more};\
 		echo "\\n*** Scegliere Chiudi per uscire ***"'

Nome o percorso assoluto dell'eseguibile

Se l'applicazione si trova in una directory inclusa nella variabile PATH si può usare semplicemente il nome del file eseguibile. Se si trova in un'altra posizione occorre specificare il percorso assoluto dell'eseguibile.

Creazione di un'azione che non utilizzi argomenti

Usare per l'EXEC_STRING la stessa sintassi richiesta per avviare l'applicazione da una riga di comando.

Esempi

Creazione di un'azione che accetti il rilascio di un file

Specificare l'argomento usando la seguente sintassi:

%Arg_n%

oppure

%(File)Arg_n%

Il componente (File) è opzionale, poiché nell'impostazione predefinita gli argomenti forniti ad Arg_n vengono interpretati automaticamente come file. Per informazioni sull'uso della sintassi %(String)Arg_n%, vedere "Interpretazione di un argomento file come stringa".

Questa sintassi permette di rilasciare un file di dati sull'icona dell'azione per avviare l'azione usando quel file come argomento. Essa sostituisce l'argomento n nella riga comandi. Il file può essere sia locale che remoto.

Esempi

Creazione di un'azione che richieda un file come argomento

Inserire la richiesta dell'argomento nella stringa di esecuzione usando la seguente sintassi:

%(File)"prompt"% 

Questa sintassi crea un'azione che chiede di specificare il nome di un file quando l'utente fa doppio clic sull'icona.

Ad esempio, questa stringa di esecuzione visualizza una finestra di dialogo che richiede un argomento per il comando wc -w:

EXEC_STRING wc -w %(File)"Contare le parole del file:"%

Creazione di un'azione che accetti il rilascio di un file o che richieda un file

Inserire la richiesta dell'argomento nella stringa di esecuzione usando la seguente sintassi:

%Arg_n"prompt"%

oppure

%(File)Arg_n"prompt"%

Questa sintassi produce un'azione che:

Creazione di un'azione che richieda un argomento diverso da un file

Per specificare un parametro diverso da un file, usare la sintassi:

%"prompt"%

oppure

%(String)"prompt"%

Il componente (String) è opzionale, poiché nell'impostazione predefinita il testo tra virgolette viene interpretato automaticamente come una stringa. Questa sintassi visualizza una finestra di dialogo che richiede un parametro diverso da un file; non usare questa sintassi per richiedere il nome di un file.

Ad esempio, questa stringa di esecuzione esegue il comando xwd e richiede di aggiungere un valore ad ogni pixel:

EXEC_STRING xwd -add %"Aggiungere valore:"% -out %Arg_1"Nomefile:"%

Interpretazione di un argomento file come stringa

Usare per l'argomento la seguente sintassi:

%(String)Arg_n%

Ad esempio, questa stringa di esecuzione stampa un file usando come intestazione il nome del file con il comando lp -t intestazione nomefile.

EXEC_STRING lp -t%(String)Arg_1% %(File)Arg_1"File da stampare:"%

Aggiunta dell'utilizzo di una shell in un'azione

Specificare l'uso della shell nella stringa di esecuzione:

/bin/sh -c 'comando'
/bin/ksh -c 'comando'
/bin/csh -c 'comando'

Esempi

Creazione di azioni COMMAND che accettino più argomenti (file)

Le azioni possono gestire più file specificati come argomenti in tre modi:

Creazione di un'azione con argomenti non intercambiabili

Usare una delle seguenti sintassi:

Creazione di un'azione con argomenti intercambiabili

Usare una delle seguenti sintassi:

Esempi

Creazione di un'azione che accetti il rilascio di più file

Per fare in modo che l'azione accetti il rilascio di più file ed esegua un comando nella forma:

comando file 1 file 2 ...

usare la sintassi:

%Args%

Esempi

Supporto di finestre ed emulatori di terminale per le azioni COMMAND

Le azioni COMMAND supportano le finestre del desktop in diversi modi.

Indicazione del supporto di finestre per l'azione

Usare il campo WINDOW_TYPE per specificare il tipo di supporto delle finestre richiesto dall'azione, come indicato nella Tabella 12-2.

Tabella 12-2 Campo WINDOW_TYPE e supporto delle finestre

WINDOW_TYPE

Supporto di finestre fornito 

NO_STDIO

Nessuno. Usare NO_STDIO se l'applicazione ha una propria finestra, o se il comando non produce alcun output visibile.

PERM_TERMINAL

Finestra di emulazione di terminale permanente. L'azione apre una finestra di terminale che rimane aperta fino a quando non viene chiusa esplicitamente, e in cui l'utente ha la possibilità di inserire informazioni. Usare questa opzione con i comandi che accettano un input, producono un output e quindi terminano (ad esempio, ls directory).

TERMINAL

Finestra di emulazione di terminale temporanea. L'azione apre una finestra di terminale che si chiude non appena il comando è completato. Usare questa opzione con i comandi eseguiti a schermo intero (ad esempio, vi).

Indicazione di opzioni per l'emulatore di terminale

Usare il campo TERM_OPTS nella definizione dell'azione per specificare opzioni precise per il comando di avvio dell'emulatore di terminale.

Ad esempio, l'azione seguente richiede di specificare l'host di esecuzione:

ACTION ApriTermSuSistemaSelezionato
 {
 	WINDOW_TYPE					PERM_TERMINAL
 	EXEC_HOST    				%(String)"Terminale remoto su:"%
 	TERM_OPTS    				-title %(String)"Titolo della finestra:"%
 	EXEC_STRING  				$SHELL
 }

Modifica dell'emulatore di terminale predefinito

L'emulatore di terminale predefinito per le azioni è dtterm. È tuttavia possibile impostare un diverso emulatore di terminale da usare quando l'azione non specifica l'emulatore richiesto in modo esplicito.

La riga di comando dell'emulatore di terminale usato dalle azioni deve comprendere le seguenti opzioni:

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

Creazione di azioni che eseguano applicazioni su sistemi remoti

Nel descrivere l'esecuzione remota delle azioni, si farà spesso riferimento ai due termini seguenti:

host del database: il sistema in cui si trova la definizione dell'azione

host di esecuzione: il sistema su cui viene avviato l'eseguibile

In genere, le azioni e le relative applicazioni si trovano sullo stesso sistema; in questi casi non è richiesta alcuna sintassi particolare, perché l'host di esecuzione predefinito per le azioni è l'host del database.

Tuttavia, quando l'host di esecuzione non coincide con l'host del database, la definizione dell'azione deve specificare la posizione in cui eseguire il comando contenuto nella stringa di esecuzione.

La possibilità di collocare le azioni e le applicazioni su sistemi diversi è una caratteristica dell'architettura client/server del desktop. Per una trattazione più approfondita delle applicazioni di rete, vedere "Amministrazione dei servizi per le applicazioni".

Creazione di un'azione che esegua un'applicazione remota

Usare il campo EXEC_HOST nella definizione dell'azione per specificare la posizione dell'applicazione.

I valori ammessi per EXEC_HOST sono:

%DatabaseHost%: l'host che contiene la definizione dell'azione.

%LocalHost%: l'host da cui viene avviata l'azione (il server delle sessioni).

%DisplayHost%: l'host che esegue il server X (non previsto per i terminali X).

%SessionHost%: l'host su cui viene eseguita la Gestione del login.

nomehost: l'host specificato. Usare questo valore per gli ambienti in cui l'azione deve essere sempre eseguita su un host particolare.

%"prompt"%: richiesta di inserimento del nome host visualizzata ad ogni esecuzione dell'azione.

Il valore predefinito è %DatabaseHost%, %LocalHost% Con questa impostazione, se si omette il campo EXEC_HOST l'azione cerca inizialmente di eseguire il comando sull'host che contiene la sua definizione. Se l'operazione non riesce, l'azione cerca di eseguire il comando sul server della sessione.

Esempi

Uso delle variabili nelle definizioni delle azioni e dei tipi di dati

Le definizioni delle azioni e dei tipi di dati possono comprendere variabili in forma di stringa e variabili d'ambiente.

Uso di variabili stringa in un'azione

La definizione di una variabile stringa ha effetto dal punto della definizione fino alla fine del file. Non esistono variabili stringa globali per il database.

Se una variabile stringa e una variabile d'ambiente hanno lo stesso nome, la variabile stringa avrà la precedenza.

Definire una variabile stringa

    Usare la sintassi:

	set nome_variabile=valore

I nomi delle variabili possono contenere qualsiasi carattere alfanumerico e il carattere di sottolineatura (_). Ogni definizione deve occupare una riga diversa.

Ad esempio:

set Server_applicazioni_remoto=sysapp
set Server_file_remoto=sysdata

Impostare un riferimento a una variabile stringa

    Usare la sintassi:

	$[{]nome_variabile[}]

Ad esempio:

EXEC-HOST			$Server_applicazioni_remoto
CWD					/net/${Server_file_remoto}/doc/progetto

Uso delle variabili d'ambiente nelle azioni e nei tipi di dati

    Per impostare un riferimento a una variabile d'ambiente, usare la sintassi:

	$[{]variabile[}]. 

La variabile viene espansa (cioè sostituita dal suo valore) al momento del caricamento del database. Se una variabile stringa e una variabile d'ambiente hanno lo stesso nome, la variabile stringa avrà la precedenza.

Ad esempio, questa stringa di esecuzione stampa un file usando il nome di login dell'utente come intestazione.

EXEC-STRING lp -t$LOGNAME %(File)Arg_1%

Avvio di un'azione dalla riga di comando

Il comando del desktop dtaction permette di eseguire le azioni da una riga di comando. Questo comando può essere usato per eseguire le azioni da:

Sintassi di dtaction

dtaction [-user nome_utente] [-execHost nome_host] \
 nome_azione [argomento [argomento]...]

-user nome_utente: permette di eseguire l'azione operando con un nome utente diverso. Se dtaction viene richiamato da un utente diverso da quello specificato con nome_utente, viene richiesta l'immissione di una password.

-execHost nome_host: solo per le azioni COMMAND, specifica l'host su cui verrà eseguito il comando.

argomento: argomento/i da usare per l'azione, in genere file.

Il client dtaction dispone di altre opzioni per la riga di comando. Per maggiori informazioni, vedere la pagina man dtaction(1).

Creazione di un'azione che esegua un'altra azione

Usare dtaction nella EXEC_STRING dell'azione.

Ad esempio, l'azione seguente utilizza un'azione predefinita di nome Spell (presentata come "Controlla ortografia" nella Gestione di applicazioni). La nuova azione eseguirà l'Editor di testo e l'azione Spell, visualizzando gli errori riscontrati in una finestra di emulazione di terminale separata.

ACTION ApriECorreggi
 {
 	WINDOW_TYPE				NO_STDIO
 	EXEC_STRING				/bin/sh -c 'dtaction Spell \
 								%Arg_1"File:"%; dtpad %Arg_1%'
 }

Creazione di un'azione che venga eseguita con un nome utente diverso

Usare la seguente sintassi nella EXEC_STRING:

EXEC_STRING   dtaction -user nome_utente nome_azione [argomento]

Il nuovo utente (nome_utente) deve avere accesso di visualizzazione al sistema attraverso uno dei seguenti meccanismi:

Creazione di azioni in lingue diverse

Il percorso di ricerca per i tipi di dati include directory dipendenti dalla lingua. Il desktop utilizza il valore di LANG per determinare le posizioni in cui cercare le definizioni dei tipi di dati.

Posizione delle azioni localizzate

Le definizioni delle azioni localizzate devono trovarsi nelle directory corrette del percorso di ricerca delle azioni.

Il percorso di ricerca predefinito comprende le directory seguenti:

Tradurre un'azione esistente

  1. Creare un file nella directory appropriata dipendente dalla lingua (ad esempio, in /etc/dt/appconfig/types/japanese).

  2. Copiare la definizione dell'azione nel file di configurazione dipendente dalla lingua.

    Ad esempio, si potrà copiare la definizione di un'azione da

    	radice_app/dt/appconfig/types/C/file.dt

    in

    	radice_app/dt/appconfig/types/it/nuovofile.dt
  3. Aggiungere un campo LABEL o modificare il campo LABEL esistente.

    	LABEL			stringa
    

    La Gestione di applicazioni e la Gestione di file useranno questa stringa per identificare l'icona dell'azione.

  4. Adattare i campi seguenti nella definizione dell'azione:

    • Per le icone tradotte: ICON

    • Per i testi della guida tradotti: DESCRIPTION

    • Per i prompt tradotti: tutto il testo tra virgolette nella EXEC_STRING

Creazione di azioni per le applicazioni ToolTalk


Nota -

Le informazioni seguenti si riferiscono solo alle applicazioni che supportano i messaggi ToolTalk.


Creare un'azione di tipo TT_MSG che invii un messaggio ToolTalk.

ACTION nome_azione
{
 	TYPE		TT_MSG  
 	... 
	}

Campi addressing e disposition

Messaggi non supportati

Le azioni di tipo TT_MSG non supportano i messaggi seguenti:

Parole chiave per le azioni TT_MSG

La Tabella 12-3 mostra le parole chiave e la sintassi per le azioni TT_MSG.

Tabella 12-3 Parole chiave e sintassi per le azioni TT_MSG

Parola chiave 

Utilizzo 

TT_CLASS

Definisce il valore del campo class dei messaggi di ToolTalk 

TT_SCOPE

Definisce il valore del campo scope dei messaggi di ToolTalk 

TT_OPERATION

Definisce il valore del campo operation dei messaggi di ToolTalk 

TT_FILE

Definisce il valore del campo file dei messaggi di ToolTalk 

TT_ARGn_MODE

Definisce il valore dell'attributo di ToolTalk per l'argomento n del messaggio

TT_ARGn_VTYPE

Definisce il valore dell'attributo vtype di ToolTalk per l'argomento n del messaggio

TT_ARGn_VALUE

Definisce il valore dell'argomento n del messaggio