1702 lines
92 KiB
Plaintext
1702 lines
92 KiB
Plaintext
<!-- $XConsortium: ch10.sgm /main/11 1996/12/21 19:19:30 rws $ -->
|
|
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
|
|
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
|
|
<!-- (c) Copyright 1995 International Business Machines Corp. -->
|
|
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
|
|
<!-- (c) Copyright 1995 Novell, Inc. -->
|
|
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
|
|
<!-- (c) Copyright 1995 Hitachi. -->
|
|
<chapter id="sag.cract.div.1">
|
|
<title id="sag.cract.mkr.1"><indexterm><primary>azioni</primary><secondary>creazione manuale</secondary></indexterm>Creazione delle azioni con la procedura
|
|
manuale</title>
|
|
<para>Esistono due metodi per creare le azioni:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Usare l'applicazione del desktop Creare azione</para>
|
|
</listitem>
|
|
<listitem><para>Creare manualmente la definizione dell'azione</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>Per creare un'azione manualmente è necessario editare un file
|
|
del database. Questo capitolo spiega come creare manualmente le definizioni
|
|
delle azioni.</para>
|
|
<informaltable id="sag.cract.itbl.1" frame="all">
|
|
<tgroup cols="1" colsep="1" rowsep="1">
|
|
<colspec colwidth="4.55in">
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para><!--Original XRef content: 'Casi in
|
|
cui occorre creare le azioni manualmen--><!--te158'--><xref role="JumpText"
|
|
linkend="sag.cract.mkr.2"></para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><!--Original XRef content: 'Creazione
|
|
manuale di un'azione: procedura gene--><!--rale159'--><xref role="JumpText"
|
|
linkend="sag.cract.mkr.4"></para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><!--Original XRef content: 'Creazione
|
|
di una stringa di esecuzione per un'--><!--azione COMMAND169'--><xref role="JumpText"
|
|
linkend="sag.cract.mkr.13"></para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><!--Original XRef content: 'Supporto
|
|
di finestre ed emulatori di terminale--><!-- per le azioni COMMAND176'--><xref
|
|
role="JumpText" linkend="sag.cract.mkr.24"></para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><!--Original XRef content: 'Restrizione
|
|
delle azioni a determinati argomen--><!--ti178'--><xref role="JumpText" linkend="sag.cract.mkr.29"></para></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><!--Original XRef content: 'Creazione
|
|
di azioni che eseguano applicazioni --><!--su sistemi remoti180'--><xref role="JumpText"
|
|
linkend="sag.cract.mkr.32"></para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><!--Original XRef content: 'Uso delle
|
|
variabili nelle definizioni delle az--><!--ioni e dei tipi di dati182'--><xref
|
|
role="JumpText" linkend="sag.cract.mkr.34"></para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><!--Original XRef content: 'Avvio di
|
|
un'azione dalla riga comandi183'--><xref role="JumpText" linkend="sag.cract.mkr.37"></para></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><!--Original XRef content: 'Creazione
|
|
di azioni in lingue diverse185'--><xref role="JumpText" linkend="sag.cract.mkr.39"></para></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><!--Original XRef content: 'Creazione
|
|
di azioni per le applicazioni ToolTa--><!--lk186'--><xref role="JumpText"
|
|
linkend="sag.cract.mkr.40"></para></entry></row></tbody></tgroup></informaltable>
|
|
<sect1 id="sag.cract.div.2">
|
|
<title>Vedere anche</title>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Per una descrizione introduttiva delle azioni, vedere il <!--Original
|
|
XRef content: 'Capitolo 8,
|
|
“Introduzione alle a--><!--zioni e ai tipi di dati'--><xref role="ChapNumAndTitle"
|
|
linkend="sag.intac.mkr.1">.</para>
|
|
</listitem>
|
|
<listitem><para>Per informazioni sull'uso di Creare azione, vedere il <!--Original
|
|
XRef content: 'Capitolo 9, “Creazione
|
|
di azioni--><!-- e tipi di dati con Creare azione'--><xref role="ChapNumAndTitle"
|
|
linkend="sag.dtcra.mkr.1">.</para>
|
|
</listitem>
|
|
<listitem><para>Per informazioni sulle definizioni delle azioni, vedere la
|
|
pagina di spiegazioni <filename>dtactionfile(4)</filename>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
<sect1 id="sag.cract.div.3">
|
|
<title id="sag.cract.mkr.2">Casi in cui occorre creare le azioni manualmente</title>
|
|
<para><indexterm><primary>azioni</primary><secondary>tipi</secondary></indexterm>Esistono
|
|
tre tipi di azioni:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para><command>COMMAND</command></para>
|
|
</listitem>
|
|
<listitem><para><command>MAP</command></para>
|
|
</listitem>
|
|
<listitem><para><filename>TT_MSG</filename></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para id="sag.cract.mkr.3">L'applicazione Creare azione permette di creare
|
|
alcuni tipi di azioni <command>COMMAND</command> e <command>MAP</command>.
|
|
Tutte le azioni <filename>TT_MSG</filename> devono essere create manualmente.
|
|
</para>
|
|
<para>Per maggiori informazioni, vedere <!--Original XRef content: '“Limitazioni
|
|
di Creare azione” a--><!-- pagina 144'--><xref role="SecTitleAndPageNum"
|
|
linkend="sag.dtcra.mkr.3">.</para>
|
|
<sect2 id="sag.cract.div.4">
|
|
<title><indexterm><primary>COMMAND, azione</primary></indexterm><indexterm>
|
|
<primary>azioni</primary><secondary>COMMAND</secondary></indexterm>Azioni
|
|
COMMAND</title>
|
|
<para>Si definisce <emphasis>azione di comando</emphasis> 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 (<filename>EXEC_STRING</filename>).
|
|
</para>
|
|
<para>Le azioni di comando più comuni possono essere create con lo
|
|
strumento Creare azione. Tuttavia, in presenza di alcune condizioni è
|
|
necessario crearle manualmente; ad esempio, quando l'azione specifica:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Più argomenti (file) con una richiesta diversa per
|
|
ognuno.</para>
|
|
</listitem>
|
|
<listitem><para>Il richiamo di un'azione — un'azione che avvii altre
|
|
azioni.</para>
|
|
</listitem>
|
|
<listitem><para>Un comportamento dipendente dal numero degli argomenti —
|
|
un'azione che si comporti in modo diverso a seconda del numero di file specificati
|
|
come argomenti.</para>
|
|
</listitem>
|
|
<listitem><para>Un host di esecuzione remoto — un'azione che avvii un'applicazione
|
|
su un sistema diverso da quello in cui si trova la definizione dell'azione.
|
|
</para>
|
|
</listitem>
|
|
<listitem><para>Un cambiamento di utente — un'azione che debba essere
|
|
eseguita con un nome utente diverso (ad esempio, che richieda la password
|
|
di superutente).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.5">
|
|
<title><indexterm><primary>MAP, azioni</primary><secondary>definizione</secondary>
|
|
</indexterm>Azioni MAP<indexterm><primary>azioni</primary><secondary>MAP</secondary>
|
|
</indexterm></title>
|
|
<para>Si definisce <emphasis>azione di mappatura</emphasis> un'azione che
|
|
viene “mappata” in un'altra azione anziché specificare
|
|
direttamente un comando o un messaggio ToolTalk.</para>
|
|
<para>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 Aprire, la cui applicazione è
|
|
limitata ai file a mappa di bit e a mappa di pixel (con il campo <filename>ARG_TYPE</filename>), 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 Aprire dal menu
|
|
Selezioni.</para>
|
|
<para>Le possibilità di mappatura offerte da Creare azione sono limitate
|
|
alle azioni Aprire e Stampare. Tutte le altre azioni di mappatura devono essere
|
|
create manualmente.</para>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.6">
|
|
<title><indexterm><primary>azioni</primary><secondary>TT_MSG</secondary></indexterm>Azioni
|
|
TT_MSG (messaggi ToolTalk)</title>
|
|
<para>Le azioni <filename>TT_MSG</filename> inviano un messaggio ToolTalk.
|
|
Tutte le azioni di tipo <filename>TT_MSG</filename> devono essere create manualmente.
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 id="sag.cract.div.7">
|
|
<title id="sag.cract.mkr.4">Creazione manuale di un'azione: procedura generale<indexterm>
|
|
<primary>azioni</primary><secondary>creazione manuale</secondary></indexterm></title>
|
|
<para>Questa sezione descrive come creare un file di configurazione per la
|
|
definizione di un'azione.</para>
|
|
<sect2 id="sag.cract.div.8">
|
|
<title id="sag.cract.mkr.5">File di configurazione per le azioni<indexterm>
|
|
<primary>azioni</primary><secondary>file di configurazione</secondary></indexterm><indexterm>
|
|
<primary>file di configurazione</primary><secondary>azioni</secondary></indexterm><indexterm>
|
|
<primary>dt, file</primary></indexterm></title>
|
|
<para>I file di configurazione contenenti le definizioni delle azioni devono
|
|
rispondere ai seguenti requisiti:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Il nome del file deve avere il formato <symbol role="Variable">nome</symbol><filename>.dt</filename></para>
|
|
</listitem>
|
|
<listitem><para><indexterm><primary>percorso di ricerca dei database</primary>
|
|
</indexterm><indexterm><primary>percorsi di ricerca</primary><secondary>azioni</secondary></indexterm>I file devono trovarsi nel percorso di ricerca del
|
|
database (per le azioni e i tipi di dati). Il percorso di ricerca predefinito
|
|
comprende le directory seguenti:</para>
|
|
<informaltable>
|
|
<tgroup cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="156*">
|
|
<colspec colwidth="300*">
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para>Azioni personali</para></entry>
|
|
<entry align="left" valign="top"><para><symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types</filename></para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para>Azioni di sistema</para></entry>
|
|
<entry align="left" valign="top"><para><filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol></para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para>Azioni predefinite</para></entry>
|
|
<entry align="left" valign="top"><para><filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol>. Questa directory non dovrebbe
|
|
essere utilizzata.</para></entry></row></tbody></tgroup></informaltable>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>Per informazioni su come modificare il percorso di ricerca delle azioni
|
|
e dei tipi di dati, vedere <!--Original XRef content: '“Impostazione
|
|
del valore di un percorso--><!-- di ricerca” a
|
|
pagina 117'--><xref role="SecTitleAndPageNum" linkend="sag.datab.mkr.6">.
|
|
</para>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.9" role="Procedure">
|
|
<title id="sag.cract.mkr.6">Come creare un'azione manualmente<indexterm><primary>azioni</primary><secondary>creazione manuale</secondary></indexterm></title>
|
|
<orderedlist>
|
|
<listitem><para>Aprire un file del database o crearne uno nuovo. Vedere la
|
|
sezione seguente, <!--Original XRef content: '“File di configurazione
|
|
per le azioni'--><xref role="SectionTitle" linkend="sag.cract.mkr.5">.</para>
|
|
</listitem>
|
|
<listitem><para>Creare la definizione dell'azione usando la sintassi:</para>
|
|
<programlisting>ACTION nome_azione
|
|
{
|
|
TYPE <symbol role="Variable">tipo_azione</symbol>
|
|
<symbol>campo_azione</symbol>
|
|
…
|
|
}</programlisting>
|
|
<para>dove:</para>
|
|
<informaltable>
|
|
<tgroup cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="157*">
|
|
<colspec colwidth="371*">
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para><indexterm><primary>azioni</primary>
|
|
<secondary>nomi</secondary></indexterm><symbol role="Variable">nome_azione</symbol></para></entry>
|
|
<entry align="left" valign="top"><para>È il nome usato per eseguire
|
|
l'azione.</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><indexterm><primary>azioni</primary>
|
|
<secondary>tipi</secondary></indexterm><symbol role="Variable">tipo_azione</symbol></para></entry>
|
|
<entry align="left" valign="top"><para>È <command>COMMAND</command>
|
|
(il tipo predefinito), <command>MAP</command> o <filename>TT_MSG.</filename></para></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><indexterm><primary>azioni</primary>
|
|
<secondary>campi</secondary></indexterm><symbol role="Variable">campo_azione</symbol></para></entry>
|
|
<entry align="left" valign="top"><para>È 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.</para><para>In questo capitolo sono descritti
|
|
molti dei campi usati per la definizione delle azioni. Per maggiori informazioni,
|
|
vedere la pagina di spiegazioni dtactionfile(4).</para></entry></row></tbody>
|
|
</tgroup></informaltable>
|
|
</listitem>
|
|
<listitem><para>Salvare il file.</para>
|
|
</listitem>
|
|
<listitem><para>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:</para>
|
|
<itemizedlist remap="Bullet2">
|
|
<listitem><para>Icone personali: <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/icons</filename></para>
|
|
</listitem>
|
|
<listitem><para>Icone di sistema: <filename>/etc/dt/appconfig/icons/</filename><symbol role="Variable">lingua.</symbol> La <symbol role="Variable">lingua</symbol> predefinita
|
|
è l'inglese (C).</para>
|
|
<para>Per maggiori informazioni, vedere <!--Original XRef content: '“Scelta
|
|
dell'icona da utilizzare per u--><!--n'azione” a pagina 165'--><xref
|
|
role="SecTitleAndPageNum" linkend="sag.cract.mkr.10">.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
<listitem><para>Fare doppio clic su “Ricaricare azioni” nel gruppo
|
|
Strumenti_desktop.</para>
|
|
</listitem>
|
|
<listitem><para>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<indexterm><primary>icone</primary><secondary>di applicazioni</secondary>
|
|
</indexterm> <emphasis>icona dell'applicazione</emphasis>.)</para>
|
|
<para>Per creare il file dell'azione, creare un file eseguibile il cui nome
|
|
coincida con il <symbol>nome_azione</symbol>. 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.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.10">
|
|
<title id="sag.cract.mkr.7">Esempio di creazione di un'azione COMMAND<indexterm>
|
|
<primary>COMMAND, azione</primary><secondary>esempio</secondary></indexterm><indexterm>
|
|
<primary>azioni</primary><secondary>esempio</secondary></indexterm></title>
|
|
<para>La procedura seguente crea un'azione personale che avvia un'applicazione
|
|
fax sul sistema remoto AppServerA. Il comando per l'avvio dell'applicazione
|
|
fax è:</para>
|
|
<programlisting>/usr/fax/bin/faxcompose [<symbol role="Variable">nomefile</symbol>]</programlisting>
|
|
<orderedlist>
|
|
<listitem><para>Creare il file <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types/Fax.dt</filename>.</para>
|
|
</listitem>
|
|
<listitem><para>Inserire nel file la seguente definizione dell'azione:</para>
|
|
<programlisting>ACTION ComporreFax
|
|
{
|
|
TYPE COMMAND
|
|
ICON fax
|
|
WINDOW_TYPE NO_STDIO
|
|
EXEC_STRING /usr/fax/bin/faxcompose-c %Arg_1
|
|
EXEC_HOST AppServerA
|
|
DESCRIPTION Esegue il programma di composizione fax
|
|
}</programlisting>
|
|
<para>I campi <filename>WINDOW_TYPE</filename> e <filename>EXEC_STRING</filename>
|
|
descrivono il comportamento dell'azione.</para>
|
|
<informaltable>
|
|
<tgroup cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="158*">
|
|
<colspec colwidth="370*">
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>WINDOW_TYPE</filename></para></entry>
|
|
<entry align="left" valign="top"><para>La parola chiave <filename>NO_STDIO</filename> specifica che l'azione non deve essere eseguita in una finestra
|
|
di emulazione di terminale.</para><para>Vedere <!--Original XRef content:
|
|
'“Indicazione del supporto di finestre p--><!--er l'azione” a
|
|
pagina 176'--><xref role="SecTitleAndPageNum" linkend="sag.cract.mkr.25"></para></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>EXEC_STRING</filename></para></entry>
|
|
<entry align="left" valign="top"><para>La sintassi <filename>%Arg_1%</filename>
|
|
accetta un file come argomento. Facendo doppio clic sull'icona dell'azione,
|
|
verrà aperta una finestra vuota per la composizione dei fax.</para><para>Vedere <!--Original XRef content: '“Creazione di una stringa di esecuzione--><!--
|
|
per un'azione COMMAND” a pagina 169'--><xref role="SecTitleAndPageNum"
|
|
linkend="sag.cract.mkr.13">.</para></entry></row></tbody></tgroup></informaltable>
|
|
</listitem>
|
|
<listitem><para>Salvara il file</para>
|
|
</listitem>
|
|
<listitem><para>Usare l'editor delle icone per creare i file grafici seguenti
|
|
in <filename>DirectoryIniziale/.dt/icons</filename>:</para>
|
|
<itemizedlist remap="Bullet2">
|
|
<listitem><para><filename>fax.m.pm</filename>, con dimensione 32x32 pixel
|
|
</para>
|
|
</listitem>
|
|
<listitem><para><filename>fax.t.pm</filename>, con dimensione 16x16 pixel
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
<listitem><para>Fare doppio clic su "Ricaricare azioni" nel gruppo <filename>Strumenti_desktop</filename>.</para>
|
|
</listitem>
|
|
<listitem><para>Creare un file eseguibile di nome <filename>ComporreFax</filename>
|
|
in una dirctory per la quale si possieda l'autorizzazione di scrittura (ad
|
|
esempio, nella directory iniziale).</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.11">
|
|
<title id="sag.cract.mkr.8">Esempio di creazione di un'azione MAP<indexterm>
|
|
<primary>MAP, azioni</primary><secondary>esempio</secondary></indexterm><indexterm>
|
|
<primary>azioni</primary><secondary>esempio</secondary></indexterm></title>
|
|
<para>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 *<filename>.txt</filename>).</para>
|
|
<para>Questa procedura aggiunge un'opzione “Fax” al menu Selezioni
|
|
associato al tipo di dati.</para>
|
|
<orderedlist>
|
|
<listitem><para>Aprire il file <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types/Fax.dt</filename> creato nell'esempio precedente.</para>
|
|
</listitem>
|
|
<listitem><para>Aggiungere al file la seguente definizione dell'azione di
|
|
mappatura:</para>
|
|
<programlisting>ACTION Fax
|
|
{
|
|
ARG_TYPE TEXTFILE
|
|
TYPE MAP
|
|
MAP_ACTION ComporreFax
|
|
}</programlisting>
|
|
</listitem>
|
|
<listitem><para>Salvare il file.</para>
|
|
</listitem>
|
|
<listitem><para>Copiare la definizione degli attributi per il tipo di dati
|
|
TEXTFILE da /<filename>usr/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol><filename>/dtpad.dt</filename> nel nuovo file <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types/textfile.dt</filename>. Aggiungere
|
|
l'azione Fax al campo <command>ACTIONS</command>.</para>
|
|
<programlisting>DATA_ATTRIBUTES TEXTFILE
|
|
{
|
|
ACTIONS Open,Print,Fax
|
|
ICON Dtpenpd
|
|
…
|
|
}</programlisting>
|
|
</listitem>
|
|
<listitem><para>Salvare il file.</para>
|
|
</listitem>
|
|
<listitem><para>Aprire la Gestione di applicazioni e fare doppio clic su “Ricaricare
|
|
azioni” nel gruppo Strumenti_desktop.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.12" role="Procedure">
|
|
<title id="sag.cract.mkr.9">Come ricaricare il database delle azioni e dei
|
|
tipi di dati<indexterm><primary>tipi di dati</primary><secondary>rilettura</secondary></indexterm><indexterm><primary>tipi di dati</primary><secondary>Ricaricare azioni</secondary></indexterm><indexterm><primary>azioni</primary>
|
|
<secondary>rilettura</secondary></indexterm><indexterm><primary>database</primary>
|
|
<secondary>rilettura delle azioni</secondary></indexterm><indexterm><primary>Ricaricare azioni, azione</primary></indexterm><indexterm><primary>database</primary><secondary>rilettura</secondary></indexterm><indexterm><primary>Ricaricare azioni, azione</primary></indexterm></title>
|
|
<para>Perché la definizioni delle azioni nuove o modificate abbiano
|
|
effetto, è necessario che il desktop rilegga il database.</para>
|
|
<itemizedlist>
|
|
<listitem><para>Aprire il gruppo Strumenti_desktop e fare doppio clic su “Ricaricare
|
|
azioni”.</para>
|
|
</listitem>
|
|
<listitem><para><symbol role="Variable">Oppure</symbol>, eseguire il comando:
|
|
</para>
|
|
<para remap="CodeIndent1"><command>dtaction ReloadActions</command></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>ReloadActions è il nome dell'azione rappresentata dall'icona
|
|
“Ricaricare azioni”.</para>
|
|
<para>Il database delle azioni viene riletto anche quando l'utente:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Effettua il login</para>
|
|
</listitem>
|
|
<listitem><para>Riavvia la Gestione dello spazio di lavoro</para>
|
|
</listitem>
|
|
<listitem><para>Salva un'azione nella finestra di Creare azione scegliendo
|
|
Salvare dal menu File</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.13">
|
|
<title><indexterm><primary>icone</primary><secondary>di azioni</secondary>
|
|
<tertiary>creazione</tertiary></indexterm><indexterm><primary>icone</primary>
|
|
<secondary>di applicazioni</secondary><tertiary>creazione</tertiary></indexterm><indexterm>
|
|
<primary>file delle azioni</primary><secondary>creazione</secondary></indexterm>Creazione
|
|
del file (icona) dell'azione<indexterm><primary>azioni</primary><secondary>file, Vedere file delle azioni</secondary></indexterm><indexterm><primary>icone</primary><secondary>di azioni</secondary></indexterm><indexterm><primary>azioni</primary><secondary>icone</secondary></indexterm></title>
|
|
<para>Si definisce<indexterm><primary>file delle azioni</primary></indexterm> <emphasis>file dell'azione</emphasis> il file creato per fornire una rappresentazione
|
|
visiva dell'azione nella Gestione di file o nella Gestione di applicazioni.
|
|
</para>
|
|
<figure>
|
|
<title><emphasis>File delle azioni</emphasis> (detti anche <emphasis>icone
|
|
delle azioni</emphasis> o <emphasis>icone delle applicazioni</emphasis>) nella
|
|
Gestione di applicazioni</title>
|
|
<graphic id="sag.cract.grph.1" entityref="SAG.CrAct.fig.1"></graphic>
|
|
</figure>
|
|
<para>Poiché l'icona di questo file rappresenta un'azione, essa viene
|
|
detta anche <emphasis><indexterm><primary>icone delle azioni</primary></indexterm>icona
|
|
dell'azione</emphasis>. Se l'azione produce l'avvio di un'applicazione, la
|
|
stessa icona può essere chiamata <emphasis>icona dell'applicazione</emphasis>.</para>
|
|
<para>Facendo doppio clic sull'icona viene eseguita l'azione rappresentata.
|
|
L'icona dell'azione può fungere anche da area di rilascio.</para>
|
|
<sect3 id="sag.cract.div.14" role="Procedure">
|
|
<title>Come creare il file (l'icona) dell'azione</title>
|
|
<orderedlist>
|
|
<listitem><para>Creare un file eseguibile con lo stesso nome dell'azione<indexterm>
|
|
<primary>azioni</primary><secondary>nomi</secondary></indexterm>. Il contenuto
|
|
del file è irrilevante.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
<para>Ad esempio, se la definizione dell'azione fosse la seguente:</para>
|
|
<programlisting>ACTION App_preferita
|
|
{
|
|
EXEC_STRING Appp -file %Arg_1%
|
|
DESCRIPTION Avvia App_preferita
|
|
ICON App_pref
|
|
}</programlisting>
|
|
<para>il file dell'azione sarà un file eseguibile di nome <filename>App_preferita</filename>. Nella Gestione di file e nella Gestione di applicazioni,
|
|
il file <filename>App_preferita</filename> userà l'immagine dell'icona <filename>App_pref.<symbol role="Variable">dimensione</symbol>.<symbol role="Variable">tipo</symbol></filename>. Facendo doppio clic sull'icona di <filename>App_preferita</filename> verrà eseguita la stringa di esecuzione dell'azione, e
|
|
il testo di aiuto relativo all'icona sarà il contenuto del campo<indexterm>
|
|
<primary>aiuto</primary><secondary>sui file delle azioni</secondary></indexterm><indexterm>
|
|
<primary>DESCRIPTION, campo</primary></indexterm> <command>DESCRIPTION</command>
|
|
(<command>Avvia App_preferita</command>).</para>
|
|
</sect3>
|
|
<sect3 id="sag.cract.div.15">
|
|
<title><indexterm><primary>azioni</primary><secondary>etichette</secondary>
|
|
</indexterm><indexterm><primary>etichette</primary><secondary>azioni</secondary>
|
|
</indexterm><indexterm><primary>LABEL, campo delle azioni</primary></indexterm>Etichette
|
|
delle azioni</title>
|
|
<para>Se la definizione dell'azione include il campo <command>LABEL</command>,
|
|
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 (<symbol role="Variable">nome_azione</symbol>).
|
|
Ad esempio, se la definizione dell'azione contiene quanto segue:</para>
|
|
<programlisting>ACTION App_preferita
|
|
{
|
|
LABEL Applicazione preferita
|
|
…
|
|
}</programlisting>
|
|
<para>l'icona dell'azione comparirà con l'etichetta “Applicazione
|
|
preferita”.</para>
|
|
</sect3>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.16">
|
|
<title id="sag.cract.mkr.10">Scelta dell'icona da utilizzare per un'azione<indexterm>
|
|
<primary>azioni</primary><secondary>icone</secondary></indexterm><indexterm>
|
|
<primary>icone</primary><secondary>di azioni</secondary></indexterm></title>
|
|
<para>Usare il campo <command>ICON</command> per specificare l'icona da utilizzare
|
|
nella Gestione di file e nella Gestione di applicazioni per rappresentare
|
|
l'azione.</para>
|
|
<para>Se non viene specificata alcuna icona, il sistema userà l'immagine
|
|
predefinita per i file delle<indexterm><primary>azioni</primary><secondary>icone predefinite</secondary></indexterm> azioni, <filename>/usr/dt/appconfig/icons/</filename><symbol role="Variable">lingua</symbol><filename>/Dtactn.*</filename>.
|
|
</para>
|
|
<figure>
|
|
<title>Icona predefinita per le azioni</title>
|
|
<graphic id="sag.cract.grph.2" entityref="SAG.CrAct.fig.2"></graphic>
|
|
</figure>
|
|
<para>L'icona predefinita per le azioni può essere modificata usando
|
|
la risorsa:<indexterm><primary>actionIcon, risorsa</primary></indexterm></para>
|
|
<programlisting>*actionIcon: <symbol role="Variable">file_icona</symbol></programlisting>
|
|
<para>dove <symbol role="Variable">file_icona</symbol> può essere un
|
|
nome base o un percorso assoluto.</para>
|
|
<para>Il valore del campo <command>ICON</command> può essere:<indexterm>
|
|
<primary>ICON, campo</primary><secondary>valori possibili</secondary></indexterm></para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Il nome base di un file.</para>
|
|
<para>Con il termine<indexterm><primary>file</primary><secondary>nome base</secondary></indexterm><indexterm><primary>nome base dei file</primary></indexterm> <emphasis>nome base</emphasis> si intende il nome del file contenente l'immagine dell'icona
|
|
esclusi i suffissi per la dimensione (<filename>m</filename> e <filename>t</filename>) e per il tipo di immagine (<filename>bm</filename> e <filename>pm</filename>). Ad esempio, per i file <filename>IconaGiochi.m.pm</filename>
|
|
e <filename>IconaGiochi.t.pm</filename> il nome base sarà <filename>IconaGiochi</filename>.</para>
|
|
<para>Se si utilizza il nome base, i file delle icone devono trovarsi in directory
|
|
incluse nel percorso di ricerca delle icone:</para>
|
|
<itemizedlist remap="Bullet2">
|
|
<listitem><para>Per le icone personali: <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/icons</filename></para>
|
|
</listitem>
|
|
<listitem><para>Per le icone di sistema: <filename>/etc/dt/appconfig/icons/</filename><symbol role="Variable">lingua</symbol></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
<listitem><para>Il percorso assoluto del file dell'icona, incluso il nome
|
|
completo del file.</para>
|
|
<para>L'uso del percorso assoluto è necessario solo se il file dell'icona
|
|
non si trova in una directory del percorso di ricerca. Ad esempio, se il file <filename>IconaGiochi.m.pm</filename> si trova nella directory <filename>/doc/progetti</filename>, che non è inclusa nel percorso di ricerca delle icone,
|
|
il valore del campo <command>ICON</command> dovrà essere <filename>/doc/progetti/IconaGiochi.m.pm</filename>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>La <!--Original XRef content: 'Tabella 10‐1'--><xref role="CodeOrFigureOrTable"
|
|
linkend="sag.cract.mkr.11"> indica le dimensioni con cui creare le icone e
|
|
i nomi da utilizzare per i rispettivi file.</para>
|
|
<table id="sag.cract.tbl.1" frame="topbot">
|
|
<title id="sag.cract.mkr.11">Nomi e dimensioni per le icone delle azioni</title>
|
|
<tgroup cols="3" colsep="0" rowsep="0">
|
|
<colspec colwidth="1.71in">
|
|
<colspec colwidth="2.25in">
|
|
<colspec colwidth="1.84in">
|
|
<thead>
|
|
<row><entry align="left" valign="bottom"><para><literal>Dimensioni in pixel</literal></para></entry><entry align="left" valign="bottom"><para><literal>Nome del file a mappa di bit</literal></para></entry><entry align="left" valign="bottom"><para><literal>Nome del file a mappa di pixel</literal></para></entry></row></thead>
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para>48 x 48</para></entry>
|
|
<entry align="left" valign="top"><para><symbol role="Variable">nome</symbol><filename>.l.bm</filename></para></entry>
|
|
<entry align="left" valign="top"><para><symbol role="Variable">nome</symbol><filename>.l.pm</filename></para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para>32 x 32</para></entry>
|
|
<entry align="left" valign="top"><para><symbol role="Variable">nome</symbol><filename>.m.bm</filename></para></entry>
|
|
<entry align="left" valign="top"><para><symbol role="Variable">nome</symbol><filename>.m.pm</filename></para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para>16 x 16</para></entry>
|
|
<entry align="left" valign="top"><para><symbol role="Variable">nome</symbol><filename>.t.bm</filename></para></entry>
|
|
<entry align="left" valign="top"><para><symbol role="Variable">nome</symbol><filename>.t.pm</filename></para></entry></row></tbody></tgroup></table>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.17" role="Procedure">
|
|
<title>Come modificare la definizione di un'azione esistente<indexterm><primary>azioni</primary><secondary>editazione</secondary></indexterm><indexterm><primary>azioni</primary><secondary>modifica</secondary></indexterm><indexterm><primary>editazione delle azioni</primary></indexterm></title>
|
|
<para>È possibile modificare qualsiasi azione disponibile sul sistema,
|
|
incluse le azioni predefinite.</para>
|
|
<note>
|
|
<para>Prestare molta attenzione nel modificare il database delle azioni predefinite.
|
|
Queste azioni sono state realizzate specificamente per applicazioni del desktop.
|
|
</para>
|
|
</note>
|
|
<orderedlist>
|
|
<listitem><para>Localizzare la definizione dell'azione da modificare.</para>
|
|
<para>Le directory predefinite per le definizioni delle azioni sono le seguenti:
|
|
</para>
|
|
<itemizedlist remap="Bullet2">
|
|
<listitem><para>Azioni predefinite: <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol></para>
|
|
</listitem>
|
|
<listitem><para>Azioni di sistema: <filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol></para>
|
|
</listitem>
|
|
<listitem><para>Azioni personali: <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types</filename></para>
|
|
<para><indexterm><primary><</primary></indexterm><indexterm><primary>$nopage>azioni</primary><secondary>percorso di ricerca, Vedere percorso di ricerca dei database</secondary></indexterm>Il sistema in uso potrebbe usare altre directory.
|
|
Per visualizzare un elenco delle directory utilizzate dal sistema per le azioni,
|
|
eseguire il comando:</para>
|
|
<para remap="CodeIndent1"><command>dtsearchpath -v</command><indexterm><primary>dtsearchpath</primary></indexterm></para>
|
|
<para>Il sistema in uso utilizza le directory elencate sotto<indexterm><primary>DTDATABASESEARCHPATH, variabile</primary><secondary>uso</secondary></indexterm> <systemitem>DTDATABASESEARCHPATH</systemitem>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
<listitem><para>Se necessario, copiare il testo della definizione dell'azione
|
|
in un file nuovo o esistente in una delle directory seguenti:</para>
|
|
<itemizedlist remap="Bullet2">
|
|
<listitem><para>Azioni di sistema: <filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol></para>
|
|
</listitem>
|
|
<listitem><para>Azioni personali: <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types</filename></para>
|
|
<para>Creare una copia delle azioni predefinite, evitando di editare i file
|
|
della directory <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
<listitem><para>Editare la definizione dell'azione. Al termine, salvare il
|
|
file.</para>
|
|
</listitem>
|
|
<listitem><para>Fare doppio clic su “Ricaricare azioni” nel gruppo
|
|
Strumenti_desktop.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.18">
|
|
<title id="sag.cract.mkr.12">Precedenza nelle definizioni delle azioni<indexterm>
|
|
<primary>azioni</primary><secondary>regole di precedenza</secondary></indexterm><indexterm>
|
|
<primary>precedenza</primary><secondary>nella composizione del database delle
|
|
azioni</secondary></indexterm></title>
|
|
<para>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.</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Se non specificato diversamente, la precedenza si basa sulla
|
|
posizione (directory) in cui si trova la definizione. L'elenco seguente riporta
|
|
l'ordine di precedenza utilizzato:</para>
|
|
<itemizedlist remap="Bullet2">
|
|
<listitem><para>Azioni personali (<symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types</filename>)</para>
|
|
</listitem>
|
|
<listitem><para>Azioni del sistema locale (<filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol>)</para>
|
|
</listitem>
|
|
<listitem><para>Azioni di un sistema remoto (<symbol role="Variable">nomehost</symbol>:<filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol>). Gli host remoti su cui viene effettuata la ricerca sono
|
|
quelli inclusi nel percorso di ricerca delle applicazioni.</para>
|
|
</listitem>
|
|
<listitem><para>Azioni predefinite (<filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol>)</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
<listitem><para>All'interno di ogni directory, i file <filename>*.dt</filename>
|
|
vengono letti in ordine alfabetico.</para>
|
|
</listitem>
|
|
<listitem><para>Le azioni limitate da <filename><indexterm><primary>ARG_CLASS,
|
|
campo</primary></indexterm>ARG_CLASS</filename>, <filename><indexterm><primary>ARG_TYPE, campo</primary></indexterm>ARG_TYPE</filename>, <filename><indexterm>
|
|
<primary>ARG_MODE, campo</primary></indexterm>ARG_MODE</filename> o <filename><indexterm>
|
|
<primary>ARG_COUNT, campo</primary></indexterm>ARG_COUNT</filename> hanno
|
|
la precedenza sulle azioni non limitate. (L'impostazione predefinita per questi
|
|
quattro campi è <filename>*</filename>.)</para>
|
|
<para>Quando vengono applicate due o più di queste limitazioni, l'ordine
|
|
di precedenza è il seguente:</para>
|
|
<itemizedlist remap="Bullet2">
|
|
<listitem><para><filename>ARG_CLASS</filename></para>
|
|
</listitem>
|
|
<listitem><para><filename>ARG_TYPE</filename></para>
|
|
</listitem>
|
|
<listitem><para><filename>ARG_MODE</filename></para>
|
|
</listitem>
|
|
<listitem><para><filename>ARG_COUNT</filename></para>
|
|
<para>Quando esistono due o più limitazioni di tipo <filename>ARG_COUNT</filename>, l'ordine di precedenza è il seguente:</para>
|
|
</listitem>
|
|
<listitem><para>Valore intero specifico <symbol role="Variable">n</symbol></para>
|
|
</listitem>
|
|
<listitem><para><filename><</filename><symbol role="Variable">n</symbol></para>
|
|
</listitem>
|
|
<listitem><para><filename>></filename><symbol role="Variable">n</symbol></para>
|
|
</listitem>
|
|
<listitem><para><filename>*</filename></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>Ad esempio, si considerino le seguenti parti della definizione dell'azione
|
|
ModificaIllustrazioni:</para>
|
|
<programlisting>ACTION ModificaIllustrazioni
|
|
# ModificaIllustrazioni-1
|
|
{
|
|
ARG_TYPE XWD
|
|
…
|
|
}
|
|
|
|
ACTION ModificaIllustrazioni
|
|
# ModificaIllustrazioni-2
|
|
{
|
|
ARG_COUNT 0
|
|
…
|
|
}
|
|
|
|
ACTION ModificaIllustrazioni
|
|
# ModificaIllustrazioni-3
|
|
{
|
|
ARG_TYPE *
|
|
…
|
|
}</programlisting>
|
|
<para>Facendo semplicemente doppio clic sull'icona dell'azione ModificaIllustrazioni,
|
|
senza specificare alcun argomento, verrà eseguito ModificaIllustrazioni-2,
|
|
perché <filename>ARG_COUNT 0</filename> ha la precedenza. Specificando
|
|
come argomento un file di tipo XWD verrà usato ModificaIllustrazioni-1,
|
|
poiché è specificato l'<command>ARG_TYPE</command> XWD. Specificando
|
|
come argomento un file di qualsiasi altro tipo verrà eseguito ModificaIllustrazioni-3.
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 id="sag.cract.div.19">
|
|
<title id="sag.cract.mkr.13">Creazione di una stringa di esecuzione per un'azione
|
|
COMMAND<indexterm><primary>azioni</primary><secondary>stringa di esecuzione</secondary></indexterm><indexterm><primary>stringa di esecuzione</primary>
|
|
</indexterm><indexterm><primary>riga comandi per le azioni</primary></indexterm><indexterm>
|
|
<primary>azioni</primary><secondary>stringa di esecuzione</secondary></indexterm><indexterm>
|
|
<primary>COMMAND, azione</primary><secondary>stringa di esecuzione</secondary>
|
|
</indexterm><indexterm><primary><</primary></indexterm><indexterm><primary>$nopage>EXEC_STRING, campo, Vedere stringa di esecuzione[EXEC_STRING, campo</primary><secondary>aaa]</secondary></indexterm></title>
|
|
<para>Un'azione di tipo <command><indexterm><primary>COMMAND, azione</primary>
|
|
<secondary>campi richiesti</secondary></indexterm>COMMAND</command> deve contenere
|
|
necessariamente almeno due campi: <command>ACTION</command> ed <filename>EXEC_STRING</filename>.</para>
|
|
<programlisting>ACTION <symbol role="Variable">nome_azione</symbol>
|
|
{
|
|
EXEC_STRING <symbol role="Variable">stringa_di_esecuzione</symbol>
|
|
}</programlisting>
|
|
<para>La stringa di esecuzione è la parte più importante della
|
|
definizione di un'azione <command>COMMAND</command>. Essa utilizza una sintassi
|
|
simile a quella usata per le righe comandi nelle finestre di terminale, ma
|
|
include alcuni componenti aggiuntivi per la gestione dei file e delle stringhe
|
|
usate come argomenti.</para>
|
|
<sect2 id="sag.cract.div.20">
|
|
<title><indexterm><primary>stringa di esecuzione</primary><secondary>caratteristiche
|
|
generali</secondary></indexterm>Caratteristiche generali delle stringhe di
|
|
esecuzione</title>
|
|
<para>Le stringhe di esecuzione possono includere:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Argomenti in forma di file o di altro tipo</para>
|
|
</listitem>
|
|
<listitem><para>Componenti della sintassi delle shell</para>
|
|
</listitem>
|
|
<listitem><para>Nomi o percorsi assoluti di file eseguibili</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<sect3 id="sag.cract.div.21">
|
|
<title>Argomenti delle azioni<indexterm><primary>azioni</primary><secondary>argomenti</secondary></indexterm><indexterm><primary>argomenti</primary><secondary>delle azioni</secondary></indexterm></title>
|
|
<para>Un argomento è un'informazione richiesta da un comando o da
|
|
un'applicazione per essere eseguita correttamente. Ad esempio, si consideri
|
|
la riga comandi usata per aprire un file nell'Editor di testo:</para>
|
|
<programlisting>dtpad <symbol role="Variable">nomefile</symbol></programlisting>
|
|
<para>In questo comando, <symbol role="Variable">nomefile</symbol> è
|
|
un argomento del comando <command>dtpad</command>.</para>
|
|
<para>Come i comandi e le applicazioni, anche le azioni possono avere argomenti.
|
|
Un'azione <command>COMMAND</command> può usare due tipi di dati:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>File</para>
|
|
</listitem>
|
|
<listitem><para>Stringhe</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
<sect3 id="sag.cract.div.22">
|
|
<title>Uso di una shell nelle stringhe di esecuzione<indexterm><primary>stringa
|
|
di esecuzione</primary><secondary>sintassi della shell</secondary></indexterm><indexterm>
|
|
<primary>shell</primary><secondary>sintassi nella stringa di esecuzione</secondary>
|
|
</indexterm></title>
|
|
<para>Le stringhe di esecuzione vengono eseguite direttamente, non attraverso
|
|
una shell. È possibile, tuttavia, specificare una stringa che preveda
|
|
l'uso di una shell.</para>
|
|
<para>Ad esempio:</para>
|
|
<programlisting>EXEC_STRING \
|
|
/bin/sh -c \
|
|
'tar -tvf %(File)Arg_1% 2>&1 | \${PAGER:-more};\
|
|
echo “\\n*** Scegliere Chiudere per uscire ***“'</programlisting>
|
|
</sect3>
|
|
<sect3 id="sag.cract.div.23">
|
|
<title>Nome o percorso assoluto dell'eseguibile<indexterm><primary>stringa
|
|
di esecuzione</primary><secondary>indicazione dell'</secondary></indexterm><indexterm>
|
|
<primary>eseguibile</primary></indexterm></title>
|
|
<para>Se l'applicazione si trova in una directory inclusa nella variabile<indexterm>
|
|
<primary>PATH, variabile</primary></indexterm> PATH si può usare semplicemente
|
|
il nome del file eseguibile. Se si trova in un'altra posizione occorre specificare
|
|
il<indexterm><primary>stringa di esecuzione</primary><secondary>uso del percorso
|
|
assoluto</secondary></indexterm> percorso assoluto dell'eseguibile.</para>
|
|
</sect3>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.24">
|
|
<title id="sag.cract.mkr.14">Creazione di un'azione che non utilizzi argomenti<indexterm>
|
|
<primary>stringa di esecuzione</primary><secondary>senza argomenti</secondary>
|
|
</indexterm><indexterm><primary>azioni</primary><secondary>senza argomenti</secondary></indexterm><indexterm><primary>azioni</primary><secondary>senza
|
|
dati</secondary></indexterm></title>
|
|
<para>Usare per l'<filename>EXEC_STRING</filename> la stessa sintassi richiesta
|
|
per avviare l'applicazione da una riga comandi.</para>
|
|
<sect3 id="sag.cract.div.25">
|
|
<title>Esempi</title>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Questa stringa di esecuzione fa parte di un'azione che avvia
|
|
il client X <command>xcutsel</command>.</para>
|
|
<para remap="CodeIndent1"><computeroutput>EXEC_STRING xcutsel</computeroutput></para>
|
|
</listitem>
|
|
<listitem><para>Questa stringa di esecuzione avvia il client <command>xclock</command> come orologio digitale. La riga comandi include un'opzione ma non
|
|
richiede argomenti.</para>
|
|
<para remap="CodeIndent1"><computeroutput>EXEC_STRING xclock -digital</computeroutput></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.26">
|
|
<title id="sag.cract.mkr.15">Creazione di un'azione che accetti il rilascio
|
|
di un file<indexterm><primary>stringa di esecuzione</primary><secondary>abilitazione
|
|
del rilascio dei file</secondary></indexterm><indexterm><primary>azioni</primary>
|
|
<secondary>accettazione del rilascio di un file</secondary></indexterm><indexterm>
|
|
<primary>area di rilascio</primary><secondary>icone delle azioni</secondary>
|
|
</indexterm><indexterm><primary>rilascio dei file, accettazione nelle azioni</primary></indexterm></title>
|
|
<para>Specificare l'argomento usando la seguente sintassi:</para>
|
|
<programlisting>%Arg_<symbol role="Variable">n</symbol>%</programlisting>
|
|
<indexterm><primary>Arg_n, sintassi</primary></indexterm>
|
|
<para>oppure</para>
|
|
<programlisting>%(File)Arg_<symbol role="Variable">n</symbol>%</programlisting>
|
|
<para>Il componente <filename>(File)</filename> è opzionale, poiché
|
|
nell'impostazione predefinita gli argomenti forniti ad <filename>Arg_</filename><symbol role="Variable">n</symbol> vengono interpretati automaticamente come file.
|
|
(Per informazioni sull'uso della sintassi <filename>%(String)Arg_</filename><symbol role="Variable">n</symbol><filename>%</filename>, vedere <!--Original XRef
|
|
content: '“Interpretazione di un argomento file c--><!--ome stringa”
|
|
a pagina 173'--><xref role="SecTitleAndPageNum" linkend="sag.cract.mkr.19">.)
|
|
</para>
|
|
<para>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
|
|
<symbol role="Variable">n</symbol> nella riga comandi. Il file può
|
|
essere sia locale che remoto.</para>
|
|
<sect3 id="sag.cract.div.27">
|
|
<title>Esempi</title>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Questa stringa di esecuzione esegue il comando <command>wc
|
|
-w</command> usando un file rilasciato come parametro.
|
|
</para>
|
|
<para remap="CodeIndent1"><computeroutput>EXEC_STRING wc -w %Arg_1%</computeroutput></para>
|
|
</listitem>
|
|
<listitem><para>Questo esempio mostra una parte della definizione di un'azione
|
|
che accetta solo directory come argomenti. Rilasciando una directory sull'icona
|
|
dell'azione, viene visualizzato l'elenco di tutti i file della directory che
|
|
possiedono le autorizzazioni di lettura e scrittura.</para>
|
|
<programlisting>ACTION Elenco_file_scrivibili
|
|
{
|
|
ARG_TYPE FOLDER
|
|
EXEC_STRING /bin/sh -c 'ls -l %Arg_1% | grep rw-'
|
|
…
|
|
}</programlisting>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.28">
|
|
<title id="sag.cract.mkr.16">Creazione di un'azione che richieda un file come
|
|
argomento<indexterm><primary>stringa di esecuzione</primary><secondary>richiesta
|
|
di un file</secondary></indexterm><indexterm><primary>azioni</primary><secondary>richiesta di un file</secondary></indexterm><indexterm><primary>argomenti</primary><secondary>richiesta</secondary></indexterm><indexterm><primary>richieste di argomenti per le azioni</primary></indexterm></title>
|
|
<para>Inserire la richiesta dell'argomento nella stringa di esecuzione usando
|
|
la seguente sintassi:</para>
|
|
<programlisting>%(File)"<symbol>richiesta</symbol>"%</programlisting>
|
|
<para>Questa sintassi crea un'azione che chiede di specificare il un nome
|
|
di un file quando l'utente fa doppio clic sull'icona.</para>
|
|
<para>Ad esempio, questa stringa di esecuzione visualizza un riquadro di dialogo
|
|
che richiede un argomento per il comando <command>wc -w</command>:</para>
|
|
<programlisting>EXEC_STRING wc -w %(File)"Contare le parole del file:"%</programlisting>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.29">
|
|
<title id="sag.cract.mkr.17">Creazione di un'azione che accetti il rilascio
|
|
di un file o che richieda un file<indexterm><primary>azioni</primary><secondary>accettazione del rilascio o richiesta di argomenti</secondary></indexterm></title>
|
|
<para>Inserire la richiesta dell'argomento nella stringa di esecuzione usando
|
|
la seguente sintassi:</para>
|
|
<programlisting>%Arg_<symbol role="Variable">n</symbol>“<symbol role="Variable">richiesta</symbol>“%</programlisting>
|
|
<para>oppure</para>
|
|
<programlisting>%(File)Arg_<symbol role="Variable">n</symbol>“<symbol role="Variable">richiesta</symbol>“%</programlisting>
|
|
<para>Questa sintassi produce un'azione che:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Accetta come argomento un file rilasciato sull'icona dell'azione.
|
|
</para>
|
|
</listitem>
|
|
<listitem><para>Visualizza un riquadro di dialogo che chiede di specificare
|
|
il un nome di un file quando l'utente fa doppio clic sull'icona.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>Ad esempio, questa stringa di esecuzione esegue il comando <command>lp -oraw</command> sul file rilasciato sull'icona dell'azione. Se l'azione
|
|
viene avviata facendo doppio clic sull'icona, compare un riquadro di dialogo
|
|
che chiede di inserire il nome del file.</para>
|
|
<programlisting>EXEC_STRING lp -oraw %Arg_1"File da stampare:"%</programlisting>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.30">
|
|
<title id="sag.cract.mkr.18">Creazione di un'azione che richieda un argomento
|
|
diverso da un file<indexterm><primary>stringa di esecuzione</primary><secondary>richiesta di una stringa</secondary></indexterm><indexterm><primary>azioni</primary><secondary>argomenti diversi dai file</secondary></indexterm><indexterm>
|
|
<primary>argomenti</primary><secondary>parametri diversi dai file</secondary>
|
|
</indexterm><indexterm><primary>stringhe, uso come argomenti per le azioni</primary></indexterm><indexterm><primary>azioni</primary><secondary>argomenti
|
|
diversi dai file</secondary></indexterm></title>
|
|
<para>Per specificare un parametro diverso da un file, usare la sintassi:
|
|
</para>
|
|
<programlisting>%"<symbol role="Variable">richiesta</symbol>"%</programlisting>
|
|
<para>oppure</para>
|
|
<programlisting>%(String)"<symbol role="Variable">richiesta</symbol>"%</programlisting>
|
|
<para>Il componente <filename>(String)</filename> è opzionale, poiché
|
|
nell'impostazione predefinita il testo tra virgolette viene interpretato automaticamente
|
|
come una stringa. Questa sintassi visualizza un riquadro di dialogo che richiede
|
|
un parametro diverso da un file; non usare questa sintassi per richiedere
|
|
il nome di un file.</para>
|
|
<para>Ad esempio, questa stringa di esecuzione esegue il comando <command>xwd</command> e richiede di aggiungere un valore ad ogni pixel:</para>
|
|
<programlisting>EXEC_STRING xwd -add %"Aggiungere un valore:"% -out %Arg_1"File:"%
|
|
</programlisting>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.31">
|
|
<title id="sag.cract.mkr.19">Interpretazione di un argomento file come stringa</title>
|
|
<para>Usare per l'argomento la seguente sintassi:</para>
|
|
<programlisting>%(String)Arg_<symbol role="Variable">n</symbol>%</programlisting>
|
|
<para>Ad esempio, questa stringa di esecuzione stampa un file usando come
|
|
intestazione il nome del file con il comando <command>lp -t</command><symbol role="Variable">intestazione nomefile.</symbol></para>
|
|
<programlisting>EXEC_STRING lp -t%(String)Arg_1% %(File)Arg_1"File da stampare:"%
|
|
</programlisting>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.32">
|
|
<title id="sag.cract.mkr.20">Aggiunta dell'utilizzo di una shell in un'azione<indexterm>
|
|
<primary>azioni</primary><secondary>uso delle shell</secondary></indexterm><indexterm>
|
|
<primary>shell</primary><secondary>uso nelle azioni</secondary></indexterm><indexterm>
|
|
<primary>shell</primary><secondary>uso nelle azioni</secondary></indexterm></title>
|
|
<para>Specificare l'uso della shell nella stringa di esecuzione:</para>
|
|
<programlisting>/bin/sh -c '<symbol role="Variable">comando</symbol>'
|
|
/bin/ksh -c '<symbol role="Variable">comando</symbol>'
|
|
/bin/csh -c '<symbol role="Variable">comando</symbol>'</programlisting>
|
|
<sect3 id="sag.cract.div.33">
|
|
<title>Esempi</title>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Questa stringa di esecuzione produce un'azione che utilizza
|
|
il piping di una shell.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<programlisting>EXEC_STRING /bin/sh -c 'ps | lp'</programlisting>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>La stringa di esecuzione seguente è più complessa,
|
|
poiché richiede l'uso di una shell ed accetta un file come argomento.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<programlisting>EXEC_STRING /bin/sh -c 'tbl %Arg_1“Pagina man:“% | troff -man'
|
|
</programlisting>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Questa stringa di esecuzione richiede come argomento un file
|
|
in formato compresso. L'azione decomprime il file e lo stampa usando <command>lp -oraw</command>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<programlisting>EXEC_STRING /bin/sh -c 'cat %Arg_1 “File da stampare:“% | \
|
|
uncompress | lp -oraw'</programlisting>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Questa stringa di esecuzione esegue uno script di una shell.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<programlisting>EXEC_STRING /usr/local/bin/AvviaClientGnu</programlisting>
|
|
</sect3>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.34">
|
|
<title>Creazione di azioni COMMAND che accettino più argomenti (file)<indexterm>
|
|
<primary>stringa di esecuzione</primary><secondary>accettazione di più</secondary></indexterm><indexterm><primary>file come argomenti</primary>
|
|
</indexterm><indexterm><primary>argomenti</primary><secondary>per l'</secondary>
|
|
</indexterm><indexterm><primary>indicazione di più</primary></indexterm><indexterm>
|
|
<primary>file</primary></indexterm></title>
|
|
<para>Le azioni possono gestire più file specificati come argomenti
|
|
in tre modi:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>L'azione viene eseguita ripetutamente, una volta per ogni
|
|
argomento. Quando l'<filename>EXEC_STRING</filename> contiene la specifica
|
|
di un unico argomento e l'utente rilascia un gruppo di due o più file
|
|
sull'icona dell'azione, l'azione viene eseguita separatamente per ognuno dei
|
|
file accettati come argomenti.</para>
|
|
<para>Ad esempio, se vengono forniti più argomenti per un'azione con
|
|
la seguente definizione:</para>
|
|
<programlisting>ACTION VisualizzaImmagine
|
|
{
|
|
EXEC_STRING xwud -in %Arg_1%
|
|
…
|
|
}</programlisting>
|
|
<para>l'azione VisualizzaImmagine verrà eseguita ripetutamente su tutti
|
|
i file.</para>
|
|
</listitem>
|
|
<listitem><para>L'azione può usare due o più argomenti non intercambiabili.
|
|
Ad esempio, l'azione:</para>
|
|
<para remap="CodeIndent1"><command>xsetroot -cursor <symbol role="Variable">filecursore filemaschera</symbol></command></para>
|
|
<para>richiede due file diversi in un ordine specifico.</para>
|
|
</listitem>
|
|
<listitem><para>L'azione può eseguire lo stesso comando sul complesso
|
|
dei file specificati come argomento. Ad esempio, l'azione:</para>
|
|
<para remap="CodeIndent1"><computeroutput>pr <symbol role="Variable">file</symbol> [<symbol role="Variable">file</symbol> …]</computeroutput></para>
|
|
<para>stamperà uno o più file in un unico lavoro di stampa.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<sect3 id="sag.cract.div.35">
|
|
<title id="sag.cract.mkr.21">Creazione di un'azione con argomenti non intercambiabili<indexterm>
|
|
<primary>azioni</primary><secondary>argomenti non intercambiabili</secondary>
|
|
</indexterm><indexterm><primary>argomenti</primary><secondary>parametri non
|
|
intercambiabili</secondary></indexterm></title>
|
|
<para>Usare una delle seguenti convenzioni di sintassi:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Per fare in modo che l'azione richieda i nomi dei file, usare
|
|
questa sintassi per ognuno degli argomenti:</para>
|
|
<para remap="CodeIndent1"><computeroutput>%(File)“<symbol role="Variable">richiesta</symbol>”%</computeroutput></para>
|
|
<para>Usare una stringa di <symbol role="Variable">richiesta</symbol> diversa
|
|
per ogni argomento.</para>
|
|
<para>Ad esempio, questa stringa di esecuzione richiede due file.</para>
|
|
<para remap="CodeIndent1"><computeroutput>EXEC_STRING xsetroot -cursor %(File)“Bitmap
|
|
del cursore:”% \ %(File)“Bitmap della maschera:”%</computeroutput></para>
|
|
</listitem>
|
|
<listitem><para>Per fare in modo che l'azione accetti il rilascio dei file,
|
|
usare questa sintassi per ognuno degli argomenti:</para>
|
|
<para remap="CodeIndent1"><computeroutput>%Arg_<symbol role="Variable">n</symbol>%</computeroutput></para>
|
|
<para>usando valori diversi di <symbol role="Variable">n</symbol> per ogni
|
|
argomento. Ad esempio:</para>
|
|
<para remap="CodeIndent1"><computeroutput>EXEC_STRING diff %Arg_1% %Arg_2%</computeroutput></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
<sect3 id="sag.cract.div.36">
|
|
<title id="sag.cract.mkr.22">Creazione di un'azione con argomenti intercambiabili<indexterm>
|
|
<primary>azioni</primary><secondary>argomenti intercambiabili</secondary>
|
|
</indexterm><indexterm><primary>argomenti</primary><secondary>parametri intercambiabili</secondary></indexterm></title>
|
|
<para>Usare una delle seguenti convenzioni di sintassi:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Per creare un'azione che accetti il rilascio dei file ed esegua
|
|
un comando nella forma</para>
|
|
<para><symbol role="Variable">comando file</symbol><subscript>1</subscript> <symbol role="Variable">file</symbol><subscript>2</subscript> …, usare questa
|
|
sintassi per i file di argomento:</para>
|
|
<para remap="CodeIndent1"><computeroutput>%Args%</computeroutput></para>
|
|
</listitem>
|
|
<listitem><para>Per creare un'azione che accetti il rilascio di due o più
|
|
file, o che facendo doppio clic sull'icona visualizzi una richiesta per un
|
|
singolo file, usare questa sintassi per gli argomenti:</para>
|
|
<para remap="CodeIndent1"><computeroutput>%Arg_1“<symbol role="Variable">richiesta</symbol>”% %Args%</computeroutput></para>
|
|
<para>L'azione eseguirà il comando nella forma: <symbol role="Variable">comando file</symbol><subscript>1</subscript> <symbol role="Variable">file</symbol> <subscript>2</subscript> ….</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<sect4 id="sag.cract.div.37">
|
|
<title>Esempi</title>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Questa stringa di esecuzione crea un'azione che esegue il
|
|
comando</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<programlisting>pr <symbol role="Variable">file</symbol><subscript>1</subscript> <symbol role="Variable">file</symbol><subscript>2</subscript></programlisting>
|
|
<para>accettando più file come argomenti.</para>
|
|
<programlisting>EXEC_STRING pr %Args%</programlisting>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Questa stringa di esecuzione crea un'azione simile a quella
|
|
dell'esempio precedente, ma in questo caso facendo doppio clic sull'icona
|
|
(senza specificare argomenti) viene visualizzata una richiesta.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<programlisting>EXEC_STRING pr %Arg_1"File da stampare:"% %Args%</programlisting>
|
|
</sect4>
|
|
</sect3>
|
|
<sect3 id="sag.cract.div.38">
|
|
<title id="sag.cract.mkr.23">Creazione di un'azione che accetti il rilascio
|
|
di più file<indexterm><primary>azioni</primary><secondary>accettazione
|
|
del rilascio di più</secondary></indexterm><indexterm><primary>file</primary></indexterm></title>
|
|
<para>Per fare in modo che l'azione accetti il rilascio di più file
|
|
ed esegua un comando nella forma:</para>
|
|
<programlisting><symbol role="Variable">comando</symbol> <symbol role="Variable">file</symbol> <subscript>1</subscript><symbol role="Variable">file</symbol><subscript>
|
|
2</subscript> …</programlisting>
|
|
<para>usare la sintassi:</para>
|
|
<programlisting>%Args%</programlisting>
|
|
<sect4 id="sag.cract.div.39">
|
|
<title>Esempi</title>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Questa stringa di esecuzione esegue uno script di nome Controllo
|
|
su più file:</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<programlisting>EXEC_STRING /usr/local/bin/Controllo \
|
|
%Arg_1“File da controllare:“% %Args%</programlisting>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Questa stringa di esecuzione esegue il comando <command>lp
|
|
-oraw</command> su più file:</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<programlisting>EXEC_STRING lp -oraw %Arg_1“File da stampare:“% %Args%
|
|
</programlisting>
|
|
</sect4>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 id="sag.cract.div.40">
|
|
<title id="sag.cract.mkr.24">Supporto di finestre ed emulatori di terminale
|
|
per le azioni COMMAND<indexterm><primary>azioni</primary><secondary>supporto
|
|
di finestre</secondary></indexterm><indexterm><primary>emulatore di terminale</primary><secondary>uso per le azioni</secondary></indexterm></title>
|
|
<para>Le azioni <command>COMMAND</command> supportano le finestre del desktop
|
|
in diversi modi.</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Se l'applicazione dispone di una propria finestra, l'azione
|
|
può essere scritta in modo da non richiedere alcun supporto aggiuntivo.
|
|
Questa opzione viene usata anche quando un'azione esegue un comando che non
|
|
richiede un input diretto dell'utente e non produce alcun output.</para>
|
|
</listitem>
|
|
<listitem><para>Se l'applicazione deve essere eseguita in una finestra di
|
|
emulazione di terminale, l'azione può essere scritta in modo da aprire
|
|
una finestra e quindi eseguirvi l'applicazione. Esistono diverse opzioni per
|
|
la scelta del terminale.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<sect2 id="sag.cract.div.41">
|
|
<title id="sag.cract.mkr.25">Indicazione del supporto di finestre per l'azione</title>
|
|
<para>Usare il campo <filename>WINDOW_TYPE</filename> per specificare il tipo
|
|
di supporto delle finestre richiesto dall'azione.</para>
|
|
<informaltable>
|
|
<tgroup cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="159*">
|
|
<colspec colwidth="369*">
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para><indexterm><primary>WINDOW_TYPE, campo</primary></indexterm>TIPO DI FINESTRA</para></entry>
|
|
<entry align="left" valign="top"><para>Supporto di finestre fornito</para></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename><indexterm><primary>NO_STDIO,
|
|
supporto a finestre</primary></indexterm>NO_STDIO</filename></para></entry>
|
|
<entry align="left" valign="top"><para>Nessuno. Usare <filename>NO_STDIO</filename>
|
|
se l'applicazione ha una propria finestra, o se il comando non produce alcun
|
|
output visibile.</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename><indexterm><primary>PERM_TERMINAL,
|
|
supporto a finestre</primary></indexterm>PERM_TERMINAL</filename></para></entry>
|
|
<entry align="left" valign="top"><para>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, <command>ls</command> <symbol role="Variable">directory</symbol>).</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><command><indexterm><primary>TERMINAL,
|
|
supporto a finestre</primary></indexterm>TERMINAL</command></para></entry>
|
|
<entry align="left" valign="top"><para>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, <command>vi</command>).</para></entry></row>
|
|
</tbody></tgroup></informaltable>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.42">
|
|
<title id="sag.cract.mkr.26">Indicazione di opzioni per l'emulatore di terminale<indexterm>
|
|
<primary>emulatore di terminale</primary><secondary>opzioni della riga comandi
|
|
per le azioni</secondary></indexterm><indexterm><primary>azioni</primary>
|
|
<secondary>opzioni per il terminale</secondary></indexterm></title>
|
|
<para>Usare il campo <filename>TERM_OPTS</filename> nella definizione dell'azione
|
|
per specificare opzioni precise per il comando di avvio dell'emulatore di
|
|
terminale.</para>
|
|
<para>Ad esempio, l'azione seguente richiede di specificare l'host di esecuzione:
|
|
</para>
|
|
<programlisting>ACTION TermSuSistemaScelto
|
|
{
|
|
WINDOW_TYPE PERM_TERMINAL
|
|
EXEC_HOST %(String)"Terminale remoto su:"%
|
|
TERM_OPTS -title %(String)"Titolo della finestra:"%
|
|
EXEC_STRING $SHELL
|
|
}</programlisting>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.43">
|
|
<title id="sag.cract.mkr.27">Modifica dell'emulatore di terminale predefinito<indexterm>
|
|
<primary>emulatore di terminale</primary><secondary>impostazione predefinita
|
|
per le azioni</secondary></indexterm><indexterm><primary>azioni</primary>
|
|
<secondary>supporto di un terminale</secondary></indexterm><indexterm><primary>azioni</primary><secondary>terminale predefinito</secondary></indexterm></title>
|
|
<para>L'emulatore di terminale predefinito per le azioni è <command>dtterm</command>. È tuttavia possibile impostare un diverso emulatore
|
|
di terminale da usare quando l'azione non specifica il tipo richiesto in modo
|
|
esplicito.</para>
|
|
<para>La riga comandi dell'emulatore di terminale usato dalle azioni deve
|
|
comprendere le seguenti opzioni:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para><command>-title</command> <symbol role="Variable">titolo_finestra</symbol></para>
|
|
</listitem>
|
|
<listitem><para><command>-e</command> <symbol role="Variable">comando</symbol>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>L'emulatore di terminale predefinito per le azioni viene determinato
|
|
da due risorse:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para><indexterm><primary>localTerminal, risorsa</primary></indexterm>La
|
|
risorsa <command>localTerminal</command> specifica l'emulatore di terminale
|
|
usato dalle applicazioni locali.</para>
|
|
<para remap="CodeIndent1"><computeroutput>*localTerminal: <symbol role="Variable">terminale</symbol></computeroutput></para>
|
|
<para>Ad esempio:</para>
|
|
<para>*localTerminal: xterm</para>
|
|
</listitem>
|
|
<listitem><para id="sag.cract.mkr.28">La risorsa <systemitem>remoteTerminal</systemitem> specifica l'emulatore di terminale usato dalle applicazioni
|
|
remote.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<programlisting>*remoteTerminal: <symbol role="Variable">host</symbol>:<symbol role="Variable">terminale</symbol> [,<symbol role="Variable">host</symbol>:<symbol role="Variable">terminale</symbol>…]</programlisting>
|
|
<para>Ad esempio:</para>
|
|
<programlisting>*remoteTerminal: sysibm1:/usr/bin/xterm,syshp2:/usr/bin/yterm
|
|
</programlisting>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 id="sag.cract.div.44">
|
|
<title id="sag.cract.mkr.29"><indexterm><primary>azioni</primary><secondary>restrizione degli argomenti</secondary></indexterm><indexterm><primary>argomenti</primary><secondary>restrizione nelle azioni</secondary></indexterm>Restrizione
|
|
delle azioni a determinati argomenti</title>
|
|
<para>La restrizione di un'azione a un determinato tipo di argomenti la rende
|
|
più precisa. Ad esempio, può essere utile restringere un'azione
|
|
che richiami un visualizzatore di file PostScript specificando che l'azione
|
|
può accettare come argomenti solo file PostScript; con la restrizione,
|
|
l'azione restituirà un messaggio di errore se verrà specificato
|
|
un file non PostScript.</para>
|
|
<para>Si possono restringere le azioni in base ai seguenti fattori:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Il tipo di dati del file da specificare come argomento.</para>
|
|
</listitem>
|
|
<listitem><para>Il numero degli argomenti — ad esempio, nessun argomento
|
|
oppure uno o più argomenti. Questo permette di ottenere un comportamento
|
|
diverso quando si fa doppio clic sull'icona e quando si rilasciano due o più
|
|
file.</para>
|
|
</listitem>
|
|
<listitem><para>La modalità di lettura/scrittura dell'argomento.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<sect2 id="sag.cract.div.45">
|
|
<title id="sag.cract.mkr.30">Restrizione di un'azione a un tipo di dati specifico<indexterm>
|
|
<primary>azioni</primary><secondary>restrizione dei tipi di dati</secondary>
|
|
</indexterm><indexterm><primary>tipi di dati</primary><secondary>restrizione
|
|
nelle azioni</secondary></indexterm></title>
|
|
<para><indexterm><primary>ARG_TYPE, campo</primary></indexterm>Usare il campo <filename>ARG_TYPE</filename> per specificare i tipi di dati accettati dall'azione.
|
|
Usare il nome dell'attributo dei dati.</para>
|
|
<para>È anche possibile inserire un elenco di tipi di dati separati
|
|
da virgole.</para>
|
|
<para>Ad esempio, nella seguente definizione si presume che sia stato creato
|
|
un tipo di dati Gif.</para>
|
|
<programlisting>ACTION Aprire_Gif
|
|
{
|
|
TYPE COMMAND
|
|
LABEL "Visualizzazione Gif"
|
|
WINDOW_TYPE NO_STDIO
|
|
ARG_TYPE xgif
|
|
DESCRIPTION Visualizza file gif
|
|
EXEC_STRING xgif
|
|
}</programlisting>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.46">
|
|
<title>Restrizione di un'azione in base al numero degli argomenti<indexterm>
|
|
<primary>azioni</primary><secondary>restrizione del numero di argomenti</secondary>
|
|
</indexterm><indexterm><primary>argomenti</primary><secondary>numero ammesso
|
|
per le azioni</secondary></indexterm></title>
|
|
<para><indexterm><primary>ARG_COUNT, campo</primary></indexterm>Usare il campo <filename>ARG_COUNT</filename> per specificare il numero di argomenti che l'azione
|
|
può accettare. Sono ammessi i seguenti valori:</para>
|
|
<informaltable>
|
|
<tgroup cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="108*">
|
|
<colspec colwidth="420*">
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>*</filename></para></entry>
|
|
<entry align="left" valign="top"><para>(Valore predefinito) Qualsiasi numero
|
|
di argomenti. Gli altri valori hanno la precedenza su <filename>*</filename>.
|
|
</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><symbol role="Variable">n</symbol></para></entry>
|
|
<entry align="left" valign="top"><para>Qualsiasi intero non negativo, incluso
|
|
lo zero.</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>></filename><symbol role="Variable">n</symbol></para></entry>
|
|
<entry align="left" valign="top"><para>Più di <symbol role="Variable">n</symbol> argomenti.</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename><</filename><symbol role="Variable">n</symbol></para></entry>
|
|
<entry align="left" valign="top"><para>Meno di <symbol role="Variable">n</symbol>
|
|
argomenti.</para></entry></row></tbody></tgroup></informaltable>
|
|
<para>Una delle funzioni per cui può essere utilizzato <filename>ARG_COUNT</filename> è 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, <!--Original XRef content: '“Come
|
|
ottenere un comportamento diverso--><!-- al doppio clic sull'icona e al
|
|
rilascio di un file'--><xref role="SectionTitle" linkend="sag.cract.mkr.31">.
|
|
</para>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.47" role="Procedure">
|
|
<title id="sag.cract.mkr.31">Come ottenere un comportamento diverso al doppio
|
|
clic sull'icona e al rilascio di un file<indexterm><primary>azioni</primary>
|
|
<secondary>funzionalità</secondary></indexterm><indexterm><primary>diverse per doppio clic e rilascio</primary></indexterm><indexterm><primary>ARG_COUNT, campo</primary></indexterm></title>
|
|
<para>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.</para>
|
|
<orderedlist>
|
|
<listitem><para>Inserire nella definizione dell'azione la funzionalità
|
|
relativa al doppio clic.</para>
|
|
<para>Usare il campo <filename>ARG_COUNT</filename> per specificare <filename>0</filename> argomenti. Usare per <filename>EXEC_STRING</filename> una sintassi
|
|
che non accetti il rilascio degli argomenti.</para>
|
|
</listitem>
|
|
<listitem><para>Creare una seconda definizione per la funzionalità
|
|
di rilascio.</para>
|
|
<para>Usare il campo <filename>ARG_COUNT</filename> per specificare <filename>>0</filename> argomenti. Usare per <filename>EXEC_STRING</filename> una sintassi
|
|
che accetti il rilascio di un file.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
<para>Ad esempio, si supponga di poter usare le due righe comandi seguenti
|
|
per avviare un editor di nome <command>vedit</command>:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Per avviare l'editor senza specificare argomenti:</para>
|
|
<para remap="CodeIndent1"><command>vedit</command></para>
|
|
</listitem>
|
|
<listitem><para>Per avviare l'editor specificando come argomento un file da
|
|
aprire in modalità di sola lettura:</para>
|
|
<para remap="CodeIndent1"><command>vedit -R</command> <symbol role="Variable">nomefile</symbol></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>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 <filename>ARG_COUNT</filename> <filename>0</filename> è più specifico
|
|
rispetto al valore predefinito <filename>ARG_COUNT</filename> <filename>*</filename> che verrà usato per il rilascio.</para>
|
|
<programlisting># 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%
|
|
}</programlisting>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.48">
|
|
<title>Restrizione di un'azione in base alla modalità dell'argomento</title>
|
|
<para>Si può utilizzare il campo <filename>ARG_MODE</filename> per
|
|
specificare la modalità di lettura/scrittura dell'argomento. I valori
|
|
ammessi sono:</para>
|
|
<informaltable>
|
|
<tgroup cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="107*">
|
|
<colspec colwidth="421*">
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>*</filename></para></entry>
|
|
<entry align="left" valign="top"><para>(Valore predefinito) Qualsiasi modalità
|
|
</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>!w</filename></para></entry>
|
|
<entry align="left" valign="top"><para>Non-scrivibile</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><command>w</command></para></entry>
|
|
<entry align="left" valign="top"><para>Scrivibile</para></entry></row></tbody>
|
|
</tgroup></informaltable>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 id="sag.cract.div.49">
|
|
<title id="sag.cract.mkr.32">Creazione di azioni che eseguano applicazioni
|
|
su sistemi remoti<indexterm><primary>azioni</primary><secondary>esecuzione
|
|
di applicazioni remote</secondary></indexterm><indexterm><primary>esecuzione
|
|
remota</primary><secondary>azioni</secondary></indexterm></title>
|
|
<para>Nel descrivere l'esecuzione remota delle azioni, si farà spesso
|
|
riferimento ai due termini seguenti:</para>
|
|
<informaltable>
|
|
<tgroup cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="189*">
|
|
<colspec colwidth="339*">
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para><indexterm><primary>database</primary>
|
|
<secondary>host</secondary></indexterm>host del database</para></entry>
|
|
<entry align="left" valign="top"><para>Il sistema in cui si trova la definizione
|
|
dell'azione</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><indexterm><primary>host di esecuzione</primary><secondary>creazione di azioni per</secondary></indexterm>host di
|
|
esecuzione</para></entry>
|
|
<entry align="left" valign="top"><para>Il sistema su cui viene avviato l'eseguibile
|
|
</para></entry></row></tbody></tgroup></informaltable>
|
|
<para>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.</para>
|
|
<para>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.</para>
|
|
<para>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
|
|
<!--Original XRef content: '“Amministrazione dei servizi per le ap--><!--plicazioni”
|
|
a pagina 100'--><xref role="SecTitleAndPageNum" linkend="sag.clsrv.mkr.15">.
|
|
</para>
|
|
<sect2 id="sag.cract.div.50">
|
|
<title id="sag.cract.mkr.33">Creazione di un'azione che esegua un'applicazione
|
|
remota<indexterm><primary>EXEC_HOST, campo</primary></indexterm><indexterm>
|
|
<primary>%</primary></indexterm><indexterm><primary>DatabaseHost%</primary>
|
|
</indexterm><indexterm><primary></primary></indexterm><indexterm><primary>%</primary></indexterm><indexterm><primary>LocalHost%</primary></indexterm><indexterm>
|
|
<primary></primary></indexterm><indexterm><primary>%</primary></indexterm><indexterm>
|
|
<primary>DisplayHost%</primary></indexterm><indexterm><primary></primary>
|
|
</indexterm><indexterm><primary>%</primary></indexterm><indexterm><primary>SessionHost%</primary></indexterm></title>
|
|
<para><indexterm><primary>EXEC_HOST, campo</primary></indexterm><indexterm>
|
|
<primary>host di esecuzione</primary><secondary>definizione con il campo EXEC_HOST</secondary></indexterm>Usare il campo <filename>EXEC_HOST</filename> nella
|
|
definizione dell'azione per specificare la posizione dell'applicazione.</para>
|
|
<para>I valori ammessi per <filename>EXEC_HOST</filename> sono:</para>
|
|
<informaltable>
|
|
<tgroup cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="191*">
|
|
<colspec colwidth="337*">
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename><indexterm><primary>DataBaseHost,
|
|
parola chiave</primary></indexterm>%DatabaseHost%</filename></para></entry>
|
|
<entry align="left" valign="top"><para>L'host che contiene la definizione
|
|
dell'azione.</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>%LocalHost%</filename></para></entry>
|
|
<entry align="left" valign="top"><para>L'host da cui viene avviata l'azione
|
|
(il <emphasis>server della sessione</emphasis>).</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename><indexterm><primary>DisplayHost,
|
|
parola chiave</primary></indexterm>%DisplayHost%</filename></para></entry>
|
|
<entry align="left" valign="top"><para>L'host che esegue il server X (non
|
|
previsto per i terminal X).</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename><indexterm><primary>SessionHost,
|
|
parola chiave</primary></indexterm>%SessionHost%</filename></para></entry>
|
|
<entry align="left" valign="top"><para>L'host su cui viene eseguita la Gestione
|
|
del login.</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><symbol role="Variable">nomehost</symbol></para></entry>
|
|
<entry align="left" valign="top"><para>L'host specificato. Usare questo valore
|
|
per gli ambienti in cui l'azione deve essere sempre eseguita su un host particolare.
|
|
</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>%“</filename><symbol role="Variable">richiesta</symbol><filename>“%</filename></para></entry>
|
|
<entry align="left" valign="top"><para>Richiesta di inserimento del nome host
|
|
visualizzata ad ogni esecuzione dell'azione.</para></entry></row></tbody>
|
|
</tgroup></informaltable>
|
|
<para>Il valore predefinito è <filename>%DatabaseHost%</filename>, <filename>%LocalHost%</filename>.<indexterm><primary>EXEC_HOST, campo</primary><secondary>valore predefinito</secondary></indexterm> Con questa impostazione, se si
|
|
omette il campo <filename>EXEC_HOST</filename> 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.
|
|
</para>
|
|
<sect3 id="sag.cract.div.51">
|
|
<title>Esempi</title>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Questo campo specifica l'host <command>ddsyd</command>:</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<programlisting>EXEC_HOST ddsyd</programlisting>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Questo campo richiede un nome host:</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<programlisting>EXEC_HOST %"Host contenente l'applicazione:"%</programlisting>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Questo campo specifica che l'azione cercherà inizialmente
|
|
di eseguire l'applicazione sull'host contenente la definizione dell'azione.
|
|
Se non dovesse riuscire, essa cercherà di eseguire l'applicazione sull'host <command>ddsyd</command>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<programlisting>EXEC_HOST %DatabaseHost%, ddsyd</programlisting>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 id="sag.cract.div.52">
|
|
<title id="sag.cract.mkr.34">Uso delle variabili nelle definizioni delle azioni
|
|
e dei tipi di dati<indexterm><primary>variabili</primary><secondary>uso nelle
|
|
definizioni delle azioni</secondary></indexterm><indexterm><primary>azioni</primary><secondary>uso delle variabili nelle definizioni</secondary></indexterm><indexterm>
|
|
<primary>tipi di dati</primary><secondary>uso delle variabili nelle definizioni</secondary></indexterm></title>
|
|
<para>Le definizioni delle azioni e dei tipi di dati possono comprendere variabili
|
|
in forma di stringa e variabili d'ambiente.</para>
|
|
<sect2 id="sag.cract.div.53">
|
|
<title id="sag.cract.mkr.35">Uso di variabili stringa in un'azione<indexterm>
|
|
<primary>variabili</primary><secondary>stringa, nelle definizioni delle azioni</secondary></indexterm><indexterm><primary>azioni</primary><secondary>uso
|
|
di variabili stringa</secondary></indexterm></title>
|
|
<para>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.
|
|
</para>
|
|
<para>Se una variabile stringa e una variabile d'ambiente hanno lo stesso
|
|
nome, la variabile stringa avrà la precedenza.</para>
|
|
<sect3 id="sag.cract.div.54" role="Procedure">
|
|
<title>Come definire una variabile stringa</title>
|
|
<orderedlist>
|
|
<listitem><para>Usare la sintassi:</para>
|
|
<para remap="CodeIndent1"><command>set <symbol role="Variable">nome_variabile</symbol>=<symbol role="Variable">valore</symbol></command></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
<para>I nomi delle variabili possono contenere qualsiasi carattere alfanumerico
|
|
e il carattere di sottolineatura (<filename>_</filename>). Ogni definizione
|
|
deve occupare una riga diversa.</para>
|
|
<para>Ad esempio:</para>
|
|
<programlisting>set Server_applicazioni_remoto=sysapp
|
|
set Server_file_remoto=sysdata</programlisting>
|
|
</sect3>
|
|
<sect3 id="sag.cract.div.55" role="Procedure">
|
|
<title>Come impostare un riferimento a una variabile stringa</title>
|
|
<orderedlist>
|
|
<listitem><para>Usare la sintassi:</para>
|
|
<para remap="CodeIndent1"><command>$[{]<symbol role="Variable">nome_variabile</symbol>[}]</command></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
<para>Ad esempio:</para>
|
|
<programlisting>EXEC-HOST $Server_applicazioni_remoto
|
|
CWD /net/${Server_file_remoto}/doc/project</programlisting>
|
|
</sect3>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.56">
|
|
<title id="sag.cract.mkr.36">Uso delle variabili d'ambiente nelle azioni e
|
|
nei tipi di dati<indexterm><primary>variabili d'</primary></indexterm><indexterm>
|
|
<primary>ambiente</primary><secondary>definizioni delle azioni</secondary>
|
|
</indexterm><indexterm><primary>azioni</primary><secondary>variabili d'</secondary>
|
|
</indexterm><indexterm><primary>ambiente</primary></indexterm></title>
|
|
<orderedlist>
|
|
<listitem><para>Per impostare un riferimento a una variabile d'ambiente, usare
|
|
la sintassi:</para>
|
|
<para remap="CodeIndent1"><command>$[{]<symbol role="Variable">variabile</symbol>[}]</command>.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
<para>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.
|
|
</para>
|
|
<para>Ad esempio, questa stringa di esecuzione stampa un file usando il nome
|
|
di login dell'utente come intestazione.</para>
|
|
<programlisting>EXEC-STRING lp -t$LOGNAME %(File)Arg_1%</programlisting>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 id="sag.cract.div.57">
|
|
<title id="sag.cract.mkr.37">Avvio di un'azione dalla riga comandi<indexterm>
|
|
<primary>azioni</primary><secondary>uso per l'</secondary></indexterm><indexterm>
|
|
<primary>esecuzione di altre azioni</primary></indexterm></title>
|
|
<para>Il comando del desktop <command>dtaction</command> permette di eseguire
|
|
le azioni da una riga comandi. Questo comando può essere usato per
|
|
eseguire le azioni da:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Script</para>
|
|
</listitem>
|
|
<listitem><para>Altre azioni</para>
|
|
</listitem>
|
|
<listitem><para>Una riga comandi di un emulatore di terminale</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<sect2 id="sag.cract.div.58">
|
|
<title>Sintassi di dtaction<indexterm><primary>dtaction</primary><secondary>sintassi</secondary></indexterm></title>
|
|
<para><command>dtaction [-user <symbol role="Variable">nome_utente</symbol>]
|
|
[-execHost <symbol role="Variable">nomehost</symbol>] <symbol role="Variable">nome_azione</symbol> [<symbol role="Variable">argomento</symbol> [<symbol role="Variable">argomento</symbol>]…]</command></para>
|
|
<informaltable>
|
|
<tgroup cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="162*">
|
|
<colspec colwidth="366*">
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>-user</filename> <symbol role="Variable">nome_utente</symbol></para></entry>
|
|
<entry align="left" valign="top"><para>Permette di eseguire l'azione operando
|
|
con un nome utente diverso. Se <command>dtaction</command> viene richiamato
|
|
da un utente diverso da quello specificato con <symbol role="Variable">nome_utente</symbol>, viene visualizzata la richiesta di una parola chiave.</para></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="left" valign="top"><para>-<command>execHost</command> <symbol role="Variable">nomehost</symbol></para></entry>
|
|
<entry align="left" valign="top"><para>Solo per le azioni <command>COMMAND</command>; specifica l'host su cui verrà eseguito il comando.</para></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><symbol role="Variable">argomento</symbol></para></entry>
|
|
<entry align="left" valign="top"><para>Argomento/i da usare per l'azione,
|
|
in genere file.</para></entry></row></tbody></tgroup></informaltable>
|
|
<para>Il client <command>dtaction</command> dispone di altre opzioni per la
|
|
riga comandi. Per maggiori informazioni, vedere la pagina di spiegazioni <filename moreinfo="refentry">dtaction(1)</filename>.</para>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.59">
|
|
<title>Creazione di un'azione che esegua un'altra azione<indexterm><primary>azioni</primary><secondary>uso per l'</secondary></indexterm><indexterm><primary>esecuzione di altre azioni</primary></indexterm></title>
|
|
<para>Usare <command>dtaction</command> nella <filename>EXEC_STRING</filename>
|
|
dell'azione.</para>
|
|
<para>Ad esempio, l'azione seguente utilizza un'azione predefinita di nome
|
|
Spell (presentata come “Controllare 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.</para>
|
|
<programlisting>ACTION ApriECorreggi
|
|
{
|
|
WINDOW_TYPE NO_STDIO
|
|
EXEC_STRING /bin/sh -c 'dtaction Spell \
|
|
%Arg_1“File:“%; dtpad %Arg_1%'
|
|
}</programlisting>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.60">
|
|
<title id="sag.cract.mkr.38">Creazione di un'azione che venga eseguita con
|
|
un nome utente diverso<indexterm><primary>azioni</primary><secondary>esecuzione
|
|
come utente diverso</secondary></indexterm><indexterm><primary>utente, cambiamento
|
|
per l'</primary></indexterm><indexterm><primary>esecuzione di un'</primary>
|
|
</indexterm><indexterm><primary>azione</primary></indexterm><indexterm><primary>dtaction</primary><secondary>uso per il cambiamento di utente</secondary>
|
|
</indexterm></title>
|
|
<para>Usare la seguente sintassi nella <filename>EXEC_STRING</filename>:
|
|
</para>
|
|
<programlisting>EXEC_STRING dtaction -user <symbol role="Variable">nome_utente nome_azione</symbol> [<symbol role="Variable">argomento</symbol>]</programlisting>
|
|
<para>Il nuovo utente (<symbol role="Variable">nome_utente</symbol>) deve
|
|
avere accesso di visualizzazione al sistema attraverso uno dei seguenti meccanismi:
|
|
</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Autorizzazione di lettura per il file <filename>.Xauthority</filename> dell'utente specificato al login</para>
|
|
</listitem>
|
|
<listitem><para><emphasis>Oppure</emphasis>, autorizzazione xhost</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>Ad esempio, le due azioni seguenti offrono la possibilità di
|
|
diventare superutente e di editare un file di impostazioni predefinite delle
|
|
applicazioni.</para>
|
|
<programlisting>ACTION ImpPred
|
|
{
|
|
WINDOW_TYPE NO_STDIO
|
|
EXEC_STRING /usr/dt/bin/dtaction -user root \
|
|
ModificaImpPred %Arg_1“File:“%
|
|
}
|
|
|
|
ACTION ModificaImpPred
|
|
{
|
|
WINDOW_TYPE TERMINAL
|
|
EXEC_STRING /bin/sh -c 'chmod +w %Arg_1%; \
|
|
vi %Arg_1%; chmod -w %Arg_1%'
|
|
}</programlisting>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 id="sag.cract.div.61">
|
|
<title id="sag.cract.mkr.39">Creazione di azioni in lingue diverse</title>
|
|
<para>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.</para>
|
|
<sect2 id="sag.cract.div.62">
|
|
<title>Posizione delle azioni localizzate</title>
|
|
<para>Le definizioni delle azioni localizzate devono trovarsi nelle directory
|
|
corrette del percorso di ricerca delle azioni.</para>
|
|
<para>Il percorso di ricerca predefinito comprende le directory seguenti:
|
|
</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Azioni personali: <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types</filename></para>
|
|
</listitem>
|
|
<listitem><para>Azioni di sistema: <filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol></para>
|
|
</listitem>
|
|
<listitem><para>Azioni predefinite: <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
<sect2 id="sag.cract.div.63" role="Procedure">
|
|
<title>Come tradurre un'azione esistente<indexterm><primary>azioni</primary>
|
|
<secondary>etichette</secondary></indexterm><indexterm><primary>etichette</primary><secondary>azioni</secondary></indexterm><indexterm><primary>localizzazione</primary><secondary>delle etichette delle azioni</secondary></indexterm></title>
|
|
<orderedlist>
|
|
<listitem><para>Creare un file nella directory appropriata dipendente dalla
|
|
lingua (ad esempio, in <filename>/etc/dt/appconfig/types/it</filename>).
|
|
</para>
|
|
</listitem>
|
|
<listitem><para>Copiare la definizione dell'azione nel file di configurazione
|
|
dipendente dalla lingua.</para>
|
|
<para>Ad esempio, si potrà copiare la definizione di un'azione da</para>
|
|
<para remap="CodeIndent1"><filename><symbol role="Variable">radice_app</symbol>/dt/appconfig/types/C/<symbol role="Variable">file</symbol>.dt</filename></para>
|
|
<para>in</para>
|
|
<para remap="CodeIndent1"><filename><symbol role="Variable">radice_app</symbol>/dt/appconfig/types/it/<symbol role="Variable">nuovofile</symbol>.dt</filename></para>
|
|
</listitem>
|
|
<listitem><para>Aggiungere un campo <command>LABEL</command> o modificare
|
|
il campo <command>LABEL</command> esistente.</para>
|
|
<para remap="CodeIndent1"><command>LABEL <symbol role="Variable">stringa</symbol></command></para>
|
|
<para>La Gestione di applicazioni e la Gestione di file useranno questa stringa
|
|
per identificare l'icona dell'azione.</para>
|
|
</listitem>
|
|
<listitem><para>Adattare i campi seguenti nella definizione dell'azione:</para>
|
|
<itemizedlist remap="Bullet2">
|
|
<listitem><para>Per le icone tradotte: <command>ICON</command></para>
|
|
</listitem>
|
|
<listitem><para>Per i testi di aiuto tradotti: <command>DESCRIPTION</command></para>
|
|
</listitem>
|
|
<listitem><para>Per le richieste tradotte: tutto il testo tra virgolette nella <filename>EXEC_STRING</filename></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 id="sag.cract.div.64">
|
|
<title id="sag.cract.mkr.40">Creazione di azioni per le applicazioni ToolTalk<indexterm>
|
|
<primary>TT_MSG, azione</primary><secondary>creazione</secondary></indexterm><indexterm>
|
|
<primary>ToolTalk</primary><secondary>azioni per le applicazioni</secondary>
|
|
</indexterm><indexterm><primary><</primary></indexterm><indexterm><primary>$nopage>ToolTalk</primary><secondary>azione, Vedere TT_MSG, azione</secondary>
|
|
</indexterm></title>
|
|
<note>
|
|
<para>Le informazioni seguenti si riferiscono solo alle applicazioni che
|
|
supportano i messaggi ToolTalk.</para>
|
|
</note>
|
|
<para>Creare un'azione di tipo <filename>TT_MSG</filename> che invii un messaggio
|
|
ToolTalk.</para>
|
|
<programlisting>ACTION <symbol role="Variable">nome_azione</symbol>
|
|
{
|
|
TYPE TT_MSG
|
|
…
|
|
}</programlisting>
|
|
<sect2 id="sag.cract.div.65">
|
|
<title>Campi addressing e disposition</title>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>Il campo <command>addressing</command> di ToolTalk è
|
|
sempre impostato su <filename>TT_PROCEDURE</filename>.</para>
|
|
</listitem>
|
|
<listitem><para>Il campo <command>disposition</command> di ToolTalk viene
|
|
impostato automaticamente sul valore specificato nello schema del messaggio
|
|
statico.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<sect3 id="sag.cract.div.66">
|
|
<title>Messaggi non supportati</title>
|
|
<para>Le azioni di tipo <filename>TT_MSG</filename> non supportano i messaggi
|
|
seguenti:</para>
|
|
<itemizedlist remap="Bullet1">
|
|
<listitem><para>I messaggi di ToolTalk orientati agli oggetti</para>
|
|
</listitem>
|
|
<listitem><para>L'uso di contesti come argomenti nei messaggi</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
<sect3 id="sag.cract.div.67">
|
|
<title>Parole chiave per le azioni TT_MSG<indexterm><primary>TT_MSG, azione</primary><secondary>parole chiave</secondary></indexterm></title>
|
|
<informaltable>
|
|
<tgroup cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="140*">
|
|
<colspec colwidth="388*">
|
|
<thead>
|
|
<row><entry align="left" valign="bottom"><para>Parola chiave</para></entry>
|
|
<entry align="left" valign="bottom"><para>Uso</para></entry></row></thead>
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>TT_CLASS</filename></para></entry>
|
|
<entry align="left" valign="top"><para>Definisce il valore del campo <command>class</command> dei messaggi di ToolTalk</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>TT_SCOPE</filename></para></entry>
|
|
<entry align="left" valign="top"><para>Definisce il valore del campo <command>scope</command> dei messaggi di ToolTalk</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>TT_OPERATION</filename></para></entry>
|
|
<entry align="left" valign="top"><para>Definisce il valore del campo <command>operation</command> dei messaggi di ToolTalk</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>TT_FILE</filename></para></entry>
|
|
<entry align="left" valign="top"><para>Definisce il valore del campo <command>file</command> dei messaggi di ToolTalk</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>TT_ARGn_MODE</filename></para></entry>
|
|
<entry align="left" valign="top"><para>Definisce il valore dell'attributo <command>mode</command> di ToolTalk per l'argomento <symbol role="Variable">n</symbol>
|
|
del messaggio</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>TT_ARGn_VTYPE</filename></para></entry>
|
|
<entry align="left" valign="top"><para>Definisce il valore dell'attributo <command>vtype</command> di ToolTalk per l'argomento <symbol role="Variable">n</symbol>
|
|
del messaggio</para></entry></row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>TT_ARGn_VALUE</filename></para></entry>
|
|
<entry align="left" valign="top"><para>Definisce il valore dell'argomento <symbol role="Variable">n</symbol> del messaggio</para></entry></row></tbody></tgroup>
|
|
</informaltable>
|
|
</sect3><?Pub Caret>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|
|
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 16:05:15-->
|
|
<?Pub *0000098540>
|