Le azioni sono istruzioni scritte per automatizzare alcune operazioni del desktop, come l'avvio delle applicazioni e l'apertura dei file di dati. Il loro funzionamento è molto simile a quello delle macro o delle funzioni di programmazione. Ogni azione è associata a un nome che viene usato per eseguirla.
In generale, si definisce un'azione per semplificare l'esecuzione di un'operazione dall'interfaccia utente del desktop. Il desktop permette di associare alle azioni vari componenti dell'interfaccia utente, come icone, controlli del Pannello principale e opzioni dei menu.
Ad esempio, il gruppo Strumenti_desktop della Gestione di applicazioni contiene varie icone per l'avvio di utility del desktop.
Facendo doppio clic su una di queste icone viene eseguita l'azione corrispondente. L'esempio seguente riporta una parte della definizione dell'azione che viene eseguita facendo doppio clic sull'icona Visualizza Xwd. Questa azione è definita nel file di configurazione /usr/dt/appconfig/types/lingua/xclients.dt:
ACTION Xwud { LABEL Visualizza Xwd TYPE COMMAND EXEC_STRING /usr/bin/X11/xwud -noclick -in \ %(File)Arg_1"File Xwd da visualizzare:"% … }
Facendo doppio clic sull'icona verrà eseguito il comando specificato nella riga EXEC_STRING.
Anche il Pannello principale utilizza le azioni. L'esempio seguente riporta una parte della definizione del controllo Terminale del pannello secondario “Applicazioni personali”. Il controllo è definito nel file di configurazione /usr/dt/appconfig/types/lingua/dtwm.fp:
CONTROL Term { ICON Fpterm LABEL Terminale PUSH_ACTION Dtterm … }
Facendo clic sul controllo Terminale verrà eseguita l'azione specificata nel campo PUSH_ACTION, in questo caso, l'azione di nome Dtterm.
In molti casi, le azioni vengono usate anche nei menu. I file di dati sono normalmente associati ad azioni che compaiono nel menu Selezione nella Gestione di file. Ad esempio, i file XWD (cioè i file che terminano con il suffisso .xwd o .wd) sono associati a un'azione Apri che visualizza la loro immagine sullo schermo eseguendo l'azione Xwud.
Le azioni che compaiono nel menu Selezione sono specificate nella definizione del tipo di dati per i file XWD. Questa definizione si trova nel file di configurazione /usr/dt/appconfig/types/lingua/xclients.dt.
DATA_ATTRIBUTES XWD { ACTIONS Open,Print ICON Dtxwd …
}
Il tipo di dati XWD, e le relative azioni Apri e Stampa, sono descritti in Come i tipi di dati collegano i file di dati alle azioni.
Si consideri l'icona “Visualizza Xwd” nel gruppo Strumenti_desktop della Gestione di applicazioni. Facendo doppio clic su questa icona viene eseguito il client X xwud. Tuttavia, questa icona non rappresenta direttamente l'eseguibile /usr/bin/X11/xwud.
L'icona “Visualizza Xwd” compare nel gruppo di applicazioni perché la directory contiene un file di nome Xwud (vedere la <Figura 10–3). Questo file rappresenta un'azione con lo stesso nome: Xwud. Nella definizione dell'azione, il nome dell'azione è quello che segue la parola chiave ACTION:
ACTION Xwud { LABEL Visualizza Xwd TYPE COMMAND WINDOW_TYPE NO_STDIO EXEC_STRING /usr/bin/X11/xwud -noclick -in \ %(File)Arg_1"File Xwd da visualizzare:"% DESCRIPTION L'azione Visualizza Xwd (Xwud) visualizza \ un file xwd creato con l'azione Cattura Xwd (Xwd). \ Utilizza il comando 'xwud'. }
Il file viene detto file dell'azione perché rappresenta l'azione. Si definiscono in questo modo i file eseguibili con lo stesso nome dell'azione che rappresentano. La sua icona nella Gestione di applicazioni (o nella Gestione di file) viene detta icona dell'azione, o icona dell'applicazione, perché permette di avviare l'applicazione che rappresenta con un doppio clic.
Quando la Gestione di applicazioni individua un file eseguibile, essa verifica se il database delle azioni contiene un'azione con un nome corrispondente. In caso affermativo, il file viene identificato come file dell'azione.
Il contenuto del file dell'azione è irrilevante; in genere, i file delle azioni contengono un testo di commento che descrive la loro funzione nel desktop.
Il file dell'azione non deve essere confuso con il file di definizione dell'azione. Il primo è un file con lo stesso nome dell'azione, usato per creare l'icona dell'applicazione nella Gestione di file o nella Gestione di applicazioni. Il secondo è un file di nome nome.dt contenente la definizione dell'azione.
Quando il desktop identifica un file di un'azione, esso ne determina l'aspetto e il comportamento utilizzando la definizione di quell'azione.
Il campo EXEC_STRING specifica il comportamento dell'icona dell'applicazione. Nel caso dell'icona “Visualizza Xwd”, il campo EXEC_STRING specifica l'esecuzione del client X xwud con determinati argomenti.
Il campo LABEL specifica l'etichetta usata per l'icona dell'applicazione.
Il campo DESCRIPTION contiene il testo che verrà visualizzato richiamando la Guida sull'elemento.
L'icona dell'applicazione Xwud utilizza l'immagine predefinita per le azioni perché la sua definizione non contiene un campo ICON che specifichi un'immagine diversa.
Al contrario, l'icona “Comprimi file” utilizza un'immagine diversa perché la definizione dell'azione contiene un campo ICON:
Ad esempio:
ACTION Compress { LABEL Comprimi file ICON Dtcmprs … }
L'azione Xwud viene detta un'azione di comando, perché la sua definizione contiene il comando da eseguire (EXEC_STRING). Il campo TYPE nella definizione dell'azione specifica a quale tipo appartiene l'azione.
Inizialmente, l'icona “Visualizza Xwd” appare solo nel gruppo di applicazioni Strumenti_desktop. Tuttavia, è possibile creare altre copie dell'icona ed inserirle in qualsiasi directory alla quale si abbia accesso in scrittura. Finché la definizione dell'azione Xwud farà parte del database, qualsiasi file eseguibile creato con il nome Xwud rappresenterà quell'azione, e la sua icona nella Gestione di file o nella Gestione di applicazioni potrà essere usata per eseguirla.
Un argomento di un comando è un oggetto, solitamente un file, su cui il comando viene eseguito. Un'azione può essere scritta in modo da accettare un file come argomento.
Ad esempio, il campo EXEC_STRING dell'azione Xwud specifica che è richiesto un file come argomento:
EXEC_STRING /usr/bin/X11/xwud -noclick -in \ %(File)Arg_1"File Xwd da visualizzare:"%
Il termine Arg indica l'argomento. La sintassi Arg_1 significa che si tratta del primo argomento, mentre (File) indica che l'azione tratterà quell'argomento come un file.
Il modo più semplice per specificare un file come argomento consiste nel rilasciare un file di dati sull'icona dell'applicazione. Il desktop determina il percorso del file rilasciato e lo inserisce nella riga di comando al posto del testo tra i due simboli % (%(File)Arg_1"File Xwd da visualizzare:"%). In questo modo, il comando che viene eseguito è:
/usr/bin/X11/xwud -noclick -in percorso_file
Facendo doppio clic sull'icona dell'applicazione, il desktop determina dal campo EXEC_STRING che è richiesto un file come argomento, e visualizza una finestra di dialogo che chiede all'utente di inserire un percorso o un nome per il file. Nel caso dell'azione Xwud, la richiesta sarà:
File Xwd da visualizzare:
Il percorso o il nome del file inserito dall'utente verrà usato come argomento del comando.
Oltre all'impiego descritto per l'avvio delle applicazioni, le azioni vengono utilizzate per creare funzionalità per altre aree del desktop:
Pannello principale
La definizione di un controllo del Pannello principale comprende campi che specificano le azioni da eseguire quando l'utente fa clic sul controllo o vi rilascia un file. Per maggiori informazioni, vedere Definizione dei controlli del Pannello principale.
Menu
La sintassi per la definizione dei menu di controllo delle finestre o degli spazi di lavoro permette di specificare l'azione da eseguire quando l'utente seleziona un'opzione. Per maggiori informazioni, vedere Menu della Gestione dello spazio di lavoro e la pagina man dtwmrc(4).
Comunicazioni tra le applicazioni
Un'applicazione può essere realizzata in modo da inviare e ricevere informazioni usando un tipo speciale di azione, detta messaggio di ToolTalk (TT_MSG). Le azioni TT_MSG sono descritte nella documentazione dell'ambiente di sviluppo per il desktop.