Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / doc / it_IT.ISO8859-1 / guides / sysAdminGuide / ch10.sgm
1 <!-- $XConsortium: ch10.sgm /main/11 1996/12/21 19:19:30 rws $ -->
2 <!-- (c) Copyright 1995 Digital Equipment Corporation. -->
3 <!-- (c) Copyright 1995 Hewlett-Packard Company. -->
4 <!-- (c) Copyright 1995 International Business Machines Corp. -->
5 <!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
6 <!-- (c) Copyright 1995 Novell, Inc. -->
7 <!-- (c) Copyright 1995 FUJITSU LIMITED. -->
8 <!-- (c) Copyright 1995 Hitachi. -->
9 <chapter id="sag.cract.div.1">
10 <title id="sag.cract.mkr.1"><indexterm><primary>azioni</primary><secondary>creazione manuale</secondary></indexterm>Creazione delle azioni con la procedura
11 manuale</title>
12 <para>Esistono due metodi per creare le azioni:</para>
13 <itemizedlist remap="Bullet1">
14 <listitem><para>Usare l'applicazione del desktop Creare azione</para>
15 </listitem>
16 <listitem><para>Creare manualmente la definizione dell'azione</para>
17 </listitem>
18 </itemizedlist>
19 <para>Per creare un'azione manualmente &egrave; necessario editare un file
20 del database. Questo capitolo spiega come creare manualmente le definizioni
21 delle azioni.</para>
22 <informaltable id="sag.cract.itbl.1" frame="all">
23 <tgroup cols="1" colsep="1" rowsep="1">
24 <colspec colwidth="4.55in">
25 <tbody>
26 <row>
27 <entry align="left" valign="top"><para><!--Original XRef content: 'Casi in
28 cui occorre creare le azioni manualmen--><!--te158'--><xref role="JumpText"
29 linkend="sag.cract.mkr.2"></para></entry></row>
30 <row>
31 <entry align="left" valign="top"><para><!--Original XRef content: 'Creazione
32 manuale di un'azione: procedura gene--><!--rale159'--><xref role="JumpText"
33 linkend="sag.cract.mkr.4"></para></entry></row>
34 <row>
35 <entry align="left" valign="top"><para><!--Original XRef content: 'Creazione
36 di una stringa di esecuzione per un'--><!--azione COMMAND169'--><xref role="JumpText"
37 linkend="sag.cract.mkr.13"></para></entry></row>
38 <row>
39 <entry align="left" valign="top"><para><!--Original XRef content: 'Supporto
40 di finestre ed emulatori di terminale--><!-- per le azioni COMMAND176'--><xref
41 role="JumpText" linkend="sag.cract.mkr.24"></para></entry></row>
42 <row>
43 <entry align="left" valign="top"><para><!--Original XRef content: 'Restrizione
44 delle azioni a determinati argomen--><!--ti178'--><xref role="JumpText" linkend="sag.cract.mkr.29"></para></entry>
45 </row>
46 <row>
47 <entry align="left" valign="top"><para><!--Original XRef content: 'Creazione
48 di azioni che eseguano applicazioni --><!--su sistemi remoti180'--><xref role="JumpText"
49 linkend="sag.cract.mkr.32"></para></entry></row>
50 <row>
51 <entry align="left" valign="top"><para><!--Original XRef content: 'Uso delle
52 variabili nelle definizioni delle az--><!--ioni e dei tipi di dati182'--><xref
53 role="JumpText" linkend="sag.cract.mkr.34"></para></entry></row>
54 <row>
55 <entry align="left" valign="top"><para><!--Original XRef content: 'Avvio di
56 un'azione dalla riga comandi183'--><xref role="JumpText" linkend="sag.cract.mkr.37"></para></entry>
57 </row>
58 <row>
59 <entry align="left" valign="top"><para><!--Original XRef content: 'Creazione
60 di azioni in lingue diverse185'--><xref role="JumpText" linkend="sag.cract.mkr.39"></para></entry>
61 </row>
62 <row>
63 <entry align="left" valign="top"><para><!--Original XRef content: 'Creazione
64 di azioni per le applicazioni ToolTa--><!--lk186'--><xref role="JumpText"
65 linkend="sag.cract.mkr.40"></para></entry></row></tbody></tgroup></informaltable>
66 <sect1 id="sag.cract.div.2">
67 <title>Vedere anche</title>
68 <itemizedlist remap="Bullet1">
69 <listitem><para>Per una descrizione introduttiva delle azioni, vedere il <!--Original
70 XRef content: 'Capitolo&numsp;8,
71 &ldquo;Introduzione alle a--><!--zioni e ai tipi di dati'--><xref role="ChapNumAndTitle"
72 linkend="sag.intac.mkr.1">.</para>
73 </listitem>
74 <listitem><para>Per informazioni sull'uso di Creare azione, vedere il <!--Original
75 XRef content: 'Capitolo&numsp;9, &ldquo;Creazione
76 di azioni--><!-- e tipi di dati con Creare azione'--><xref role="ChapNumAndTitle"
77 linkend="sag.dtcra.mkr.1">.</para>
78 </listitem>
79 <listitem><para>Per informazioni sulle definizioni delle azioni, vedere la
80 pagina di spiegazioni <filename>dtactionfile(4)</filename>.</para>
81 </listitem>
82 </itemizedlist>
83 </sect1>
84 <sect1 id="sag.cract.div.3">
85 <title id="sag.cract.mkr.2">Casi in cui occorre creare le azioni manualmente</title>
86 <para><indexterm><primary>azioni</primary><secondary>tipi</secondary></indexterm>Esistono
87 tre tipi di azioni:</para>
88 <itemizedlist remap="Bullet1">
89 <listitem><para><command>COMMAND</command></para>
90 </listitem>
91 <listitem><para><command>MAP</command></para>
92 </listitem>
93 <listitem><para><filename>TT_MSG</filename></para>
94 </listitem>
95 </itemizedlist>
96 <para id="sag.cract.mkr.3">L'applicazione Creare azione permette di creare
97 alcuni tipi di azioni <command>COMMAND</command> e <command>MAP</command>.
98 Tutte le azioni <filename>TT_MSG</filename> devono essere create manualmente.
99 </para>
100 <para>Per maggiori informazioni, vedere <!--Original XRef content: '&ldquo;Limitazioni
101 di Creare azione&rdquo; a--><!-- pagina&numsp;144'--><xref role="SecTitleAndPageNum"
102 linkend="sag.dtcra.mkr.3">.</para>
103 <sect2 id="sag.cract.div.4">
104 <title><indexterm><primary>COMMAND, azione</primary></indexterm><indexterm>
105 <primary>azioni</primary><secondary>COMMAND</secondary></indexterm>Azioni
106 COMMAND</title>
107 <para>Si definisce <emphasis>azione di comando</emphasis> un'azione che esegue
108 un comando di avvio di un'applicazione o di un'utility, uno script di una
109 shell o un comando del sistema operativo. La definizione di questo tipo di
110 azioni include sempre il comando da eseguire (<filename>EXEC_STRING</filename>).
111 </para>
112 <para>Le azioni di comando pi&ugrave; comuni possono essere create con lo
113 strumento Creare azione. Tuttavia, in presenza di alcune condizioni &egrave;
114 necessario crearle manualmente; ad esempio, quando l'azione specifica:</para>
115 <itemizedlist remap="Bullet1">
116 <listitem><para>Pi&ugrave; argomenti (file) con una richiesta diversa per
117 ognuno.</para>
118 </listitem>
119 <listitem><para>Il richiamo di un'azione &mdash; un'azione che avvii altre
120 azioni.</para>
121 </listitem>
122 <listitem><para>Un comportamento dipendente dal numero degli argomenti &mdash;
123 un'azione che si comporti in modo diverso a seconda del numero di file specificati
124 come argomenti.</para>
125 </listitem>
126 <listitem><para>Un host di esecuzione remoto &mdash; un'azione che avvii un'applicazione
127 su un sistema diverso da quello in cui si trova la definizione dell'azione.
128 </para>
129 </listitem>
130 <listitem><para>Un cambiamento di utente &mdash; un'azione che debba essere
131 eseguita con un nome utente diverso (ad esempio, che richieda la password
132 di superutente).</para>
133 </listitem>
134 </itemizedlist>
135 </sect2>
136 <sect2 id="sag.cract.div.5">
137 <title><indexterm><primary>MAP, azioni</primary><secondary>definizione</secondary>
138 </indexterm>Azioni MAP<indexterm><primary>azioni</primary><secondary>MAP</secondary>
139 </indexterm></title>
140 <para>Si definisce <emphasis>azione di mappatura</emphasis> un'azione che
141 viene &ldquo;mappata&rdquo; in un'altra azione anzich&eacute; specificare
142 direttamente un comando o un messaggio ToolTalk.</para>
143 <para>La mappatura offre la possibilit&agrave; di specificare nomi alternativi
144 per le azioni. Ad esempio, il database include un'azione di comando predefinita
145 di nome &ldquo;Editor delle icone&rdquo; che avvia l'applicazione corrispondente;
146 esso include per&ograve; anche un'azione Aprire, la cui applicazione &egrave;
147 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
148 permette di avviare l'Editor delle icone selezionando un file a mappa di bit
149 o a mappa di pixel dalla Gestione di file e quindi scegliendo Aprire dal menu
150 Selezioni.</para>
151 <para>Le possibilit&agrave; di mappatura offerte da Creare azione sono limitate
152 alle azioni Aprire e Stampare. Tutte le altre azioni di mappatura devono essere
153 create manualmente.</para>
154 </sect2>
155 <sect2 id="sag.cract.div.6">
156 <title><indexterm><primary>azioni</primary><secondary>TT_MSG</secondary></indexterm>Azioni
157 TT_MSG (messaggi ToolTalk)</title>
158 <para>Le azioni <filename>TT_MSG</filename> inviano un messaggio ToolTalk.
159 Tutte le azioni di tipo <filename>TT_MSG</filename> devono essere create manualmente.
160 </para>
161 </sect2>
162 </sect1>
163 <sect1 id="sag.cract.div.7">
164 <title id="sag.cract.mkr.4">Creazione manuale di un'azione: procedura generale<indexterm>
165 <primary>azioni</primary><secondary>creazione manuale</secondary></indexterm></title>
166 <para>Questa sezione descrive come creare un file di configurazione per la
167 definizione di un'azione.</para>
168 <sect2 id="sag.cract.div.8">
169 <title id="sag.cract.mkr.5">File di configurazione per le azioni<indexterm>
170 <primary>azioni</primary><secondary>file di configurazione</secondary></indexterm><indexterm>
171 <primary>file di configurazione</primary><secondary>azioni</secondary></indexterm><indexterm>
172 <primary>dt, file</primary></indexterm></title>
173 <para>I file di configurazione contenenti le definizioni delle azioni devono
174 rispondere ai seguenti requisiti:</para>
175 <itemizedlist remap="Bullet1">
176 <listitem><para>Il nome del file deve avere il formato <symbol role="Variable">nome</symbol><filename>.dt</filename></para>
177 </listitem>
178 <listitem><para><indexterm><primary>percorso di ricerca dei database</primary>
179 </indexterm><indexterm><primary>percorsi di ricerca</primary><secondary>azioni</secondary></indexterm>I file devono trovarsi nel percorso di ricerca del
180 database (per le azioni e i tipi di dati). Il percorso di ricerca predefinito
181 comprende le directory seguenti:</para>
182 <informaltable>
183 <tgroup cols="2" colsep="0" rowsep="0">
184 <colspec colwidth="156*">
185 <colspec colwidth="300*">
186 <tbody>
187 <row>
188 <entry align="left" valign="top"><para>Azioni personali</para></entry>
189 <entry align="left" valign="top"><para><symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types</filename></para></entry></row>
190 <row>
191 <entry align="left" valign="top"><para>Azioni di sistema</para></entry>
192 <entry align="left" valign="top"><para><filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol></para></entry></row>
193 <row>
194 <entry align="left" valign="top"><para>Azioni predefinite</para></entry>
195 <entry align="left" valign="top"><para><filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol>. Questa directory non dovrebbe
196 essere utilizzata.</para></entry></row></tbody></tgroup></informaltable>
197 </listitem>
198 </itemizedlist>
199 <para>Per informazioni su come modificare il percorso di ricerca delle azioni
200 e dei tipi di dati, vedere <!--Original XRef content: '&ldquo;Impostazione
201 del valore di un percorso--><!-- di ricerca&rdquo; a
202 pagina&numsp;117'--><xref role="SecTitleAndPageNum" linkend="sag.datab.mkr.6">.
203 </para>
204 </sect2>
205 <sect2 id="sag.cract.div.9" role="Procedure">
206 <title id="sag.cract.mkr.6">Come creare un'azione manualmente<indexterm><primary>azioni</primary><secondary>creazione manuale</secondary></indexterm></title>
207 <orderedlist>
208 <listitem><para>Aprire un file del database o crearne uno nuovo. Vedere la
209 sezione seguente, <!--Original XRef content: '&ldquo;File di configurazione
210 per le azioni'--><xref role="SectionTitle" linkend="sag.cract.mkr.5">.</para>
211 </listitem>
212 <listitem><para>Creare la definizione dell'azione usando la sintassi:</para>
213 <programlisting>ACTION nome_azione
214 {
215    TYPE    <symbol role="Variable">tipo_azione</symbol>
216  <symbol>campo_azione</symbol> 
217    &hellip;
218 }</programlisting>
219 <para>dove:</para>
220 <informaltable>
221 <tgroup cols="2" colsep="0" rowsep="0">
222 <colspec colwidth="157*">
223 <colspec colwidth="371*">
224 <tbody>
225 <row>
226 <entry align="left" valign="top"><para><indexterm><primary>azioni</primary>
227 <secondary>nomi</secondary></indexterm><symbol role="Variable">nome_azione</symbol></para></entry>
228 <entry align="left" valign="top"><para>&Egrave; il nome usato per eseguire
229 l'azione.</para></entry></row>
230 <row>
231 <entry align="left" valign="top"><para><indexterm><primary>azioni</primary>
232 <secondary>tipi</secondary></indexterm><symbol role="Variable">tipo_azione</symbol></para></entry>
233 <entry align="left" valign="top"><para>&Egrave; <command>COMMAND</command>
234 (il tipo predefinito), <command>MAP</command> o <filename>TT_MSG.</filename></para></entry>
235 </row>
236 <row>
237 <entry align="left" valign="top"><para><indexterm><primary>azioni</primary>
238 <secondary>campi</secondary></indexterm><symbol role="Variable">campo_azione</symbol></para></entry>
239 <entry align="left" valign="top"><para>&Egrave; uno dei campi necessari o
240 opzionali per il tipo di azione specificato. Tutti i campi sono formati da
241 una parola chiave e da un valore.</para><para>In questo capitolo sono descritti
242 molti dei campi usati per la definizione delle azioni. Per maggiori informazioni,
243 vedere la pagina di spiegazioni dtactionfile(4).</para></entry></row></tbody>
244 </tgroup></informaltable>
245 </listitem>
246 <listitem><para>Salvare il file.</para>
247 </listitem>
248 <listitem><para>Se si desidera associare all'icona dell'azione un'immagine
249 che la identifichi in modo specifico, creare le icone appropriate. Le posizioni
250 predefinite per le icone sono le seguenti:</para>
251 <itemizedlist remap="Bullet2">
252 <listitem><para>Icone personali: <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/icons</filename></para>
253 </listitem>
254 <listitem><para>Icone di sistema: <filename>/etc/dt/appconfig/icons/</filename><symbol role="Variable">lingua.</symbol> La <symbol role="Variable">lingua</symbol> predefinita
255 &egrave; l'inglese (C).</para>
256 <para>Per maggiori informazioni, vedere <!--Original XRef content: '&ldquo;Scelta
257 dell'icona da utilizzare per u--><!--n'azione&rdquo; a pagina&numsp;165'--><xref
258 role="SecTitleAndPageNum" linkend="sag.cract.mkr.10">.</para>
259 </listitem>
260 </itemizedlist>
261 </listitem>
262 <listitem><para>Fare doppio clic su &ldquo;Ricaricare azioni&rdquo; nel gruppo
263 Strumenti_desktop.</para>
264 </listitem>
265 <listitem><para>Creare un file per l'azione. Questo file creer&agrave; un'icona
266 per la rappresentazione dell'azione nella Gestione di file e nella Gestione
267 di applicazioni. (Se l'azione produce l'avvio dell'applicazione, l'icona verr&agrave;
268 detta<indexterm><primary>icone</primary><secondary>di applicazioni</secondary>
269 </indexterm> <emphasis>icona dell'applicazione</emphasis>.)</para>
270 <para>Per creare il file dell'azione, creare un file eseguibile il cui nome
271 coincida con il <symbol>nome_azione</symbol>. Il file potr&agrave; essere
272 creato in qualunque directory per la quale si possieda l'autorizzazione di
273 scrittura. Si potr&agrave; creare qualsiasi numero di file dell'azione.</para>
274 </listitem>
275 </orderedlist>
276 </sect2>
277 <sect2 id="sag.cract.div.10">
278 <title id="sag.cract.mkr.7">Esempio di creazione di un'azione COMMAND<indexterm>
279 <primary>COMMAND, azione</primary><secondary>esempio</secondary></indexterm><indexterm>
280 <primary>azioni</primary><secondary>esempio</secondary></indexterm></title>
281 <para>La procedura seguente crea un'azione personale che avvia un'applicazione
282 fax sul sistema remoto AppServerA. Il comando per l'avvio dell'applicazione
283 fax &egrave;:</para>
284 <programlisting>/usr/fax/bin/faxcompose [<symbol role="Variable">nomefile</symbol>]</programlisting>
285 <orderedlist>
286 <listitem><para>Creare il file <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types/Fax.dt</filename>.</para>
287 </listitem>
288 <listitem><para>Inserire nel file la seguente definizione dell'azione:</para>
289 <programlisting>ACTION ComporreFax
290
291         TYPE         COMMAND
292         ICON         fax
293         WINDOW_TYPE  NO_STDIO
294         EXEC_STRING  /usr/fax/bin/faxcompose-c %Arg_1
295         EXEC_HOST    AppServerA
296         DESCRIPTION  Esegue il programma di composizione fax
297 }</programlisting>
298 <para>I campi <filename>WINDOW_TYPE</filename> e <filename>EXEC_STRING</filename>
299 descrivono il comportamento dell'azione.</para>
300 <informaltable>
301 <tgroup cols="2" colsep="0" rowsep="0">
302 <colspec colwidth="158*">
303 <colspec colwidth="370*">
304 <tbody>
305 <row>
306 <entry align="left" valign="top"><para><filename>WINDOW_TYPE</filename></para></entry>
307 <entry align="left" valign="top"><para>La parola chiave <filename>NO_STDIO</filename> specifica che l'azione non deve essere eseguita in una finestra
308 di emulazione di terminale.</para><para>Vedere <!--Original XRef content:
309 '&ldquo;Indicazione del supporto di finestre p--><!--er l'azione&rdquo; a
310 pagina&numsp;176'--><xref role="SecTitleAndPageNum" linkend="sag.cract.mkr.25"></para></entry>
311 </row>
312 <row>
313 <entry align="left" valign="top"><para><filename>EXEC_STRING</filename></para></entry>
314 <entry align="left" valign="top"><para>La sintassi <filename>%Arg_1%</filename>
315 accetta un file come argomento. Facendo doppio clic sull'icona dell'azione,
316 verr&agrave; aperta una finestra vuota per la composizione dei fax.</para><para>Vedere <!--Original XRef content: '&ldquo;Creazione di una stringa di esecuzione--><!--
317 per un'azione COMMAND&rdquo; a pagina&numsp;169'--><xref role="SecTitleAndPageNum"
318 linkend="sag.cract.mkr.13">.</para></entry></row></tbody></tgroup></informaltable>
319 </listitem>
320 <listitem><para>Salvara il file</para>
321 </listitem>
322 <listitem><para>Usare l'editor delle icone per creare i file grafici seguenti
323 in <filename>DirectoryIniziale/.dt/icons</filename>:</para>
324 <itemizedlist remap="Bullet2">
325 <listitem><para><filename>fax.m.pm</filename>, con dimensione 32x32 pixel
326 </para>
327 </listitem>
328 <listitem><para><filename>fax.t.pm</filename>, con dimensione 16x16 pixel
329 </para>
330 </listitem>
331 </itemizedlist>
332 </listitem>
333 <listitem><para>Fare doppio clic su "Ricaricare azioni" nel gruppo <filename>Strumenti_desktop</filename>.</para>
334 </listitem>
335 <listitem><para>Creare un file eseguibile di nome <filename>ComporreFax</filename>
336 in una dirctory per la quale si possieda l'autorizzazione di scrittura (ad
337 esempio, nella directory iniziale).</para>
338 </listitem>
339 </orderedlist>
340 </sect2>
341 <sect2 id="sag.cract.div.11">
342 <title id="sag.cract.mkr.8">Esempio di creazione di un'azione MAP<indexterm>
343 <primary>MAP, azioni</primary><secondary>esempio</secondary></indexterm><indexterm>
344 <primary>azioni</primary><secondary>esempio</secondary></indexterm></title>
345 <para>Si supponga che i file da inviare via fax vengano in genere creati con
346 l'Editor di testo e contengano il tipo di dati TEXTFILE (con nome *<filename>.txt</filename>).</para>
347 <para>Questa procedura aggiunge un'opzione &ldquo;Fax&rdquo; al menu Selezioni
348 associato al tipo di dati.</para>
349 <orderedlist>
350 <listitem><para>Aprire il file <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types/Fax.dt</filename> creato nell'esempio precedente.</para>
351 </listitem>
352 <listitem><para>Aggiungere al file la seguente definizione dell'azione di
353 mappatura:</para>
354 <programlisting>ACTION Fax
355 {
356    ARG_TYPE   TEXTFILE
357    TYPE       MAP
358    MAP_ACTION ComporreFax
359 }</programlisting>
360 </listitem>
361 <listitem><para>Salvare il file.</para>
362 </listitem>
363 <listitem><para>Copiare la definizione degli attributi per il tipo di dati
364 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
365 l'azione Fax al campo <command>ACTIONS</command>.</para>
366 <programlisting>DATA_ATTRIBUTES TEXTFILE
367 {
368    ACTIONS  Open,Print,Fax
369    ICON     Dtpenpd
370    &hellip;
371 }</programlisting>
372 </listitem>
373 <listitem><para>Salvare il file.</para>
374 </listitem>
375 <listitem><para>Aprire la Gestione di applicazioni e fare doppio clic su &ldquo;Ricaricare
376 azioni&rdquo; nel gruppo Strumenti_desktop.</para>
377 </listitem>
378 </orderedlist>
379 </sect2>
380 <sect2 id="sag.cract.div.12" role="Procedure">
381 <title id="sag.cract.mkr.9">Come ricaricare il database delle azioni e dei
382 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>
383 <secondary>rilettura</secondary></indexterm><indexterm><primary>database</primary>
384 <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>
385 <para>Perch&eacute; la definizioni delle azioni nuove o modificate abbiano
386 effetto, &egrave; necessario che il desktop rilegga il database.</para>
387 <itemizedlist>
388 <listitem><para>Aprire il gruppo Strumenti_desktop e fare doppio clic su &ldquo;Ricaricare
389 azioni&rdquo;.</para>
390 </listitem>
391 <listitem><para><symbol role="Variable">Oppure</symbol>, eseguire il comando:
392 </para>
393 <para remap="CodeIndent1"><command>dtaction ReloadActions</command></para>
394 </listitem>
395 </itemizedlist>
396 <para>ReloadActions &egrave; il nome dell'azione rappresentata dall'icona
397 &ldquo;Ricaricare azioni&rdquo;.</para>
398 <para>Il database delle azioni viene riletto anche quando l'utente:</para>
399 <itemizedlist remap="Bullet1">
400 <listitem><para>Effettua il login</para>
401 </listitem>
402 <listitem><para>Riavvia la Gestione dello spazio di lavoro</para>
403 </listitem>
404 <listitem><para>Salva un'azione nella finestra di Creare azione scegliendo
405 Salvare dal menu File</para>
406 </listitem>
407 </itemizedlist>
408 </sect2>
409 <sect2 id="sag.cract.div.13">
410 <title><indexterm><primary>icone</primary><secondary>di azioni</secondary>
411 <tertiary>creazione</tertiary></indexterm><indexterm><primary>icone</primary>
412 <secondary>di applicazioni</secondary><tertiary>creazione</tertiary></indexterm><indexterm>
413 <primary>file delle azioni</primary><secondary>creazione</secondary></indexterm>Creazione
414 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>
415 <para>Si definisce<indexterm><primary>file delle azioni</primary></indexterm> <emphasis>file dell'azione</emphasis> il file creato per fornire una rappresentazione
416 visiva dell'azione nella Gestione di file o nella Gestione di applicazioni.
417 </para>
418 <figure>
419 <title><emphasis>File delle azioni</emphasis> (detti anche <emphasis>icone
420 delle azioni</emphasis> o <emphasis>icone delle applicazioni</emphasis>) nella
421 Gestione di applicazioni</title>
422 <graphic id="sag.cract.grph.1" entityref="SAG.CrAct.fig.1"></graphic>
423 </figure>
424 <para>Poich&eacute; l'icona di questo file rappresenta un'azione, essa viene
425 detta anche <emphasis><indexterm><primary>icone delle azioni</primary></indexterm>icona
426 dell'azione</emphasis>. Se l'azione produce l'avvio di un'applicazione, la
427 stessa icona pu&ograve; essere chiamata <emphasis>icona dell'applicazione</emphasis>.</para>
428 <para>Facendo doppio clic sull'icona viene eseguita l'azione rappresentata.
429 L'icona dell'azione pu&ograve; fungere anche da area di rilascio.</para>
430 <sect3 id="sag.cract.div.14" role="Procedure">
431 <title>Come creare il file (l'icona) dell'azione</title>
432 <orderedlist>
433 <listitem><para>Creare un file eseguibile con lo stesso nome dell'azione<indexterm>
434 <primary>azioni</primary><secondary>nomi</secondary></indexterm>. Il contenuto
435 del file &egrave; irrilevante.</para>
436 </listitem>
437 </orderedlist>
438 <para>Ad esempio, se la definizione dell'azione fosse la seguente:</para>
439 <programlisting>ACTION App_preferita
440 {
441   EXEC_STRING  Appp -file %Arg_1%
442   DESCRIPTION  Avvia App_preferita
443   ICON         App_pref
444 }</programlisting>
445 <para>il file dell'azione sar&agrave; un file eseguibile di nome <filename>App_preferita</filename>. Nella Gestione di file e nella Gestione di applicazioni,
446 il file <filename>App_preferita</filename> user&agrave; 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&agrave; eseguita la stringa di esecuzione dell'azione, e
447 il testo di aiuto relativo all'icona sar&agrave; il contenuto del campo<indexterm>
448 <primary>aiuto</primary><secondary>sui file delle azioni</secondary></indexterm><indexterm>
449 <primary>DESCRIPTION, campo</primary></indexterm> <command>DESCRIPTION</command>
450 (<command>Avvia App_preferita</command>).</para>
451 </sect3>
452 <sect3 id="sag.cract.div.15">
453 <title><indexterm><primary>azioni</primary><secondary>etichette</secondary>
454 </indexterm><indexterm><primary>etichette</primary><secondary>azioni</secondary>
455 </indexterm><indexterm><primary>LABEL, campo delle azioni</primary></indexterm>Etichette
456 delle azioni</title>
457 <para>Se la definizione dell'azione include il campo <command>LABEL</command>,
458 il file dell'azione comparir&agrave; nella Gestione di file e nella Gestione
459 di applicazioni con l'etichetta specificata da questo campo anzich&eacute;
460 con il nome effettivo del file (<symbol role="Variable">nome_azione</symbol>).
461 Ad esempio, se la definizione dell'azione contiene quanto segue:</para>
462 <programlisting>ACTION App_preferita
463 {
464    LABEL Applicazione preferita
465    &hellip;
466 }</programlisting>
467 <para>l'icona dell'azione comparir&agrave; con l'etichetta &ldquo;Applicazione
468 preferita&rdquo;.</para>
469 </sect3>
470 </sect2>
471 <sect2 id="sag.cract.div.16">
472 <title id="sag.cract.mkr.10">Scelta dell'icona da utilizzare per un'azione<indexterm>
473 <primary>azioni</primary><secondary>icone</secondary></indexterm><indexterm>
474 <primary>icone</primary><secondary>di azioni</secondary></indexterm></title>
475 <para>Usare il campo <command>ICON</command> per specificare l'icona da utilizzare
476 nella Gestione di file e nella Gestione di applicazioni per rappresentare
477 l'azione.</para>
478 <para>Se non viene specificata alcuna icona, il sistema user&agrave; l'immagine
479 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>.
480 </para>
481 <figure>
482 <title>Icona predefinita per le azioni</title>
483 <graphic id="sag.cract.grph.2" entityref="SAG.CrAct.fig.2"></graphic>
484 </figure>
485 <para>L'icona predefinita per le azioni pu&ograve; essere modificata usando
486 la risorsa:<indexterm><primary>actionIcon, risorsa</primary></indexterm></para>
487 <programlisting>*actionIcon: <symbol role="Variable">file_icona</symbol></programlisting>
488 <para>dove <symbol role="Variable">file_icona</symbol> pu&ograve; essere un
489 nome base o un percorso assoluto.</para>
490 <para>Il valore del campo <command>ICON</command> pu&ograve; essere:<indexterm>
491 <primary>ICON, campo</primary><secondary>valori possibili</secondary></indexterm></para>
492 <itemizedlist remap="Bullet1">
493 <listitem><para>Il nome base di un file.</para>
494 <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
495 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>
496 e <filename>IconaGiochi.t.pm</filename> il nome base sar&agrave; <filename>IconaGiochi</filename>.</para>
497 <para>Se si utilizza il nome base, i file delle icone devono trovarsi in directory
498 incluse nel percorso di ricerca delle icone:</para>
499 <itemizedlist remap="Bullet2">
500 <listitem><para>Per le icone personali: <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/icons</filename></para>
501 </listitem>
502 <listitem><para>Per le icone di sistema: <filename>/etc/dt/appconfig/icons/</filename><symbol role="Variable">lingua</symbol></para>
503 </listitem>
504 </itemizedlist>
505 </listitem>
506 <listitem><para>Il percorso assoluto del file dell'icona, incluso il nome
507 completo del file.</para>
508 <para>L'uso del percorso assoluto &egrave; necessario solo se il file dell'icona
509 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 &egrave; inclusa nel percorso di ricerca delle icone,
510 il valore del campo <command>ICON</command> dovr&agrave; essere <filename>/doc/progetti/IconaGiochi.m.pm</filename>.</para>
511 </listitem>
512 </itemizedlist>
513 <para>La <!--Original XRef content: 'Tabella&numsp;10&hyphen;1'--><xref role="CodeOrFigureOrTable"
514 linkend="sag.cract.mkr.11"> indica le dimensioni con cui creare le icone e
515 i nomi da utilizzare per i rispettivi file.</para>
516 <table id="sag.cract.tbl.1" frame="topbot">
517 <title id="sag.cract.mkr.11">Nomi e dimensioni per le icone delle azioni</title>
518 <tgroup cols="3" colsep="0" rowsep="0">
519 <colspec colwidth="1.71in">
520 <colspec colwidth="2.25in">
521 <colspec colwidth="1.84in">
522 <thead>
523 <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>
524 <tbody>
525 <row>
526 <entry align="left" valign="top"><para>48 x 48</para></entry>
527 <entry align="left" valign="top"><para><symbol role="Variable">nome</symbol><filename>.l.bm</filename></para></entry>
528 <entry align="left" valign="top"><para><symbol role="Variable">nome</symbol><filename>.l.pm</filename></para></entry></row>
529 <row>
530 <entry align="left" valign="top"><para>32 x 32</para></entry>
531 <entry align="left" valign="top"><para><symbol role="Variable">nome</symbol><filename>.m.bm</filename></para></entry>
532 <entry align="left" valign="top"><para><symbol role="Variable">nome</symbol><filename>.m.pm</filename></para></entry></row>
533 <row>
534 <entry align="left" valign="top"><para>16 x 16</para></entry>
535 <entry align="left" valign="top"><para><symbol role="Variable">nome</symbol><filename>.t.bm</filename></para></entry>
536 <entry align="left" valign="top"><para><symbol role="Variable">nome</symbol><filename>.t.pm</filename></para></entry></row></tbody></tgroup></table>
537 </sect2>
538 <sect2 id="sag.cract.div.17" role="Procedure">
539 <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>
540 <para>&Egrave; possibile modificare qualsiasi azione disponibile sul sistema,
541 incluse le azioni predefinite.</para>
542 <note>
543 <para>Prestare molta attenzione nel modificare il database delle azioni predefinite.
544 Queste azioni sono state realizzate specificamente per applicazioni del desktop.
545 </para>
546 </note>
547 <orderedlist>
548 <listitem><para>Localizzare la definizione dell'azione da modificare.</para>
549 <para>Le directory predefinite per le definizioni delle azioni sono le seguenti:
550 </para>
551 <itemizedlist remap="Bullet2">
552 <listitem><para>Azioni predefinite: <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol></para>
553 </listitem>
554 <listitem><para>Azioni di sistema: <filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol></para>
555 </listitem>
556 <listitem><para>Azioni personali: <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types</filename></para>
557 <para><indexterm><primary>&lt;</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.
558 Per visualizzare un elenco delle directory utilizzate dal sistema per le azioni,
559 eseguire il comando:</para>
560 <para remap="CodeIndent1"><command>dtsearchpath -v</command><indexterm><primary>dtsearchpath</primary></indexterm></para>
561 <para>Il sistema in uso utilizza le directory elencate sotto<indexterm><primary>DTDATABASESEARCHPATH, variabile</primary><secondary>uso</secondary></indexterm> <systemitem>DTDATABASESEARCHPATH</systemitem>.</para>
562 </listitem>
563 </itemizedlist>
564 </listitem>
565 <listitem><para>Se necessario, copiare il testo della definizione dell'azione
566 in un file nuovo o esistente in una delle directory seguenti:</para>
567 <itemizedlist remap="Bullet2">
568 <listitem><para>Azioni di sistema: <filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol></para>
569 </listitem>
570 <listitem><para>Azioni personali: <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types</filename></para>
571 <para>Creare una copia delle azioni predefinite, evitando di editare i file
572 della directory <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol>.</para>
573 </listitem>
574 </itemizedlist>
575 </listitem>
576 <listitem><para>Editare la definizione dell'azione. Al termine, salvare il
577 file.</para>
578 </listitem>
579 <listitem><para>Fare doppio clic su &ldquo;Ricaricare azioni&rdquo; nel gruppo
580 Strumenti_desktop.</para>
581 </listitem>
582 </orderedlist>
583 </sect2>
584 <sect2 id="sag.cract.div.18">
585 <title id="sag.cract.mkr.12">Precedenza nelle definizioni delle azioni<indexterm>
586 <primary>azioni</primary><secondary>regole di precedenza</secondary></indexterm><indexterm>
587 <primary>precedenza</primary><secondary>nella composizione del database delle
588 azioni</secondary></indexterm></title>
589 <para>Quando un utente richiama un'azione, il sistema ricerca nel database
590 un'azione con un nome corrispondente. Se sono presenti pi&ugrave; azioni con
591 quel nome, il sistema utilizzer&agrave; determinate regole di precedenza per
592 decidere quale utilizzare.</para>
593 <itemizedlist remap="Bullet1">
594 <listitem><para>Se non specificato diversamente, la precedenza si basa sulla
595 posizione (directory) in cui si trova la definizione. L'elenco seguente riporta
596 l'ordine di precedenza utilizzato:</para>
597 <itemizedlist remap="Bullet2">
598 <listitem><para>Azioni personali (<symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types</filename>)</para>
599 </listitem>
600 <listitem><para>Azioni del sistema locale (<filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol>)</para>
601 </listitem>
602 <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
603 quelli inclusi nel percorso di ricerca delle applicazioni.</para>
604 </listitem>
605 <listitem><para>Azioni predefinite (<filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol>)</para>
606 </listitem>
607 </itemizedlist>
608 </listitem>
609 <listitem><para>All'interno di ogni directory, i file <filename>*.dt</filename>
610 vengono letti in ordine alfabetico.</para>
611 </listitem>
612 <listitem><para>Le azioni limitate da <filename><indexterm><primary>ARG_CLASS,
613 campo</primary></indexterm>ARG_CLASS</filename>, <filename><indexterm><primary>ARG_TYPE, campo</primary></indexterm>ARG_TYPE</filename>, <filename><indexterm>
614 <primary>ARG_MODE, campo</primary></indexterm>ARG_MODE</filename> o <filename><indexterm>
615 <primary>ARG_COUNT, campo</primary></indexterm>ARG_COUNT</filename> hanno
616 la precedenza sulle azioni non limitate. (L'impostazione predefinita per questi
617 quattro campi &egrave; <filename>*</filename>.)</para>
618 <para>Quando vengono applicate due o pi&ugrave; di queste limitazioni, l'ordine
619 di precedenza &egrave; il seguente:</para>
620 <itemizedlist remap="Bullet2">
621 <listitem><para><filename>ARG_CLASS</filename></para>
622 </listitem>
623 <listitem><para><filename>ARG_TYPE</filename></para>
624 </listitem>
625 <listitem><para><filename>ARG_MODE</filename></para>
626 </listitem>
627 <listitem><para><filename>ARG_COUNT</filename></para>
628 <para>Quando esistono due o pi&ugrave; limitazioni di tipo <filename>ARG_COUNT</filename>, l'ordine di precedenza &egrave; il seguente:</para>
629 </listitem>
630 <listitem><para>Valore intero specifico <symbol role="Variable">n</symbol></para>
631 </listitem>
632 <listitem><para><filename>&lt;</filename><symbol role="Variable">n</symbol></para>
633 </listitem>
634 <listitem><para><filename>></filename><symbol role="Variable">n</symbol></para>
635 </listitem>
636 <listitem><para><filename>*</filename></para>
637 </listitem>
638 </itemizedlist>
639 </listitem>
640 </itemizedlist>
641 <para>Ad esempio, si considerino le seguenti parti della definizione dell'azione
642 ModificaIllustrazioni:</para>
643 <programlisting>ACTION ModificaIllustrazioni
644 # ModificaIllustrazioni-1
645 {
646    ARG_TYPE   XWD
647    &hellip;
648 }
649
650 ACTION ModificaIllustrazioni
651 # ModificaIllustrazioni-2
652 {
653    ARG_COUNT  0
654    &hellip;
655 }
656
657 ACTION ModificaIllustrazioni
658 # ModificaIllustrazioni-3
659 {
660    ARG_TYPE   *
661    &hellip;
662 }</programlisting>
663 <para>Facendo semplicemente doppio clic sull'icona dell'azione ModificaIllustrazioni,
664 senza specificare alcun argomento, verr&agrave; eseguito ModificaIllustrazioni-2,
665 perch&eacute; <filename>ARG_COUNT 0</filename> ha la precedenza. Specificando
666 come argomento un file di tipo XWD verr&agrave; usato ModificaIllustrazioni-1,
667 poich&eacute; &egrave; specificato l'<command>ARG_TYPE</command> XWD. Specificando
668 come argomento un file di qualsiasi altro tipo verr&agrave; eseguito ModificaIllustrazioni-3.
669 </para>
670 </sect2>
671 </sect1>
672 <sect1 id="sag.cract.div.19">
673 <title id="sag.cract.mkr.13">Creazione di una stringa di esecuzione per un'azione
674 COMMAND<indexterm><primary>azioni</primary><secondary>stringa di esecuzione</secondary></indexterm><indexterm><primary>stringa di esecuzione</primary>
675 </indexterm><indexterm><primary>riga comandi per le azioni</primary></indexterm><indexterm>
676 <primary>azioni</primary><secondary>stringa di esecuzione</secondary></indexterm><indexterm>
677 <primary>COMMAND, azione</primary><secondary>stringa di esecuzione</secondary>
678 </indexterm><indexterm><primary>&lt;</primary></indexterm><indexterm><primary>$nopage>EXEC_STRING, campo, Vedere stringa di esecuzione[EXEC_STRING, campo</primary><secondary>aaa]</secondary></indexterm></title>
679 <para>Un'azione di tipo <command><indexterm><primary>COMMAND, azione</primary>
680 <secondary>campi richiesti</secondary></indexterm>COMMAND</command> deve contenere
681 necessariamente almeno due campi: <command>ACTION</command> ed <filename>EXEC_STRING</filename>.</para>
682 <programlisting>ACTION <symbol role="Variable">nome_azione</symbol> 
683 {
684     EXEC_STRING <symbol role="Variable">stringa_di_esecuzione</symbol> 
685 }</programlisting>
686 <para>La stringa di esecuzione &egrave; la parte pi&ugrave; importante della
687 definizione di un'azione <command>COMMAND</command>. Essa utilizza una sintassi
688 simile a quella usata per le righe comandi nelle finestre di terminale, ma
689 include alcuni componenti aggiuntivi per la gestione dei file e delle stringhe
690 usate come argomenti.</para>
691 <sect2 id="sag.cract.div.20">
692 <title><indexterm><primary>stringa di esecuzione</primary><secondary>caratteristiche
693 generali</secondary></indexterm>Caratteristiche generali delle stringhe di
694 esecuzione</title>
695 <para>Le stringhe di esecuzione possono includere:</para>
696 <itemizedlist remap="Bullet1">
697 <listitem><para>Argomenti in forma di file o di altro tipo</para>
698 </listitem>
699 <listitem><para>Componenti della sintassi delle shell</para>
700 </listitem>
701 <listitem><para>Nomi o percorsi assoluti di file eseguibili</para>
702 </listitem>
703 </itemizedlist>
704 <sect3 id="sag.cract.div.21">
705 <title>Argomenti delle azioni<indexterm><primary>azioni</primary><secondary>argomenti</secondary></indexterm><indexterm><primary>argomenti</primary><secondary>delle azioni</secondary></indexterm></title>
706 <para>Un argomento &egrave; un'informazione richiesta da un comando o da
707 un'applicazione per essere eseguita correttamente. Ad esempio, si consideri
708 la riga comandi usata per aprire un file nell'Editor di testo:</para>
709 <programlisting>dtpad <symbol role="Variable">nomefile</symbol></programlisting>
710 <para>In questo comando, <symbol role="Variable">nomefile</symbol> &egrave;
711 un argomento del comando <command>dtpad</command>.</para>
712 <para>Come i comandi e le applicazioni, anche le azioni possono avere argomenti.
713 Un'azione <command>COMMAND</command> pu&ograve; usare due tipi di dati:</para>
714 <itemizedlist remap="Bullet1">
715 <listitem><para>File</para>
716 </listitem>
717 <listitem><para>Stringhe</para>
718 </listitem>
719 </itemizedlist>
720 </sect3>
721 <sect3 id="sag.cract.div.22">
722 <title>Uso di una shell nelle stringhe di esecuzione<indexterm><primary>stringa
723 di esecuzione</primary><secondary>sintassi della shell</secondary></indexterm><indexterm>
724 <primary>shell</primary><secondary>sintassi nella stringa di esecuzione</secondary>
725 </indexterm></title>
726 <para>Le stringhe di esecuzione vengono eseguite direttamente, non attraverso
727 una shell. &Egrave; possibile, tuttavia, specificare una stringa che preveda
728 l'uso di una shell.</para>
729 <para>Ad esempio:</para>
730 <programlisting>EXEC_STRING \
731         /bin/sh -c \
732         'tar -tvf %(File)Arg_1% 2>&amp;1 | \${PAGER:-more};\
733         echo &ldquo;\\n*** Scegliere Chiudere per uscire ***&ldquo;'</programlisting>
734 </sect3>
735 <sect3 id="sag.cract.div.23">
736 <title>Nome o percorso assoluto dell'eseguibile<indexterm><primary>stringa
737 di esecuzione</primary><secondary>indicazione dell'</secondary></indexterm><indexterm>
738 <primary>eseguibile</primary></indexterm></title>
739 <para>Se l'applicazione si trova in una directory inclusa nella variabile<indexterm>
740 <primary>PATH, variabile</primary></indexterm> PATH si pu&ograve; usare semplicemente
741 il nome del file eseguibile. Se si trova in un'altra posizione occorre specificare
742 il<indexterm><primary>stringa di esecuzione</primary><secondary>uso del percorso
743 assoluto</secondary></indexterm> percorso assoluto dell'eseguibile.</para>
744 </sect3>
745 </sect2>
746 <sect2 id="sag.cract.div.24">
747 <title id="sag.cract.mkr.14">Creazione di un'azione che non utilizzi argomenti<indexterm>
748 <primary>stringa di esecuzione</primary><secondary>senza argomenti</secondary>
749 </indexterm><indexterm><primary>azioni</primary><secondary>senza argomenti</secondary></indexterm><indexterm><primary>azioni</primary><secondary>senza
750 dati</secondary></indexterm></title>
751 <para>Usare per l'<filename>EXEC_STRING</filename> la stessa sintassi richiesta
752 per avviare l'applicazione da una riga comandi.</para>
753 <sect3 id="sag.cract.div.25">
754 <title>Esempi</title>
755 <itemizedlist remap="Bullet1">
756 <listitem><para>Questa stringa di esecuzione fa parte di un'azione che avvia
757 il client X <command>xcutsel</command>.</para>
758 <para remap="CodeIndent1"><computeroutput>EXEC_STRING xcutsel</computeroutput></para>
759 </listitem>
760 <listitem><para>Questa stringa di esecuzione avvia il client <command>xclock</command> come orologio digitale. La riga comandi include un'opzione ma non
761 richiede argomenti.</para>
762 <para remap="CodeIndent1"><computeroutput>EXEC_STRING xclock -digital</computeroutput></para>
763 </listitem>
764 </itemizedlist>
765 </sect3>
766 </sect2>
767 <sect2 id="sag.cract.div.26">
768 <title id="sag.cract.mkr.15">Creazione di un'azione che accetti il rilascio
769 di un file<indexterm><primary>stringa di esecuzione</primary><secondary>abilitazione
770 del rilascio dei file</secondary></indexterm><indexterm><primary>azioni</primary>
771 <secondary>accettazione del rilascio di un file</secondary></indexterm><indexterm>
772 <primary>area di rilascio</primary><secondary>icone delle azioni</secondary>
773 </indexterm><indexterm><primary>rilascio dei file, accettazione nelle azioni</primary></indexterm></title>
774 <para>Specificare l'argomento usando la seguente sintassi:</para>
775 <programlisting>%Arg_<symbol role="Variable">n</symbol>%</programlisting>
776 <indexterm><primary>Arg_n, sintassi</primary></indexterm>
777 <para>oppure</para>
778 <programlisting>%(File)Arg_<symbol role="Variable">n</symbol>%</programlisting>
779 <para>Il componente <filename>(File)</filename> &egrave; opzionale, poich&eacute;
780 nell'impostazione predefinita gli argomenti forniti ad <filename>Arg_</filename><symbol role="Variable">n</symbol> vengono interpretati automaticamente come file.
781 (Per informazioni sull'uso della sintassi <filename>%(String)Arg_</filename><symbol role="Variable">n</symbol><filename>%</filename>, vedere <!--Original XRef
782 content: '&ldquo;Interpretazione di un argomento file c--><!--ome stringa&rdquo;
783 a pagina&numsp;173'--><xref role="SecTitleAndPageNum" linkend="sag.cract.mkr.19">.)
784 </para>
785 <para>Questa sintassi permette di rilasciare un file di dati sull'icona dell'azione
786 per avviare l'azione usando quel file come argomento. Essa sostituisce l'argomento
787 <symbol role="Variable">n</symbol> nella riga comandi. Il file pu&ograve;
788 essere sia locale che remoto.</para>
789 <sect3 id="sag.cract.div.27">
790 <title>Esempi</title>
791 <itemizedlist remap="Bullet1">
792 <listitem><para>Questa stringa di esecuzione esegue il comando <command>wc
793 -w</command> usando un file rilasciato come parametro.
794 </para>
795 <para remap="CodeIndent1"><computeroutput>EXEC_STRING wc -w %Arg_1%</computeroutput></para>
796 </listitem>
797 <listitem><para>Questo esempio mostra una parte della definizione di un'azione
798 che accetta solo directory come argomenti. Rilasciando una directory sull'icona
799 dell'azione, viene visualizzato l'elenco di tutti i file della directory che
800 possiedono le autorizzazioni di lettura e scrittura.</para>
801 <programlisting>ACTION Elenco_file_scrivibili
802 {
803         ARG_TYPE FOLDER
804         EXEC_STRING /bin/sh -c  'ls  -l  %Arg_1%  |  grep rw-'  
805         &hellip;
806 }</programlisting>
807 </listitem>
808 </itemizedlist>
809 </sect3>
810 </sect2>
811 <sect2 id="sag.cract.div.28">
812 <title id="sag.cract.mkr.16">Creazione di un'azione che richieda un file come
813 argomento<indexterm><primary>stringa di esecuzione</primary><secondary>richiesta
814 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>
815 <para>Inserire la richiesta dell'argomento nella stringa di esecuzione usando
816 la seguente sintassi:</para>
817 <programlisting>%(File)"<symbol>richiesta</symbol>"%</programlisting>
818 <para>Questa sintassi crea un'azione che chiede di specificare il un nome
819 di un file quando l'utente fa doppio clic sull'icona.</para>
820 <para>Ad esempio, questa stringa di esecuzione visualizza un riquadro di dialogo
821 che richiede un argomento per il comando <command>wc -w</command>:</para>
822 <programlisting>EXEC_STRING wc -w %(File)"Contare le parole del file:"%</programlisting>
823 </sect2>
824 <sect2 id="sag.cract.div.29">
825 <title id="sag.cract.mkr.17">Creazione di un'azione che accetti il rilascio
826 di un file o che richieda un file<indexterm><primary>azioni</primary><secondary>accettazione del rilascio o richiesta di argomenti</secondary></indexterm></title>
827 <para>Inserire la richiesta dell'argomento nella stringa di esecuzione usando
828 la seguente sintassi:</para>
829 <programlisting>%Arg_<symbol role="Variable">n</symbol>&ldquo;<symbol role="Variable">richiesta</symbol>&ldquo;%</programlisting>
830 <para>oppure</para>
831 <programlisting>%(File)Arg_<symbol role="Variable">n</symbol>&ldquo;<symbol role="Variable">richiesta</symbol>&ldquo;%</programlisting>
832 <para>Questa sintassi produce un'azione che:</para>
833 <itemizedlist remap="Bullet1">
834 <listitem><para>Accetta come argomento un file rilasciato sull'icona dell'azione.
835 </para>
836 </listitem>
837 <listitem><para>Visualizza un riquadro di dialogo che chiede di specificare
838 il un nome di un file quando l'utente fa doppio clic sull'icona.</para>
839 </listitem>
840 </itemizedlist>
841 <para>Ad esempio, questa stringa di esecuzione esegue il comando <command>lp -oraw</command> sul file rilasciato sull'icona dell'azione. Se l'azione
842 viene avviata facendo doppio clic sull'icona, compare un riquadro di dialogo
843 che chiede di inserire il nome del file.</para>
844 <programlisting>EXEC_STRING lp -oraw %Arg_1"File da stampare:"%</programlisting>
845 </sect2>
846 <sect2 id="sag.cract.div.30">
847 <title id="sag.cract.mkr.18">Creazione di un'azione che richieda un argomento
848 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>
849 <primary>argomenti</primary><secondary>parametri diversi dai file</secondary>
850 </indexterm><indexterm><primary>stringhe, uso come argomenti per le azioni</primary></indexterm><indexterm><primary>azioni</primary><secondary>argomenti
851 diversi dai file</secondary></indexterm></title>
852 <para>Per specificare un parametro diverso da un file, usare la sintassi:
853 </para>
854 <programlisting>%"<symbol role="Variable">richiesta</symbol>"%</programlisting>
855 <para>oppure</para>
856 <programlisting>%(String)"<symbol role="Variable">richiesta</symbol>"%</programlisting>
857 <para>Il componente <filename>(String)</filename> &egrave; opzionale, poich&eacute;
858 nell'impostazione predefinita il testo tra virgolette viene interpretato automaticamente
859 come una stringa. Questa sintassi visualizza un riquadro di dialogo che richiede
860 un parametro diverso da un file; non usare questa sintassi per richiedere
861 il nome di un file.</para>
862 <para>Ad esempio, questa stringa di esecuzione esegue il comando <command>xwd</command> e richiede di aggiungere un valore ad ogni pixel:</para>
863 <programlisting>EXEC_STRING xwd -add %"Aggiungere un valore:"% -out %Arg_1"File:"%
864 </programlisting>
865 </sect2>
866 <sect2 id="sag.cract.div.31">
867 <title id="sag.cract.mkr.19">Interpretazione di un argomento file come stringa</title>
868 <para>Usare per l'argomento la seguente sintassi:</para>
869 <programlisting>%(String)Arg_<symbol role="Variable">n</symbol>%</programlisting>
870 <para>Ad esempio, questa stringa di esecuzione stampa un file usando come
871 intestazione il nome del file con il comando <command>lp -t</command><symbol role="Variable">intestazione nomefile.</symbol></para>
872 <programlisting>EXEC_STRING lp -t%(String)Arg_1% %(File)Arg_1"File da stampare:"%
873 </programlisting>
874 </sect2>
875 <sect2 id="sag.cract.div.32">
876 <title id="sag.cract.mkr.20">Aggiunta dell'utilizzo di una shell in un'azione<indexterm>
877 <primary>azioni</primary><secondary>uso delle shell</secondary></indexterm><indexterm>
878 <primary>shell</primary><secondary>uso nelle azioni</secondary></indexterm><indexterm>
879 <primary>shell</primary><secondary>uso nelle azioni</secondary></indexterm></title>
880 <para>Specificare l'uso della shell nella stringa di esecuzione:</para>
881 <programlisting>/bin/sh -c '<symbol role="Variable">comando</symbol>'
882 /bin/ksh -c '<symbol role="Variable">comando</symbol>'
883 /bin/csh -c '<symbol role="Variable">comando</symbol>'</programlisting>
884 <sect3 id="sag.cract.div.33">
885 <title>Esempi</title>
886 <itemizedlist remap="Bullet1">
887 <listitem><para>Questa stringa di esecuzione produce un'azione che utilizza
888 il piping di una shell.</para>
889 </listitem>
890 </itemizedlist>
891 <programlisting>EXEC_STRING /bin/sh -c 'ps | lp'</programlisting>
892 <itemizedlist remap="Bullet1">
893 <listitem><para>La stringa di esecuzione seguente &egrave; pi&ugrave; complessa,
894 poich&eacute; richiede l'uso di una shell ed accetta un file come argomento.
895 </para>
896 </listitem>
897 </itemizedlist>
898 <programlisting>EXEC_STRING /bin/sh -c 'tbl %Arg_1&ldquo;Pagina man:&ldquo;% | troff -man'
899 </programlisting>
900 <itemizedlist remap="Bullet1">
901 <listitem><para>Questa stringa di esecuzione richiede come argomento un file
902 in formato compresso. L'azione decomprime il file e lo stampa usando <command>lp -oraw</command>.</para>
903 </listitem>
904 </itemizedlist>
905 <programlisting>EXEC_STRING  /bin/sh -c 'cat %Arg_1 &ldquo;File da stampare:&ldquo;% | \
906              uncompress | lp -oraw'</programlisting>
907 <itemizedlist remap="Bullet1">
908 <listitem><para>Questa stringa di esecuzione esegue uno script di una shell.
909 </para>
910 </listitem>
911 </itemizedlist>
912 <programlisting>EXEC_STRING /usr/local/bin/AvviaClientGnu</programlisting>
913 </sect3>
914 </sect2>
915 <sect2 id="sag.cract.div.34">
916 <title>Creazione di azioni COMMAND che accettino pi&ugrave; argomenti (file)<indexterm>
917 <primary>stringa di esecuzione</primary><secondary>accettazione di pi&ugrave;</secondary></indexterm><indexterm><primary>file come argomenti</primary>
918 </indexterm><indexterm><primary>argomenti</primary><secondary>per l'</secondary>
919 </indexterm><indexterm><primary>indicazione di pi&ugrave;</primary></indexterm><indexterm>
920 <primary>file</primary></indexterm></title>
921 <para>Le azioni possono gestire pi&ugrave; file specificati come argomenti
922 in tre modi:</para>
923 <itemizedlist remap="Bullet1">
924 <listitem><para>L'azione viene eseguita ripetutamente, una volta per ogni
925 argomento. Quando l'<filename>EXEC_STRING</filename> contiene la specifica
926 di un unico argomento e l'utente rilascia un gruppo di due o pi&ugrave; file
927 sull'icona dell'azione, l'azione viene eseguita separatamente per ognuno dei
928 file accettati come argomenti.</para>
929 <para>Ad esempio, se vengono forniti pi&ugrave; argomenti per un'azione con
930 la seguente definizione:</para>
931 <programlisting>ACTION VisualizzaImmagine
932 {
933    EXEC_STRING xwud -in %Arg_1%
934    &hellip;
935 }</programlisting>
936 <para>l'azione VisualizzaImmagine verr&agrave; eseguita ripetutamente su tutti
937 i file.</para>
938 </listitem>
939 <listitem><para>L'azione pu&ograve; usare due o pi&ugrave; argomenti non intercambiabili.
940 Ad esempio, l'azione:</para>
941 <para remap="CodeIndent1"><command>xsetroot -cursor <symbol role="Variable">filecursore filemaschera</symbol></command></para>
942 <para>richiede due file diversi in un ordine specifico.</para>
943 </listitem>
944 <listitem><para>L'azione pu&ograve; eseguire lo stesso comando sul complesso
945 dei file specificati come argomento. Ad esempio, l'azione:</para>
946 <para remap="CodeIndent1"><computeroutput>pr <symbol role="Variable">file</symbol> [<symbol role="Variable">file</symbol> &hellip;]</computeroutput></para>
947 <para>stamper&agrave; uno o pi&ugrave; file in un unico lavoro di stampa.
948 </para>
949 </listitem>
950 </itemizedlist>
951 <sect3 id="sag.cract.div.35">
952 <title id="sag.cract.mkr.21">Creazione di un'azione con argomenti non intercambiabili<indexterm>
953 <primary>azioni</primary><secondary>argomenti non intercambiabili</secondary>
954 </indexterm><indexterm><primary>argomenti</primary><secondary>parametri non
955 intercambiabili</secondary></indexterm></title>
956 <para>Usare una delle seguenti convenzioni di sintassi:</para>
957 <itemizedlist remap="Bullet1">
958 <listitem><para>Per fare in modo che l'azione richieda i nomi dei file, usare
959 questa sintassi per ognuno degli argomenti:</para>
960 <para remap="CodeIndent1"><computeroutput>%(File)&ldquo;<symbol role="Variable">richiesta</symbol>&rdquo;%</computeroutput></para>
961 <para>Usare una stringa di <symbol role="Variable">richiesta</symbol> diversa
962 per ogni argomento.</para>
963 <para>Ad esempio, questa stringa di esecuzione richiede due file.</para>
964 <para remap="CodeIndent1"><computeroutput>EXEC_STRING xsetroot -cursor %(File)&ldquo;Bitmap
965 del cursore:&rdquo;% \ %(File)&ldquo;Bitmap della maschera:&rdquo;%</computeroutput></para>
966 </listitem>
967 <listitem><para>Per fare in modo che l'azione accetti il rilascio dei file,
968 usare questa sintassi per ognuno degli argomenti:</para>
969 <para remap="CodeIndent1"><computeroutput>%Arg_<symbol role="Variable">n</symbol>%</computeroutput></para>
970 <para>usando valori diversi di <symbol role="Variable">n</symbol> per ogni
971 argomento. Ad esempio:</para>
972 <para remap="CodeIndent1"><computeroutput>EXEC_STRING diff %Arg_1% %Arg_2%</computeroutput></para>
973 </listitem>
974 </itemizedlist>
975 </sect3>
976 <sect3 id="sag.cract.div.36">
977 <title id="sag.cract.mkr.22">Creazione di un'azione con argomenti intercambiabili<indexterm>
978 <primary>azioni</primary><secondary>argomenti intercambiabili</secondary>
979 </indexterm><indexterm><primary>argomenti</primary><secondary>parametri intercambiabili</secondary></indexterm></title>
980 <para>Usare una delle seguenti convenzioni di sintassi:</para>
981 <itemizedlist remap="Bullet1">
982 <listitem><para>Per creare un'azione che accetti il rilascio dei file ed esegua
983 un comando nella forma</para>
984 <para><symbol role="Variable">comando file</symbol><subscript>1</subscript> <symbol role="Variable">file</symbol><subscript>2</subscript> &hellip;, usare questa
985 sintassi per i file di argomento:</para>
986 <para remap="CodeIndent1"><computeroutput>%Args%</computeroutput></para>
987 </listitem>
988 <listitem><para>Per creare un'azione che accetti il rilascio di due o pi&ugrave;
989 file, o che facendo doppio clic sull'icona visualizzi una richiesta per un
990 singolo file, usare questa sintassi per gli argomenti:</para>
991 <para remap="CodeIndent1"><computeroutput>%Arg_1&ldquo;<symbol role="Variable">richiesta</symbol>&rdquo;% %Args%</computeroutput></para>
992 <para>L'azione eseguir&agrave; il comando nella forma: <symbol role="Variable">comando file</symbol><subscript>1</subscript> <symbol role="Variable">file</symbol> <subscript>2</subscript> &hellip;.</para>
993 </listitem>
994 </itemizedlist>
995 <sect4 id="sag.cract.div.37">
996 <title>Esempi</title>
997 <itemizedlist remap="Bullet1">
998 <listitem><para>Questa stringa di esecuzione crea un'azione che esegue il
999 comando</para>
1000 </listitem>
1001 </itemizedlist>
1002 <programlisting>pr <symbol role="Variable">file</symbol><subscript>1</subscript> <symbol role="Variable">file</symbol><subscript>2</subscript></programlisting>
1003 <para>accettando pi&ugrave; file come argomenti.</para>
1004 <programlisting>EXEC_STRING pr %Args%</programlisting>
1005 <itemizedlist remap="Bullet1">
1006 <listitem><para>Questa stringa di esecuzione crea un'azione simile a quella
1007 dell'esempio precedente, ma in questo caso facendo doppio clic sull'icona
1008 (senza specificare argomenti) viene visualizzata una richiesta.</para>
1009 </listitem>
1010 </itemizedlist>
1011 <programlisting>EXEC_STRING pr %Arg_1"File da stampare:"% %Args%</programlisting>
1012 </sect4>
1013 </sect3>
1014 <sect3 id="sag.cract.div.38">
1015 <title id="sag.cract.mkr.23">Creazione di un'azione che accetti il rilascio
1016 di pi&ugrave; file<indexterm><primary>azioni</primary><secondary>accettazione
1017 del rilascio di pi&ugrave;</secondary></indexterm><indexterm><primary>file</primary></indexterm></title>
1018 <para>Per fare in modo che l'azione accetti il rilascio di pi&ugrave; file
1019 ed esegua un comando nella forma:</para>
1020 <programlisting><symbol role="Variable">comando</symbol> <symbol role="Variable">file</symbol> <subscript>1</subscript><symbol role="Variable">file</symbol><subscript>
1021 2</subscript> &hellip;</programlisting>
1022 <para>usare la sintassi:</para>
1023 <programlisting>%Args%</programlisting>
1024 <sect4 id="sag.cract.div.39">
1025 <title>Esempi</title>
1026 <itemizedlist remap="Bullet1">
1027 <listitem><para>Questa stringa di esecuzione esegue uno script di nome Controllo
1028 su pi&ugrave; file:</para>
1029 </listitem>
1030 </itemizedlist>
1031 <programlisting>EXEC_STRING   /usr/local/bin/Controllo \
1032               %Arg_1&ldquo;File da controllare:&ldquo;% %Args%</programlisting>
1033 <itemizedlist remap="Bullet1">
1034 <listitem><para>Questa stringa di esecuzione esegue il comando <command>lp
1035 -oraw</command> su pi&ugrave; file:</para>
1036 </listitem>
1037 </itemizedlist>
1038 <programlisting>EXEC_STRING lp -oraw %Arg_1&ldquo;File da stampare:&ldquo;% %Args%
1039 </programlisting>
1040 </sect4>
1041 </sect3>
1042 </sect2>
1043 </sect1>
1044 <sect1 id="sag.cract.div.40">
1045 <title id="sag.cract.mkr.24">Supporto di finestre ed emulatori di terminale
1046 per le azioni COMMAND<indexterm><primary>azioni</primary><secondary>supporto
1047 di finestre</secondary></indexterm><indexterm><primary>emulatore di terminale</primary><secondary>uso per le azioni</secondary></indexterm></title>
1048 <para>Le azioni <command>COMMAND</command> supportano le finestre del desktop
1049 in diversi modi.</para>
1050 <itemizedlist remap="Bullet1">
1051 <listitem><para>Se l'applicazione dispone di una propria finestra, l'azione
1052 pu&ograve; essere scritta in modo da non richiedere alcun supporto aggiuntivo.
1053 Questa opzione viene usata anche quando un'azione esegue un comando che non
1054 richiede un input diretto dell'utente e non produce alcun output.</para>
1055 </listitem>
1056 <listitem><para>Se l'applicazione deve essere eseguita in una finestra di
1057 emulazione di terminale, l'azione pu&ograve; essere scritta in modo da aprire
1058 una finestra e quindi eseguirvi l'applicazione. Esistono diverse opzioni per
1059 la scelta del terminale.</para>
1060 </listitem>
1061 </itemizedlist>
1062 <sect2 id="sag.cract.div.41">
1063 <title id="sag.cract.mkr.25">Indicazione del supporto di finestre per l'azione</title>
1064 <para>Usare il campo <filename>WINDOW_TYPE</filename> per specificare il tipo
1065 di supporto delle finestre richiesto dall'azione.</para>
1066 <informaltable>
1067 <tgroup cols="2" colsep="0" rowsep="0">
1068 <colspec colwidth="159*">
1069 <colspec colwidth="369*">
1070 <tbody>
1071 <row>
1072 <entry align="left" valign="top"><para><indexterm><primary>WINDOW_TYPE, campo</primary></indexterm>TIPO DI FINESTRA</para></entry>
1073 <entry align="left" valign="top"><para>Supporto di finestre fornito</para></entry>
1074 </row>
1075 <row>
1076 <entry align="left" valign="top"><para><filename><indexterm><primary>NO_STDIO,
1077 supporto a finestre</primary></indexterm>NO_STDIO</filename></para></entry>
1078 <entry align="left" valign="top"><para>Nessuno. Usare <filename>NO_STDIO</filename>
1079 se l'applicazione ha una propria finestra, o se il comando non produce alcun
1080 output visibile.</para></entry></row>
1081 <row>
1082 <entry align="left" valign="top"><para><filename><indexterm><primary>PERM_TERMINAL,
1083 supporto a finestre</primary></indexterm>PERM_TERMINAL</filename></para></entry>
1084 <entry align="left" valign="top"><para>Finestra di emulazione di terminale
1085 permanente. L'azione apre una finestra di terminale che rimane aperta fino
1086 a quando non viene chiusa esplicitamente, e in cui l'utente ha la possibilit&agrave;
1087 di inserire informazioni. Usare questa opzione con i comandi che accettano
1088 un input, producono un output e quindi terminano (ad esempio, <command>ls</command> <symbol role="Variable">directory</symbol>).</para></entry></row>
1089 <row>
1090 <entry align="left" valign="top"><para><command><indexterm><primary>TERMINAL,
1091 supporto a finestre</primary></indexterm>TERMINAL</command></para></entry>
1092 <entry align="left" valign="top"><para>Finestra di emulazione di terminale
1093 temporanea. L'azione apre una finestra di terminale che si chiude non appena
1094 il comando &egrave; completato. Usare questa opzione con i comandi eseguiti
1095 a schermo intero (ad esempio, <command>vi</command>).</para></entry></row>
1096 </tbody></tgroup></informaltable>
1097 </sect2>
1098 <sect2 id="sag.cract.div.42">
1099 <title id="sag.cract.mkr.26">Indicazione di opzioni per l'emulatore di terminale<indexterm>
1100 <primary>emulatore di terminale</primary><secondary>opzioni della riga comandi
1101 per le azioni</secondary></indexterm><indexterm><primary>azioni</primary>
1102 <secondary>opzioni per il terminale</secondary></indexterm></title>
1103 <para>Usare il campo <filename>TERM_OPTS</filename> nella definizione dell'azione
1104 per specificare opzioni precise per il comando di avvio dell'emulatore di
1105 terminale.</para>
1106 <para>Ad esempio, l'azione seguente richiede di specificare l'host di esecuzione:
1107 </para>
1108 <programlisting>ACTION TermSuSistemaScelto
1109 {
1110    WINDOW_TYPE    PERM_TERMINAL
1111    EXEC_HOST      %(String)"Terminale remoto su:"%
1112    TERM_OPTS      -title %(String)"Titolo della finestra:"%
1113    EXEC_STRING    $SHELL
1114 }</programlisting>
1115 </sect2>
1116 <sect2 id="sag.cract.div.43">
1117 <title id="sag.cract.mkr.27">Modifica dell'emulatore di terminale predefinito<indexterm>
1118 <primary>emulatore di terminale</primary><secondary>impostazione predefinita
1119 per le azioni</secondary></indexterm><indexterm><primary>azioni</primary>
1120 <secondary>supporto di un terminale</secondary></indexterm><indexterm><primary>azioni</primary><secondary>terminale predefinito</secondary></indexterm></title>
1121 <para>L'emulatore di terminale predefinito per le azioni &egrave; <command>dtterm</command>. &Egrave; tuttavia possibile impostare un diverso emulatore
1122 di terminale da usare quando l'azione non specifica il tipo richiesto in modo
1123 esplicito.</para>
1124 <para>La riga comandi dell'emulatore di terminale usato dalle azioni deve
1125 comprendere le seguenti opzioni:</para>
1126 <itemizedlist remap="Bullet1">
1127 <listitem><para><command>-title</command> <symbol role="Variable">titolo_finestra</symbol></para>
1128 </listitem>
1129 <listitem><para><command>-e</command> <symbol role="Variable">comando</symbol>
1130 </para>
1131 </listitem>
1132 </itemizedlist>
1133 <para>L'emulatore di terminale predefinito per le azioni viene determinato
1134 da due risorse:</para>
1135 <itemizedlist remap="Bullet1">
1136 <listitem><para><indexterm><primary>localTerminal, risorsa</primary></indexterm>La
1137 risorsa <command>localTerminal</command> specifica l'emulatore di terminale
1138 usato dalle applicazioni locali.</para>
1139 <para remap="CodeIndent1"><computeroutput>*localTerminal: <symbol role="Variable">terminale</symbol></computeroutput></para>
1140 <para>Ad esempio:</para>
1141 <para>*localTerminal: xterm</para>
1142 </listitem>
1143 <listitem><para id="sag.cract.mkr.28">La risorsa <systemitem>remoteTerminal</systemitem> specifica l'emulatore di terminale usato dalle applicazioni
1144 remote.</para>
1145 </listitem>
1146 </itemizedlist>
1147 <programlisting>*remoteTerminal: <symbol role="Variable">host</symbol>:<symbol role="Variable">terminale</symbol> [,<symbol role="Variable">host</symbol>:<symbol role="Variable">terminale</symbol>&hellip;]</programlisting>
1148 <para>Ad esempio:</para>
1149 <programlisting>*remoteTerminal: sysibm1:/usr/bin/xterm,syshp2:/usr/bin/yterm
1150 </programlisting>
1151 </sect2>
1152 </sect1>
1153 <sect1 id="sag.cract.div.44">
1154 <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
1155 delle azioni a determinati argomenti</title>
1156 <para>La restrizione di un'azione a un determinato tipo di argomenti la rende
1157 pi&ugrave; precisa. Ad esempio, pu&ograve; essere utile restringere un'azione
1158 che richiami un visualizzatore di file PostScript specificando che l'azione
1159 pu&ograve; accettare come argomenti solo file PostScript; con la restrizione,
1160 l'azione restituir&agrave; un messaggio di errore se verr&agrave; specificato
1161 un file non PostScript.</para>
1162 <para>Si possono restringere le azioni in base ai seguenti fattori:</para>
1163 <itemizedlist remap="Bullet1">
1164 <listitem><para>Il tipo di dati del file da specificare come argomento.</para>
1165 </listitem>
1166 <listitem><para>Il numero degli argomenti &mdash; ad esempio, nessun argomento
1167 oppure uno o pi&ugrave; argomenti. Questo permette di ottenere un comportamento
1168 diverso quando si fa doppio clic sull'icona e quando si rilasciano due o pi&ugrave;
1169 file.</para>
1170 </listitem>
1171 <listitem><para>La modalit&agrave; di lettura/scrittura dell'argomento.</para>
1172 </listitem>
1173 </itemizedlist>
1174 <sect2 id="sag.cract.div.45">
1175 <title id="sag.cract.mkr.30">Restrizione di un'azione a un tipo di dati specifico<indexterm>
1176 <primary>azioni</primary><secondary>restrizione dei tipi di dati</secondary>
1177 </indexterm><indexterm><primary>tipi di dati</primary><secondary>restrizione
1178 nelle azioni</secondary></indexterm></title>
1179 <para><indexterm><primary>ARG_TYPE, campo</primary></indexterm>Usare il campo <filename>ARG_TYPE</filename> per specificare i tipi di dati accettati dall'azione.
1180 Usare il nome dell'attributo dei dati.</para>
1181 <para>&Egrave; anche possibile inserire un elenco di tipi di dati separati
1182 da virgole.</para>
1183 <para>Ad esempio, nella seguente definizione si presume che sia stato creato
1184 un tipo di dati Gif.</para>
1185 <programlisting>ACTION Aprire_Gif
1186 {
1187    TYPE           COMMAND
1188    LABEL          "Visualizzazione Gif"
1189    WINDOW_TYPE    NO_STDIO
1190    ARG_TYPE       xgif
1191    DESCRIPTION    Visualizza file gif
1192    EXEC_STRING    xgif
1193 }</programlisting>
1194 </sect2>
1195 <sect2 id="sag.cract.div.46">
1196 <title>Restrizione di un'azione in base al numero degli argomenti<indexterm>
1197 <primary>azioni</primary><secondary>restrizione del numero di argomenti</secondary>
1198 </indexterm><indexterm><primary>argomenti</primary><secondary>numero ammesso
1199 per le azioni</secondary></indexterm></title>
1200 <para><indexterm><primary>ARG_COUNT, campo</primary></indexterm>Usare il campo <filename>ARG_COUNT</filename> per specificare il numero di argomenti che l'azione
1201 pu&ograve; accettare. Sono ammessi i seguenti valori:</para>
1202 <informaltable>
1203 <tgroup cols="2" colsep="0" rowsep="0">
1204 <colspec colwidth="108*">
1205 <colspec colwidth="420*">
1206 <tbody>
1207 <row>
1208 <entry align="left" valign="top"><para><filename>*</filename></para></entry>
1209 <entry align="left" valign="top"><para>(Valore predefinito) Qualsiasi numero
1210 di argomenti. Gli altri valori hanno la precedenza su <filename>*</filename>.
1211 </para></entry></row>
1212 <row>
1213 <entry align="left" valign="top"><para><symbol role="Variable">n</symbol></para></entry>
1214 <entry align="left" valign="top"><para>Qualsiasi intero non negativo, incluso
1215 lo zero.</para></entry></row>
1216 <row>
1217 <entry align="left" valign="top"><para><filename>></filename><symbol role="Variable">n</symbol></para></entry>
1218 <entry align="left" valign="top"><para>Pi&ugrave; di <symbol role="Variable">n</symbol> argomenti.</para></entry></row>
1219 <row>
1220 <entry align="left" valign="top"><para><filename>&lt;</filename><symbol role="Variable">n</symbol></para></entry>
1221 <entry align="left" valign="top"><para>Meno di <symbol role="Variable">n</symbol>
1222 argomenti.</para></entry></row></tbody></tgroup></informaltable>
1223 <para>Una delle funzioni per cui pu&ograve; essere utilizzato <filename>ARG_COUNT</filename> &egrave; quella di ottenere un comportamento diverso dell'azione
1224 a seconda che l'utente faccia doppio clic sulla sua icona o vi rilasci un
1225 file. Vedere la sezione seguente, <!--Original XRef content: '&ldquo;Come
1226 ottenere un comportamento diverso--><!-- al doppio clic sull'icona e al
1227 rilascio di un file'--><xref role="SectionTitle" linkend="sag.cract.mkr.31">.
1228 </para>
1229 </sect2>
1230 <sect2 id="sag.cract.div.47" role="Procedure">
1231 <title id="sag.cract.mkr.31">Come ottenere un comportamento diverso al doppio
1232 clic sull'icona e al rilascio di un file<indexterm><primary>azioni</primary>
1233 <secondary>funzionalit&agrave;</secondary></indexterm><indexterm><primary>diverse per doppio clic e rilascio</primary></indexterm><indexterm><primary>ARG_COUNT, campo</primary></indexterm></title>
1234 <para>La procedura descritta qui di seguito permette di creare un'azione che
1235 accetti il rilascio di un file ma non richieda alcun argomento facendo doppio
1236 clic sull'icona.</para>
1237 <orderedlist>
1238 <listitem><para>Inserire nella definizione dell'azione la funzionalit&agrave;
1239 relativa al doppio clic.</para>
1240 <para>Usare il campo <filename>ARG_COUNT</filename> per specificare <filename>0</filename> argomenti. Usare per <filename>EXEC_STRING</filename> una sintassi
1241 che non accetti il rilascio degli argomenti.</para>
1242 </listitem>
1243 <listitem><para>Creare una seconda definizione per la funzionalit&agrave;
1244 di rilascio.</para>
1245 <para>Usare il campo <filename>ARG_COUNT</filename> per specificare <filename>>0</filename> argomenti. Usare per <filename>EXEC_STRING</filename> una sintassi
1246 che accetti il rilascio di un file.</para>
1247 </listitem>
1248 </orderedlist>
1249 <para>Ad esempio, si supponga di poter usare le due righe comandi seguenti
1250 per avviare un editor di nome <command>vedit</command>:</para>
1251 <itemizedlist remap="Bullet1">
1252 <listitem><para>Per avviare l'editor senza specificare argomenti:</para>
1253 <para remap="CodeIndent1"><command>vedit</command></para>
1254 </listitem>
1255 <listitem><para>Per avviare l'editor specificando come argomento un file da
1256 aprire in modalit&agrave; di sola lettura:</para>
1257 <para remap="CodeIndent1"><command>vedit -R</command> <symbol role="Variable">nomefile</symbol></para>
1258 </listitem>
1259 </itemizedlist>
1260 <para>Le due azioni seguenti creano le funzionalit&agrave; di doppio clic
1261 e rilascio per un'azione di nome Vedit. La prima azione ha la precedenza quando
1262 si cerca una corrispondenza nel database, poich&eacute; il campo <filename>ARG_COUNT</filename> <filename>0</filename> &egrave; pi&ugrave; specifico
1263 rispetto al valore predefinito <filename>ARG_COUNT</filename> <filename>*</filename> che verr&agrave; usato per il rilascio.</para>
1264 <programlisting># Funzionalit&agrave; del doppio clic
1265 ACTION Vedit
1266 {
1267    TYPE          COMMAND
1268    ARG_COUNT     0
1269    WINDOW_TYPE   PERM_TERMINAL
1270    EXEC_STRING   vedit
1271 }
1272
1273 # Funzionalit&agrave; di rilascio
1274 ACTION Vedit
1275 {
1276    TYPE           COMMAND
1277    WINDOW_TYPE    PERM_TERMINAL
1278    EXEC_STRING    vedit -R %Arg_1%
1279 }</programlisting>
1280 </sect2>
1281 <sect2 id="sag.cract.div.48">
1282 <title>Restrizione di un'azione in base alla modalit&agrave; dell'argomento</title>
1283 <para>Si pu&ograve; utilizzare il campo <filename>ARG_MODE</filename> per
1284 specificare la modalit&agrave; di lettura/scrittura dell'argomento. I valori
1285 ammessi sono:</para>
1286 <informaltable>
1287 <tgroup cols="2" colsep="0" rowsep="0">
1288 <colspec colwidth="107*">
1289 <colspec colwidth="421*">
1290 <tbody>
1291 <row>
1292 <entry align="left" valign="top"><para><filename>*</filename></para></entry>
1293 <entry align="left" valign="top"><para>(Valore predefinito) Qualsiasi modalit&agrave;
1294 </para></entry></row>
1295 <row>
1296 <entry align="left" valign="top"><para><filename>!w</filename></para></entry>
1297 <entry align="left" valign="top"><para>Non-scrivibile</para></entry></row>
1298 <row>
1299 <entry align="left" valign="top"><para><command>w</command></para></entry>
1300 <entry align="left" valign="top"><para>Scrivibile</para></entry></row></tbody>
1301 </tgroup></informaltable>
1302 </sect2>
1303 </sect1>
1304 <sect1 id="sag.cract.div.49">
1305 <title id="sag.cract.mkr.32">Creazione di azioni che eseguano applicazioni
1306 su sistemi remoti<indexterm><primary>azioni</primary><secondary>esecuzione
1307 di applicazioni remote</secondary></indexterm><indexterm><primary>esecuzione
1308 remota</primary><secondary>azioni</secondary></indexterm></title>
1309 <para>Nel descrivere l'esecuzione remota delle azioni, si far&agrave; spesso
1310 riferimento ai due termini seguenti:</para>
1311 <informaltable>
1312 <tgroup cols="2" colsep="0" rowsep="0">
1313 <colspec colwidth="189*">
1314 <colspec colwidth="339*">
1315 <tbody>
1316 <row>
1317 <entry align="left" valign="top"><para><indexterm><primary>database</primary>
1318 <secondary>host</secondary></indexterm>host del database</para></entry>
1319 <entry align="left" valign="top"><para>Il sistema in cui si trova la definizione
1320 dell'azione</para></entry></row>
1321 <row>
1322 <entry align="left" valign="top"><para><indexterm><primary>host di esecuzione</primary><secondary>creazione di azioni per</secondary></indexterm>host di
1323 esecuzione</para></entry>
1324 <entry align="left" valign="top"><para>Il sistema su cui viene avviato l'eseguibile
1325 </para></entry></row></tbody></tgroup></informaltable>
1326 <para>In genere, le azioni e le relative applicazioni si trovano sullo stesso
1327 sistema; in questi casi non &egrave; richiesta alcuna sintassi particolare,
1328 perch&eacute; l'host di esecuzione predefinito per le azioni &egrave; l'host
1329 del database.</para>
1330 <para>Tuttavia, quando l'host di esecuzione non coincide con l'host del database,
1331 la definizione dell'azione deve specificare la posizione in cui eseguire il
1332 comando contenuto nella stringa di esecuzione.</para>
1333 <para>La possibilit&agrave; di collocare le azioni e le applicazioni su sistemi
1334 diversi &egrave; una caratteristica dell'architettura client/server del desktop.
1335 Per una trattazione pi&ugrave; approfondita delle applicazioni di rete, vedere
1336 <!--Original XRef content: '&ldquo;Amministrazione dei servizi per le ap--><!--plicazioni&rdquo;
1337 a pagina&numsp;100'--><xref role="SecTitleAndPageNum" linkend="sag.clsrv.mkr.15">.
1338 </para>
1339 <sect2 id="sag.cract.div.50">
1340 <title id="sag.cract.mkr.33">Creazione di un'azione che esegua un'applicazione
1341 remota<indexterm><primary>EXEC_HOST, campo</primary></indexterm><indexterm>
1342 <primary>%</primary></indexterm><indexterm><primary>DatabaseHost%</primary>
1343 </indexterm><indexterm><primary></primary></indexterm><indexterm><primary>%</primary></indexterm><indexterm><primary>LocalHost%</primary></indexterm><indexterm>
1344 <primary></primary></indexterm><indexterm><primary>%</primary></indexterm><indexterm>
1345 <primary>DisplayHost%</primary></indexterm><indexterm><primary></primary>
1346 </indexterm><indexterm><primary>%</primary></indexterm><indexterm><primary>SessionHost%</primary></indexterm></title>
1347 <para><indexterm><primary>EXEC_HOST, campo</primary></indexterm><indexterm>
1348 <primary>host di esecuzione</primary><secondary>definizione con il campo EXEC_HOST</secondary></indexterm>Usare il campo <filename>EXEC_HOST</filename> nella
1349 definizione dell'azione per specificare la posizione dell'applicazione.</para>
1350 <para>I valori ammessi per <filename>EXEC_HOST</filename> sono:</para>
1351 <informaltable>
1352 <tgroup cols="2" colsep="0" rowsep="0">
1353 <colspec colwidth="191*">
1354 <colspec colwidth="337*">
1355 <tbody>
1356 <row>
1357 <entry align="left" valign="top"><para><filename><indexterm><primary>DataBaseHost,
1358 parola chiave</primary></indexterm>%DatabaseHost%</filename></para></entry>
1359 <entry align="left" valign="top"><para>L'host che contiene la definizione
1360 dell'azione.</para></entry></row>
1361 <row>
1362 <entry align="left" valign="top"><para><filename>%LocalHost%</filename></para></entry>
1363 <entry align="left" valign="top"><para>L'host da cui viene avviata l'azione
1364 (il <emphasis>server della sessione</emphasis>).</para></entry></row>
1365 <row>
1366 <entry align="left" valign="top"><para><filename><indexterm><primary>DisplayHost,
1367 parola chiave</primary></indexterm>%DisplayHost%</filename></para></entry>
1368 <entry align="left" valign="top"><para>L'host che esegue il server X (non
1369 previsto per i terminal X).</para></entry></row>
1370 <row>
1371 <entry align="left" valign="top"><para><filename><indexterm><primary>SessionHost,
1372 parola chiave</primary></indexterm>%SessionHost%</filename></para></entry>
1373 <entry align="left" valign="top"><para>L'host su cui viene eseguita la Gestione
1374 del login.</para></entry></row>
1375 <row>
1376 <entry align="left" valign="top"><para><symbol role="Variable">nomehost</symbol></para></entry>
1377 <entry align="left" valign="top"><para>L'host specificato. Usare questo valore
1378 per gli ambienti in cui l'azione deve essere sempre eseguita su un host particolare.
1379 </para></entry></row>
1380 <row>
1381 <entry align="left" valign="top"><para><filename>%&ldquo;</filename><symbol role="Variable">richiesta</symbol><filename>&ldquo;%</filename></para></entry>
1382 <entry align="left" valign="top"><para>Richiesta di inserimento del nome host
1383 visualizzata ad ogni esecuzione dell'azione.</para></entry></row></tbody>
1384 </tgroup></informaltable>
1385 <para>Il valore predefinito &egrave; <filename>%DatabaseHost%</filename>, <filename>%LocalHost%</filename>.<indexterm><primary>EXEC_HOST, campo</primary><secondary>valore predefinito</secondary></indexterm> Con questa impostazione, se si
1386 omette il campo <filename>EXEC_HOST</filename> l'azione cerca inizialmente
1387 di eseguire il comando sull'host che contiene la sua definizione. Se l'operazione
1388 non riesce, l'azione cerca di eseguire il comando sul server della sessione.
1389 </para>
1390 <sect3 id="sag.cract.div.51">
1391 <title>Esempi</title>
1392 <itemizedlist remap="Bullet1">
1393 <listitem><para>Questo campo specifica l'host <command>ddsyd</command>:</para>
1394 </listitem>
1395 </itemizedlist>
1396 <programlisting>EXEC_HOST ddsyd</programlisting>
1397 <itemizedlist remap="Bullet1">
1398 <listitem><para>Questo campo richiede un nome host:</para>
1399 </listitem>
1400 </itemizedlist>
1401 <programlisting>EXEC_HOST %"Host contenente l'applicazione:"%</programlisting>
1402 <itemizedlist remap="Bullet1">
1403 <listitem><para>Questo campo specifica che l'azione cercher&agrave; inizialmente
1404 di eseguire l'applicazione sull'host contenente la definizione dell'azione.
1405 Se non dovesse riuscire, essa cercher&agrave; di eseguire l'applicazione sull'host <command>ddsyd</command>.</para>
1406 </listitem>
1407 </itemizedlist>
1408 <programlisting>EXEC_HOST %DatabaseHost%, ddsyd</programlisting>
1409 </sect3>
1410 </sect2>
1411 </sect1>
1412 <sect1 id="sag.cract.div.52">
1413 <title id="sag.cract.mkr.34">Uso delle variabili nelle definizioni delle azioni
1414 e dei tipi di dati<indexterm><primary>variabili</primary><secondary>uso nelle
1415 definizioni delle azioni</secondary></indexterm><indexterm><primary>azioni</primary><secondary>uso delle variabili nelle definizioni</secondary></indexterm><indexterm>
1416 <primary>tipi di dati</primary><secondary>uso delle variabili nelle definizioni</secondary></indexterm></title>
1417 <para>Le definizioni delle azioni e dei tipi di dati possono comprendere variabili
1418 in forma di stringa e variabili d'ambiente.</para>
1419 <sect2 id="sag.cract.div.53">
1420 <title id="sag.cract.mkr.35">Uso di variabili stringa in un'azione<indexterm>
1421 <primary>variabili</primary><secondary>stringa, nelle definizioni delle azioni</secondary></indexterm><indexterm><primary>azioni</primary><secondary>uso
1422 di variabili stringa</secondary></indexterm></title>
1423 <para>La definizione di una variabile stringa ha effetto dal punto della definizione
1424 fino alla fine del file. Non esistono variabili stringa globali per il database.
1425 </para>
1426 <para>Se una variabile stringa e una variabile d'ambiente hanno lo stesso
1427 nome, la variabile stringa avr&agrave; la precedenza.</para>
1428 <sect3 id="sag.cract.div.54" role="Procedure">
1429 <title>Come definire una variabile stringa</title>
1430 <orderedlist>
1431 <listitem><para>Usare la sintassi:</para>
1432 <para remap="CodeIndent1"><command>set <symbol role="Variable">nome_variabile</symbol>=<symbol role="Variable">valore</symbol></command></para>
1433 </listitem>
1434 </orderedlist>
1435 <para>I nomi delle variabili possono contenere qualsiasi carattere alfanumerico
1436 e il carattere di sottolineatura (<filename>_</filename>). Ogni definizione
1437 deve occupare una riga diversa.</para>
1438 <para>Ad esempio:</para>
1439 <programlisting>set Server_applicazioni_remoto=sysapp
1440 set Server_file_remoto=sysdata</programlisting>
1441 </sect3>
1442 <sect3 id="sag.cract.div.55" role="Procedure">
1443 <title>Come impostare un riferimento a una variabile stringa</title>
1444 <orderedlist>
1445 <listitem><para>Usare la sintassi:</para>
1446 <para remap="CodeIndent1"><command>$[{]<symbol role="Variable">nome_variabile</symbol>[}]</command></para>
1447 </listitem>
1448 </orderedlist>
1449 <para>Ad esempio:</para>
1450 <programlisting>EXEC-HOST $Server_applicazioni_remoto
1451 CWD /net/${Server_file_remoto}/doc/project</programlisting>
1452 </sect3>
1453 </sect2>
1454 <sect2 id="sag.cract.div.56">
1455 <title id="sag.cract.mkr.36">Uso delle variabili d'ambiente nelle azioni e
1456 nei tipi di dati<indexterm><primary>variabili d'</primary></indexterm><indexterm>
1457 <primary>ambiente</primary><secondary>definizioni delle azioni</secondary>
1458 </indexterm><indexterm><primary>azioni</primary><secondary>variabili d'</secondary>
1459 </indexterm><indexterm><primary>ambiente</primary></indexterm></title>
1460 <orderedlist>
1461 <listitem><para>Per impostare un riferimento a una variabile d'ambiente, usare
1462 la sintassi:</para>
1463 <para remap="CodeIndent1"><command>$[{]<symbol role="Variable">variabile</symbol>[}]</command>.</para>
1464 </listitem>
1465 </orderedlist>
1466 <para>La variabile viene espansa (cio&egrave; sostituita dal suo valore) al
1467 momento del caricamento del database. Se una variabile stringa e una variabile
1468 d'ambiente hanno lo stesso nome, la variabile stringa avr&agrave; la precedenza.
1469 </para>
1470 <para>Ad esempio, questa stringa di esecuzione stampa un file usando il nome
1471 di login dell'utente come intestazione.</para>
1472 <programlisting>EXEC-STRING lp -t$LOGNAME %(File)Arg_1%</programlisting>
1473 </sect2>
1474 </sect1>
1475 <sect1 id="sag.cract.div.57">
1476 <title id="sag.cract.mkr.37">Avvio di un'azione dalla riga comandi<indexterm>
1477 <primary>azioni</primary><secondary>uso per l'</secondary></indexterm><indexterm>
1478 <primary>esecuzione di altre azioni</primary></indexterm></title>
1479 <para>Il comando del desktop <command>dtaction</command> permette di eseguire
1480 le azioni da una riga comandi. Questo comando pu&ograve; essere usato per
1481 eseguire le azioni da:</para>
1482 <itemizedlist remap="Bullet1">
1483 <listitem><para>Script</para>
1484 </listitem>
1485 <listitem><para>Altre azioni</para>
1486 </listitem>
1487 <listitem><para>Una riga comandi di un emulatore di terminale</para>
1488 </listitem>
1489 </itemizedlist>
1490 <sect2 id="sag.cract.div.58">
1491 <title>Sintassi di dtaction<indexterm><primary>dtaction</primary><secondary>sintassi</secondary></indexterm></title>
1492 <para><command>dtaction [-user <symbol role="Variable">nome_utente</symbol>]
1493 [-execHost <symbol role="Variable">nomehost</symbol>] <symbol role="Variable">nome_azione</symbol> [<symbol role="Variable">argomento</symbol> [<symbol role="Variable">argomento</symbol>]&hellip;]</command></para>
1494 <informaltable>
1495 <tgroup cols="2" colsep="0" rowsep="0">
1496 <colspec colwidth="162*">
1497 <colspec colwidth="366*">
1498 <tbody>
1499 <row>
1500 <entry align="left" valign="top"><para><filename>-user</filename> <symbol role="Variable">nome_utente</symbol></para></entry>
1501 <entry align="left" valign="top"><para>Permette di eseguire l'azione operando
1502 con un nome utente diverso. Se <command>dtaction</command> viene richiamato
1503 da un utente diverso da quello specificato con <symbol role="Variable">nome_utente</symbol>, viene visualizzata la richiesta di una parola chiave.</para></entry>
1504 </row>
1505 <row>
1506 <entry align="left" valign="top"><para>-<command>execHost</command> <symbol role="Variable">nomehost</symbol></para></entry>
1507 <entry align="left" valign="top"><para>Solo per le azioni <command>COMMAND</command>; specifica l'host su cui verr&agrave; eseguito il comando.</para></entry>
1508 </row>
1509 <row>
1510 <entry align="left" valign="top"><para><symbol role="Variable">argomento</symbol></para></entry>
1511 <entry align="left" valign="top"><para>Argomento/i da usare per l'azione,
1512 in genere file.</para></entry></row></tbody></tgroup></informaltable>
1513 <para>Il client <command>dtaction</command> dispone di altre opzioni per la
1514 riga comandi. Per maggiori informazioni, vedere la pagina di spiegazioni <filename moreinfo="refentry">dtaction(1)</filename>.</para>
1515 </sect2>
1516 <sect2 id="sag.cract.div.59">
1517 <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>
1518 <para>Usare <command>dtaction</command> nella <filename>EXEC_STRING</filename>
1519 dell'azione.</para>
1520 <para>Ad esempio, l'azione seguente utilizza un'azione predefinita di nome
1521 Spell (presentata come &ldquo;Controllare ortografia&rdquo; nella Gestione
1522 di applicazioni). La nuova azione eseguir&agrave; l'Editor di testo e l'azione
1523 Spell, visualizzando gli errori riscontrati in una finestra di emulazione
1524 di terminale separata.</para>
1525 <programlisting>ACTION ApriECorreggi
1526 {
1527     WINDOW_TYPE    NO_STDIO
1528     EXEC_STRING    /bin/sh -c 'dtaction Spell \
1529                    %Arg_1&ldquo;File:&ldquo;%; dtpad %Arg_1%'
1530 }</programlisting>
1531 </sect2>
1532 <sect2 id="sag.cract.div.60">
1533 <title id="sag.cract.mkr.38">Creazione di un'azione che venga eseguita con
1534 un nome utente diverso<indexterm><primary>azioni</primary><secondary>esecuzione
1535 come utente diverso</secondary></indexterm><indexterm><primary>utente, cambiamento
1536 per l'</primary></indexterm><indexterm><primary>esecuzione di un'</primary>
1537 </indexterm><indexterm><primary>azione</primary></indexterm><indexterm><primary>dtaction</primary><secondary>uso per il cambiamento di utente</secondary>
1538 </indexterm></title>
1539 <para>Usare la seguente sintassi nella <filename>EXEC_STRING</filename>:
1540 </para>
1541 <programlisting>EXEC_STRING dtaction -user <symbol role="Variable">nome_utente nome_azione</symbol> [<symbol role="Variable">argomento</symbol>]</programlisting>
1542 <para>Il nuovo utente (<symbol role="Variable">nome_utente</symbol>) deve
1543 avere accesso di visualizzazione al sistema attraverso uno dei seguenti meccanismi:
1544 </para>
1545 <itemizedlist remap="Bullet1">
1546 <listitem><para>Autorizzazione di lettura per il file <filename>.Xauthority</filename> dell'utente specificato al login</para>
1547 </listitem>
1548 <listitem><para><emphasis>Oppure</emphasis>, autorizzazione xhost</para>
1549 </listitem>
1550 </itemizedlist>
1551 <para>Ad esempio, le due azioni seguenti offrono la possibilit&agrave; di
1552 diventare superutente e di editare un file di impostazioni predefinite delle
1553 applicazioni.</para>
1554 <programlisting>ACTION ImpPred
1555 {
1556       WINDOW_TYPE    NO_STDIO
1557       EXEC_STRING    /usr/dt/bin/dtaction -user root \
1558                      ModificaImpPred %Arg_1&ldquo;File:&ldquo;%
1559 }
1560
1561 ACTION ModificaImpPred
1562 {
1563       WINDOW_TYPE    TERMINAL
1564       EXEC_STRING    /bin/sh -c 'chmod +w %Arg_1%; \
1565                      vi %Arg_1%; chmod -w %Arg_1%'
1566 }</programlisting>
1567 </sect2>
1568 </sect1>
1569 <sect1 id="sag.cract.div.61">
1570 <title id="sag.cract.mkr.39">Creazione di azioni in lingue diverse</title>
1571 <para>Il percorso di ricerca per i tipi di dati include directory dipendenti
1572 dalla lingua. Il desktop utilizza il valore di LANG per determinare le posizioni
1573 in cui cercare le definizioni dei tipi di dati.</para>
1574 <sect2 id="sag.cract.div.62">
1575 <title>Posizione delle azioni localizzate</title>
1576 <para>Le definizioni delle azioni localizzate devono trovarsi nelle directory
1577 corrette del percorso di ricerca delle azioni.</para>
1578 <para>Il percorso di ricerca predefinito comprende le directory seguenti:
1579 </para>
1580 <itemizedlist remap="Bullet1">
1581 <listitem><para>Azioni personali: <symbol role="Variable">DirectoryIniziale</symbol><filename>/.dt/types</filename></para>
1582 </listitem>
1583 <listitem><para>Azioni di sistema: <filename>/etc/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol></para>
1584 </listitem>
1585 <listitem><para>Azioni predefinite: <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">lingua</symbol></para>
1586 </listitem>
1587 </itemizedlist>
1588 </sect2>
1589 <sect2 id="sag.cract.div.63" role="Procedure">
1590 <title>Come tradurre un'azione esistente<indexterm><primary>azioni</primary>
1591 <secondary>etichette</secondary></indexterm><indexterm><primary>etichette</primary><secondary>azioni</secondary></indexterm><indexterm><primary>localizzazione</primary><secondary>delle etichette delle azioni</secondary></indexterm></title>
1592 <orderedlist>
1593 <listitem><para>Creare un file nella directory appropriata dipendente dalla
1594 lingua (ad esempio, in <filename>/etc/dt/appconfig/types/it</filename>).
1595 </para>
1596 </listitem>
1597 <listitem><para>Copiare la definizione dell'azione nel file di configurazione
1598 dipendente dalla lingua.</para>
1599 <para>Ad esempio, si potr&agrave; copiare la definizione di un'azione da</para>
1600 <para remap="CodeIndent1"><filename><symbol role="Variable">radice_app</symbol>/dt/appconfig/types/C/<symbol role="Variable">file</symbol>.dt</filename></para>
1601 <para>in</para>
1602 <para remap="CodeIndent1"><filename><symbol role="Variable">radice_app</symbol>/dt/appconfig/types/it/<symbol role="Variable">nuovofile</symbol>.dt</filename></para>
1603 </listitem>
1604 <listitem><para>Aggiungere un campo <command>LABEL</command> o modificare
1605 il campo <command>LABEL</command> esistente.</para>
1606 <para remap="CodeIndent1"><command>LABEL <symbol role="Variable">stringa</symbol></command></para>
1607 <para>La Gestione di applicazioni e la Gestione di file useranno questa stringa
1608 per identificare l'icona dell'azione.</para>
1609 </listitem>
1610 <listitem><para>Adattare i campi seguenti nella definizione dell'azione:</para>
1611 <itemizedlist remap="Bullet2">
1612 <listitem><para>Per le icone tradotte: <command>ICON</command></para>
1613 </listitem>
1614 <listitem><para>Per i testi di aiuto tradotti: <command>DESCRIPTION</command></para>
1615 </listitem>
1616 <listitem><para>Per le richieste tradotte: tutto il testo tra virgolette nella <filename>EXEC_STRING</filename></para>
1617 </listitem>
1618 </itemizedlist>
1619 </listitem>
1620 </orderedlist>
1621 </sect2>
1622 </sect1>
1623 <sect1 id="sag.cract.div.64">
1624 <title id="sag.cract.mkr.40">Creazione di azioni per le applicazioni ToolTalk<indexterm>
1625 <primary>TT_MSG, azione</primary><secondary>creazione</secondary></indexterm><indexterm>
1626 <primary>ToolTalk</primary><secondary>azioni per le applicazioni</secondary>
1627 </indexterm><indexterm><primary>&lt;</primary></indexterm><indexterm><primary>$nopage>ToolTalk</primary><secondary>azione, Vedere TT_MSG, azione</secondary>
1628 </indexterm></title>
1629 <note>
1630 <para>Le informazioni seguenti si riferiscono solo alle applicazioni che
1631 supportano i messaggi ToolTalk.</para>
1632 </note>
1633 <para>Creare un'azione di tipo <filename>TT_MSG</filename> che invii un messaggio
1634 ToolTalk.</para>
1635 <programlisting>ACTION <symbol role="Variable">nome_azione</symbol> 
1636 {
1637     TYPE TT_MSG
1638     &hellip;
1639 }</programlisting>
1640 <sect2 id="sag.cract.div.65">
1641 <title>Campi addressing e disposition</title>
1642 <itemizedlist remap="Bullet1">
1643 <listitem><para>Il campo <command>addressing</command> di ToolTalk &egrave;
1644 sempre impostato su <filename>TT_PROCEDURE</filename>.</para>
1645 </listitem>
1646 <listitem><para>Il campo <command>disposition</command> di ToolTalk viene
1647 impostato automaticamente sul valore specificato nello schema del messaggio
1648 statico.</para>
1649 </listitem>
1650 </itemizedlist>
1651 <sect3 id="sag.cract.div.66">
1652 <title>Messaggi non supportati</title>
1653 <para>Le azioni di tipo <filename>TT_MSG</filename> non supportano i messaggi
1654 seguenti:</para>
1655 <itemizedlist remap="Bullet1">
1656 <listitem><para>I messaggi di ToolTalk orientati agli oggetti</para>
1657 </listitem>
1658 <listitem><para>L'uso di contesti come argomenti nei messaggi</para>
1659 </listitem>
1660 </itemizedlist>
1661 </sect3>
1662 <sect3 id="sag.cract.div.67">
1663 <title>Parole chiave per le azioni TT_MSG<indexterm><primary>TT_MSG, azione</primary><secondary>parole chiave</secondary></indexterm></title>
1664 <informaltable>
1665 <tgroup cols="2" colsep="0" rowsep="0">
1666 <colspec colwidth="140*">
1667 <colspec colwidth="388*">
1668 <thead>
1669 <row><entry align="left" valign="bottom"><para>Parola chiave</para></entry>
1670 <entry align="left" valign="bottom"><para>Uso</para></entry></row></thead>
1671 <tbody>
1672 <row>
1673 <entry align="left" valign="top"><para><filename>TT_CLASS</filename></para></entry>
1674 <entry align="left" valign="top"><para>Definisce il valore del campo <command>class</command> dei messaggi di ToolTalk</para></entry></row>
1675 <row>
1676 <entry align="left" valign="top"><para><filename>TT_SCOPE</filename></para></entry>
1677 <entry align="left" valign="top"><para>Definisce il valore del campo <command>scope</command> dei messaggi di ToolTalk</para></entry></row>
1678 <row>
1679 <entry align="left" valign="top"><para><filename>TT_OPERATION</filename></para></entry>
1680 <entry align="left" valign="top"><para>Definisce il valore del campo <command>operation</command> dei messaggi di ToolTalk</para></entry></row>
1681 <row>
1682 <entry align="left" valign="top"><para><filename>TT_FILE</filename></para></entry>
1683 <entry align="left" valign="top"><para>Definisce il valore del campo <command>file</command> dei messaggi di ToolTalk</para></entry></row>
1684 <row>
1685 <entry align="left" valign="top"><para><filename>TT_ARGn_MODE</filename></para></entry>
1686 <entry align="left" valign="top"><para>Definisce il valore dell'attributo <command>mode</command> di ToolTalk per l'argomento <symbol role="Variable">n</symbol>
1687 del messaggio</para></entry></row>
1688 <row>
1689 <entry align="left" valign="top"><para><filename>TT_ARGn_VTYPE</filename></para></entry>
1690 <entry align="left" valign="top"><para>Definisce il valore dell'attributo <command>vtype</command> di ToolTalk per l'argomento <symbol role="Variable">n</symbol>
1691 del messaggio</para></entry></row>
1692 <row>
1693 <entry align="left" valign="top"><para><filename>TT_ARGn_VALUE</filename></para></entry>
1694 <entry align="left" valign="top"><para>Definisce il valore dell'argomento <symbol role="Variable">n</symbol> del messaggio</para></entry></row></tbody></tgroup>
1695 </informaltable>
1696 </sect3><?Pub Caret>
1697 </sect2>
1698 </sect1>
1699 </chapter>
1700 <!--fickle 1.14 mif-to-docbook 1.7 01/02/96 16:05:15-->
1701 <?Pub *0000098540>