123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796 |
- <!-- $XConsortium: dtaction.sgm /main/13 1996/09/08 20:17:02 rws $ -->
- <!-- (c) Copyright 1995 Digital Equipment Corporation. -->
- <!-- (c) Copyright 1995 Hewlett-Packard Company. -->
- <!-- (c) Copyright 1995 International Business Machines Corp. -->
- <!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
- <!-- (c) Copyright 1995 Novell, Inc. -->
- <!-- (c) Copyright 1995 FUJITSU LIMITED. -->
- <!-- (c) Copyright 1995 Hitachi. -->
- <refentry id="CDEMX.MAN90.rsml.1">
- <refmeta><refentrytitle>dtactionfile</refentrytitle><manvolnum>special file
- </manvolnum></refmeta>
- <refnamediv><refname><filename>dtactionfile</filename></refname><refpurpose>
- define the content of desktop action definition records</refpurpose></refnamediv>
- <refsynopsisdiv>
- <synopsis>set DtDbVersion=<emphasis>version_number</emphasis>
- set <emphasis>VariableName</emphasis>=<emphasis>variable_value</emphasis>
- ACTION <emphasis>action_name</emphasis>
- {
- # <emphasis>Comment</emphasis>
- <emphasis>FieldName</emphasis> <emphasis>field_value</emphasis>
- <emphasis>FieldName</emphasis> <emphasis>field_value</emphasis>
- ...
- }</synopsis>
- </refsynopsisdiv>
- <refsect1>
- <title>DESCRIPTION</title>
- <para>&str-XZ; actions define the behavior of icons, front panel controls
- and operations on data objects. Actions are defined in a set of text files
- with the <Filename>.dt</Filename> suffix. Each action definition consists of
- the word <systemitem class="Constant">ACTION</systemitem> followed by an action
- name and a list of Field and Value pairs (one per line) on lines by themselves
- and enclosed in brackets.</para>
- <para>These text files may also contain data typing information as described
- in &cdeman.dtdtsfile;. (See &cdeman.dtdtfile; for
- the general syntax and location of the actions and data types database.)</para>
- <para>Actions are of one of the following classes: command actions, ToolTalk
- message actions or map actions. These action classes are described in the
- following sections.</para>
- <refsect2>
- <title>Command Actions</title>
- <para>Command actions are identified by a <systemitem class="Constant">TYPE</systemitem> <systemitem class="Constant">COMMAND</systemitem> field. This
- field defines an execution string to invoke and a set of related information,
- such as the current working directory for the command and the host where the
- command should be executed. The following field names are unique to command
- actions: <systemitem class="Constant">EXEC_STRING</systemitem>, <systemitem class="Constant">EXEC_HOST</systemitem>, <systemitem class="Constant">CWD</systemitem>, <systemitem class="Constant">WINDOW_TYPE</systemitem> and <systemitem class="Constant">TERM_OPTS</systemitem>.</para>
- </refsect2>
- <refsect2>
- <title>ToolTalk Message Actions</title>
- <para>ToolTalk message actions are identified by a <systemitem class="Constant">TYPE</systemitem> <systemitem class="Constant">TT_MSG</systemitem> field.
- This field defines a ToolTalk message to be sent. The following fields are
- unique to ToolTalk message actions: <systemitem class="Constant">TT_CLASS</systemitem>, <systemitem class="Constant">TT_SCOPE</systemitem>, <systemitem class="Constant">TT_OPERATION</systemitem>, <systemitem class="Constant">TT_FILE</systemitem>, <systemitem class="Constant">TT_ARGn_MODE</systemitem>, <systemitem class="Constant">TT_ARGn_VTYPE</systemitem>, <systemitem class="Constant">TT_ARGn_REP_TYPE</systemitem> and <systemitem class="Constant">TT_ARGn_VALUE</systemitem>.</para>
- </refsect2>
- <refsect2>
- <title>Map Actions</title>
- <para>Map actions are identified by a <systemitem class="Constant">TYPE</systemitem> <systemitem class="Constant">MAP</systemitem> field. This field does not define any specific
- behavior; instead, this field specifies a different action name that should
- be invoked in place of the original action. Multiple map actions can be chained
- together, but the chain must ultimately terminate in a non-map action. The
- following field is unique to map actions: <systemitem class="Constant">MAP_ACTION</systemitem>.</para>
- </refsect2>
- <refsect2>
- <title>Common Fields</title>
- <para>In addition to the unique action fields listed above, all actions support
- the following fields: <systemitem class="Constant">LABEL</systemitem>, <systemitem class="Constant">ICON</systemitem>, <systemitem class="Constant">DESCRIPTION</systemitem>, <systemitem class="Constant">ARG_CLASS</systemitem>, <systemitem class="Constant">ARG_MODE</systemitem>, <systemitem class="Constant">ARG_TYPE</systemitem>, <systemitem class="Constant">ARG_COUNT</systemitem> and <systemitem class="Constant">TYPE</systemitem>.</para>
- </refsect2>
- <refsect2>
- <title>Keywords</title>
- <para>The value string for certain action fields may reference special keywords
- enclosed within percentage character (%) delimiters. These keywords are evaluated
- when the action is invoked and replaced with the appropriate value. In fields
- that do not evaluate keywords, the keyword is taken literally. The valid keywords
- are:</para>
- <variablelist>
- <varlistentry><term>%DatabaseHost%</term>
- <listitem>
- <para>The name of the host where the action definition file is located. This
- hostname is specified by the host portion of the <emphasis>host:/</emphasis> <emphasis>path</emphasis> searchpath used to find the action.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>%DisplayHost%</term>
- <listitem>
- <para>The name of the host where the X server displaying the &str-XZ; session
- is running.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>%LocalHost%</term>
- <listitem>
- <para>The name of the host where the application invoking the action is executing.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>%SessionHost%</term>
- <listitem>
- <para>The name of the host where the controlling login manager ( &cdeman.dtlogin;) runs.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
- <refsect2>
- <title>Argument References</title>
- <para>Arguments passed to actions can be referenced in certain action fields
- using special argument keywords enclosed within percent character (%) delimiters.
- These argument keywords are evaluated when the action is invoked and replaced
- with the appropriate value. In fields that do not evaluate keywords, the keyword
- is taken literally. The valid argument keywords are:</para>
- <variablelist>
- <varlistentry><term>%Arg_<emphasis>n%</emphasis></term>
- <listitem>
- <para>The <symbol role="Variable">n</symbol>th (starting with 1) argument
- of the action. If the action was invoked with fewer than <symbol role="Variable">n</symbol> arguments, the value of the keyword is <systemitem class="Constant">NULL</systemitem>.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>%Args%</term>
- <listitem>
- <para>All remaining arguments of the action. If any arguments of the action
- have already been referenced within this field by an %Arg_ <symbol role="Variable">n</symbol>% keyword, those arguments are not referenced a second time by %Args%.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>%"<emphasis>prompt</emphasis>"%</term>
- <listitem>
- <para>Prompt the user for a value, using <emphasis>prompt</emphasis> as the
- label of a text field.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>%Arg_<symbol role="Variable">n</symbol>"<emphasis>prompt</emphasis> "%</term>
- <listitem>
- <para>The <symbol role="Variable">n</symbol>th (starting with 1) argument
- of the action. If the action was invoked with fewer than <symbol role="Variable">n</symbol> arguments, prompt the user for a value using <emphasis>prompt</emphasis>
- as the label of a text field.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>If a keyword references the name of a file argument, the value of the
- keyword is expanded to an absolute pathname prior to substitution. In addition,
- if the file name is to be passed to a remote system, the file name is first
- mapped appropriately (see &cdeman.tt.file.netfile; and &cdeman.tt.netfile.file;).</para>
- <para>If the keyword references a buffer argument, the buffer data is placed
- in a temporary file and the name of the temporary file is substituted, as
- described above. Some action fields provide direct support for data buffers
- and do not require use of a temporary file. This behavior is noted in the
- description of the appropriate fields.</para>
- <para>If the keyword references a string obtained from the user, it is treated
- as a simple string and the value substituted without any transformation.</para>
- <para>Argument references can be forced to be treated as file names or simple
- strings by using the <literal>(File)</literal> or <literal>(String)</literal>
- qualifier immediately after the opening % of the keyword. For example:</para>
- <informalexample remap="indent">
- <programlisting>%(String)Arg_<symbol role="Variable">n</symbol>%
- %(File)"<emphasis>prompt</emphasis>"%</programlisting>
- </informalexample>
- <para>If an action is invoked with more than one argument, and the action
- definition only references one or zero arguments, the action is iteratively
- invoked with each of the supplied arguments. If the action definition references
- more than one argument, any extra arguments are ignored.</para>
- </refsect2>
- <refsect2>
- <title>Action Selection</title>
- <para>Multiple actions can be defined with the same name. When the action
- is invoked, the appropriate action definition is chosen based on the number
- and class of arguments supplied. For example, the <literal>Open</literal>
- action may invoke &cdeman.dtpad; if a text file is supplied as
- an argument, or it may invoke &cdeman.dticon; if a bitmap file
- argument is supplied. The <systemitem class="Constant">ARG_COUNT</systemitem>, <systemitem class="Constant">ARG_CLASS</systemitem>, <systemitem class="Constant">ARG_MODE</systemitem> and <systemitem class="Constant">ARG_TYPE</systemitem> fields
- specify the number, mode and types of arguments that are accepted by a particular
- action. Because these fields can have shell pattern-matching values such as
- *, it is possible that the action database contains multiple actions that
- have the same name and are all capable of accepting the arguments that are
- supplied. In this case, the following precedence rules are used to choose
- a single action definition to invoke:</para>
- <itemizedlist>
- <!-- merged from xo+cde-->
- <listitem><para>Actions with more specific attribute values take precedence
- over more general attribute values.</para>
- </listitem><listitem><para>For the <systemitem class="Constant">ARG_COUNT</systemitem> field, an exact numerical value (<emphasis>N</emphasis>) is
- more specific than a less-than range (<emphasis><N</emphasis>). A less-than
- range (<emphasis><N</emphasis>) is more specific than a greater-than range
- (<emphasis>>N</emphasis>). And a greater-than range (<emphasis>>N</emphasis>)
- is more specific than a shell pattern-matching character (*).</para>
- </listitem><listitem><para>For the <systemitem class="Constant">ARG_CLASS</systemitem> and <systemitem class="Constant">ARG_TYPE</systemitem> fields,
- a single item is more specific than a list of items and a list of items is
- more specific than a shell pattern-matching *.</para>
- </listitem><listitem><para>For the <systemitem class="Constant">ARG_MODE</systemitem>
- field, <literal>w</literal> (writable) and <literal>!w</literal> (not writable)
- are more specific than a shell pattern-matching *.</para>
- </listitem><listitem><para>The fields have the following precedence, from
- high to low: <systemitem class="Constant">ARG_CLASS</systemitem>, <systemitem class="Constant">ARG_TYPE</systemitem>, <systemitem class="Constant">ARG_MODE</systemitem>, <systemitem class="Constant">ARG_COUNT</systemitem>.</para>
- </listitem><listitem><para>If two action definitions have equal specificity,
- the action definition appearing first in the database load order takes precedence.
- Database directories are loaded in the order specified by the <systemitem class="EnvironVar">DTDATABASESEARCHPATH</systemitem> environment variable,
- and are loaded in the collation order of their file names.</para>
- </listitem></itemizedlist>
- </refsect2>
- <refsect2>
- <title>ARG_CLASS Field</title>
- <para>The <systemitem class="Constant">ARG_CLASS</systemitem> field is optional
- for all types of actions. This field specifies the class of arguments the
- action accepts. If an action is invoked with more than one argument, the class
- of only the first argument is checked against the value of the <systemitem class="Constant">ARG_CLASS</systemitem> field. The valid values for this field
- are:</para>
- <variablelist>
- <varlistentry><term>BUFFER</term>
- <listitem>
- <para>The action accepts arguments that are blocks of data held in memory.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term>FILE</term>
- <listitem>
- <para>The action accepts arguments that are file names.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>*</term>
- <listitem>
- <para>The action is defined for all classes of arguments.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>A comma-separated list of valid values is also allowed and specifies
- that the action accepts arguments of any of the listed classes.</para>
- <para>If an action is defined to accept a buffer argument, yet the implementation
- of the action requires a file name, the buffer is automatically converted
- into a temporary file for the action to use. See the description of the <literal>DtTmpDir</literal> resource for information on configuring the location of
- these temporary files.</para>
- <para>Keywords are not evaluated in the <systemitem class="Constant">ARG_CLASS</systemitem> field. The default value of the <systemitem class="Constant">ARG_CLASS</systemitem> field is <literal>*</literal>.</para>
- </refsect2>
- <refsect2>
- <title>ARG_COUNT Field</title>
- <para>The <systemitem class="Constant">ARG_COUNT</systemitem> field is optional
- for all types of actions. The <systemitem class="Constant">ARG_COUNT</systemitem>
- field specifies the number of arguments that the action accepts. The valid
- values for this field (where <emphasis>N</emphasis> denotes any non-negative
- integer) are:</para>
- <variablelist>
- <varlistentry><term><emphasis>N</emphasis></term>
- <listitem>
- <para>The action accepts exactly <emphasis>N</emphasis> arguments.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><emphasis><N</emphasis></term>
- <listitem>
- <para>The action accepts any number of arguments less than <emphasis>N</emphasis>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry><term><emphasis>>N</emphasis></term>
- <listitem>
- <para>The action accepts any number of arguments greater than <emphasis>N</emphasis>.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>*</term>
- <listitem>
- <para>The action accepts any number of arguments.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>Keywords are not evaluated in the <systemitem class="Constant">ARG_COUNT</systemitem> field. The default value of the <systemitem class="Constant">ARG_COUNT</systemitem> field is <literal>*</literal>.</para>
- </refsect2>
- <refsect2>
- <title>ARG_MODE Field</title>
- <para>The <systemitem class="Constant">ARG_MODE</systemitem> field is optional
- for all types of actions. This field specifies the mode of arguments the action
- accepts. If an action is invoked with more than one argument, the mode of
- only the first argument is checked against the value of the <systemitem class="Constant">ARG_MODE</systemitem> field. The valid values for this field are:</para>
- <variablelist>
- <varlistentry><term><literal>w</literal></term>
- <listitem>
- <para>The action accepts arguments that writable by the user.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>!w</literal></term>
- <listitem>
- <para>The action accepts arguments that are not writable by the user.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>*</literal></term>
- <listitem>
- <para>The action is defined for all classes of arguments.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>Keywords are not evaluated in the <systemitem class="Constant">ARG_MODE</systemitem> field. The default value of the <systemitem class="Constant">ARG_MODE</systemitem> field is <literal>*</literal>.</para>
- </refsect2>
- <refsect2>
- <title>ARG_TYPE Field</title>
- <para>The <systemitem class="Constant">ARG_TYPE</systemitem> field is optional
- for all types of actions. This field specifies the types of arguments the
- action accepts. If the action is invoked with more than one argument, the
- type of only the first argument is checked against the value of this field.
- Valid values for this field are * (all data types are accepted), a single
- data type name or a comma-separated list of data types. The set of valid data
- types are those defined by <systemitem class="Constant">DATA_ATTRIBUTE</systemitem>
- records in the data typing database. (See &cdeman.dtdtsfile;
- for more information.)</para>
- <para>Keywords are not evaluated in the <systemitem class="Constant">ARG_TYPE</systemitem> field. The default value of the <systemitem class="Constant">ARG_TYPE</systemitem> field is <literal>*</literal>.</para>
- </refsect2>
- <refsect2>
- <title>CWD Field</title>
- <para>The <systemitem class="Constant">CWD</systemitem> field is optional
- for all types of actions. This field specifies the current working directory
- to be used when the execution string is invoked. Valid values include any
- absolute pathname. If this field is not specified, the current working directory
- for the execution string is determined by the following:</para>
- <itemizedlist>
- <!-- merged from xo+cde-->
- <listitem><para>If the application invoking the action specifies a current
- working directory, that directory is used.</para>
- </listitem><listitem><para>If arguments are supplied to the action and the
- first argument is a directory, that directory is used.</para>
- </listitem><listitem><para>If arguments are supplied to the action and the
- first argument is a file, the directory where the file is located is used.
- </para>
- </listitem><listitem><para>The current working directory of the application
- invoking the action is used.</para>
- </listitem></itemizedlist>
- <para>Keywords are not evaluated in the <systemitem class="Constant">CWD</systemitem>
- field.</para>
- </refsect2>
- <refsect2>
- <title>DESCRIPTION Field</title>
- <para>The <systemitem class="Constant">DESCRIPTION</systemitem> field is optional
- for <systemitem class="Constant">COMMAND</systemitem> actions. This field
- specifies a textual description of the action that is suitable for presentation
- to a user requesting information about the action. The description should
- contain no formatting information such as tab or newline characters. The application
- that presents the information to the user formats the information.</para>
- <para>Keywords are not evaluated in the <systemitem class="Constant">DESCRIPTION</systemitem> field. There is no default value for the <systemitem class="Constant">DESCRIPTION</systemitem> field.</para>
- </refsect2>
- <refsect2>
- <title>EXEC_HOST Field</title>
- <para>The <systemitem class="Constant">EXEC_HOST</systemitem> field is optional
- for <systemitem class="Constant">COMMAND</systemitem> actions. This field
- specifies the host where the execution string should be invoked. Valid values
- for this field include actual hostnames, as well as any of the hostname keywords.
- If a comma-separated list of hostnames is provided, execution is attempted
- on each of the hosts in the order specified until execution succeeds.</para>
- <para>Keywords are evaluated in the <systemitem class="Constant">EXEC_HOST</systemitem> field. The default value of the <systemitem class="Constant">EXEC_HOST</systemitem> field is <literal>%DatabaseHost%,%LocalHost%</literal>.
- (See the description of the <literal>ExecutionHosts</literal> resource for
- information on how to change this default value.)</para>
- </refsect2>
- <refsect2>
- <title>EXEC_STRING Field</title>
- <para>The <systemitem class="Constant">EXEC_STRING</systemitem> field is required
- for <systemitem class="Constant">COMMAND</systemitem> actions. This field
- specifies an execution string to be invoked. The string is parsed using the
- same quoting rules as defined by <command>sh</command>(1); however, the execution
- string is not automatically passed to any shell. Therefore, if the execution
- string requires shell features such as redirection of standard input, redirection
- of standard output, or pipes, the appropriate shell must be specified explicitly
- in the execution string. For example:</para>
- <informalexample remap="indent">
- <programlisting>EXEC_STRING sh −c 'ls −l | more'</programlisting>
- </informalexample>
- <para>Keywords are evaluated in the <systemitem class="Constant">EXEC_STRING</systemitem> field. There is no default value for the <systemitem class="Constant">EXEC_STRING</systemitem> field.</para>
- </refsect2>
- <refsect2>
- <title>ICON Field</title>
- <para>The <systemitem class="Constant">ICON</systemitem> field is optional
- for all types of actions. This field specifies the name of an icon that represents
- the action. <!--(In \*(XZ, the file management and front panel
- services show actions as icons.
- Icons inform the user of what
- actions are available and serve as drop sites as part of
- drag-and-drop operations.)
- --></para>
- <para>Icons are found by using the standard &str-XZ; icon search path, so
- the value can be either an absolute pathname (for example, <Filename>/foo/icons/myicon.bm</Filename>), a relative pathname (for example, <literal>icons/myicon.bm</literal>)
- or a partial filename (for example, <literal>myicon</literal>). Partial filenames
- are preferred because they allow the &str-XZ; icon search path to find the
- icon with the optimum size and depth for the current environment.</para>
- <para>Keywords are not evaluated in the <systemitem class="Constant">ICON</systemitem> field. The default value of the <systemitem class="Constant">ICON</systemitem> field is <literal>Dtactn</literal>. (See the description
- of the <literal>ActionIcon</literal> resource for information on how to change
- this default value.)</para>
- </refsect2>
- <refsect2>
- <title>LABEL Field</title>
- <para>The <systemitem class="Constant">LABEL</systemitem> field is optional
- for all types of actions. This field specifies a user-visible label for the
- action. When actions are presented to the user, the localized <systemitem class="Constant">LABEL</systemitem> field is used to identify the action instead
- of the non-localized action name.</para>
- <para>Keywords are not evaluated in the <systemitem class="Constant">LABEL</systemitem> field. The default value of the <systemitem class="Constant">LABEL</systemitem> field is the name of the action.</para>
- </refsect2>
- <refsect2>
- <title>MAP_ACTION Field</title>
- <para>The <systemitem class="Constant">MAP_ACTION</systemitem> field is required
- for <systemitem class="Constant">MAP</systemitem> actions. This field specifies
- the name of an action that should be invoked in place of the current action.
- The specified action is invoked with the same set of arguments that were passed
- to the original action.</para>
- <para>Keywords are not evaluated in the <systemitem class="Constant">MAP_ACTION</systemitem> field. There is no default value for the <systemitem class="Constant">MAP_ACTION</systemitem> field.</para>
- </refsect2>
- <refsect2>
- <title>TERM_OPTS Field</title>
- <para>The <systemitem class="Constant">TERM_OPTS</systemitem> field is optional
- for <systemitem class="Constant">COMMAND</systemitem> actions. This field
- specifies command-line options that are passed to the terminal emulator for
- all <systemitem class="Constant">COMMAND</systemitem> actions that are terminal
- based. (That is, any <systemitem class="Constant">COMMAND</systemitem> action
- other than those that specify <systemitem class="Constant">WINDOW_TYPE</systemitem> <systemitem class="Constant">NO_STDIO</systemitem>.) These command-line options are typically
- used to specify a unique terminal-window geometry, font, color or title.</para>
- <para>The value of the <systemitem class="Constant">TERM_OPTS</systemitem>
- field must be an option string in a form the terminal emulator supports and
- it must only affect the appearance of the terminal window. For example, options
- such as <literal>−e</literal>, which affect the behavior of the terminal
- window, must not be used.</para>
- <para>Keywords are evaluated in the <systemitem class="Constant">TERM_OPTS</systemitem> field. The default value of the <systemitem class="Constant">TERM_OPTS</systemitem> field is</para>
- <informalexample remap="indent">
- <programlisting>−title action_label</programlisting>
- </informalexample>
- <para>where <emphasis>action_label</emphasis> is the <systemitem class="Constant">LABEL</systemitem> field for the action. See &cdeman.dtterm; (or <command>xterm</command>(1)) for the meaning of <literal>−title</literal>.</para>
- </refsect2>
- <refsect2>
- <title>TT_ARGn_MODE Field</title>
- <para>The <systemitem class="Constant">TT_ARGn_MODE</systemitem> field is
- optional for <systemitem class="Constant">TT_MSG</systemitem> actions. This
- field specifies the value of the ToolTalk mode attribute for the <symbol role="Variable">n</symbol>th message argument, where <symbol role="Variable">n</symbol> is
- zero for the first message argument. The valid values for this field are: <systemitem class="Constant">TT_IN</systemitem>, <systemitem class="Constant">TT_INOUT</systemitem> and <systemitem class="Constant">TT_OUT</systemitem>.</para>
- <para>(See <filename role="Header">Tt/tt_c.h</filename> for a description
- of these values.)</para>
- <para>Keywords are not evaluated in the <systemitem class="Constant">TT_ARGn_MODE</systemitem> field. There is no default value for the <systemitem class="Constant">TT_ARGn_MODE</systemitem> field.</para>
- </refsect2>
- <refsect2>
- <title>TT_ARGn_REP_TYPE Field</title>
- <para>The <systemitem class="Constant">TT_ARGn_REP_TYPE</systemitem> field
- is optional for <systemitem class="Constant">TT_MSG</systemitem> actions.
- This field specifies the representation type of the <symbol role="Variable">n</symbol>th ToolTalk message argument, where <symbol role="Variable">n</symbol>
- is zero for the first message argument. The valid values for this field are:
- </para>
- <variablelist>
- <varlistentry><term>TT_REP_UNDEFINED</term>
- <listitem>
- <para>If <systemitem class="Constant">TT_ARGn_VALUE</systemitem> references
- a buffer argument, the representation type is a buffer; otherwise, it is a
- string.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>TT_REP_INTEGER</term>
- <listitem>
- <para>The representation type is an integer.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>TT_REP_BUFFER</term>
- <listitem>
- <para>The representation type is a buffer.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>TT_REP_STRING</term>
- <listitem>
- <para>The representation type is string.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>Keywords are not evaluated in the <systemitem class="Constant">TT_ARGn_REP_TYPE</systemitem> field. The default value of the <systemitem class="Constant">TT_ARGn_REP_TYPE</systemitem> field is <systemitem class="Constant">TT_REP_UNDEFINED</systemitem>.</para>
- </refsect2>
- <refsect2>
- <title>TT_ARGn_VALUE Field</title>
- <para>The <systemitem class="Constant">TT_ARGn_VALUE</systemitem> field is
- optional for <systemitem class="Constant">TT_MSG</systemitem> actions. If
- there is no corresponding <systemitem class="Constant">TT_ARGn_MODE</systemitem>
- field, the <systemitem class="Constant">TT_ARGn_VALUE</systemitem> field is
- ignored. If there is a <systemitem class="Constant">TT_ARGn_MODE</systemitem>
- field, the <systemitem class="Constant">TT_ARGn_VALUE</systemitem> field specifies
- the value of the <symbol role="Variable">n</symbol>th ToolTalk message argument,
- where <symbol role="Variable">n</symbol> is zero for the first message argument.
- If there is a <systemitem class="Constant">TT_ARGn_MODE</systemitem> field
- with no corresponding <systemitem class="Constant">TT_ARGn_VALUE</systemitem>
- field, the value of the <symbol role="Variable">n</symbol>th ToolTalk message
- argument is set to <systemitem class="Constant">NULL</systemitem>.</para>
- <para>The value of the <systemitem class="Constant">TT_ARGn_VALUE</systemitem>
- field must be a single string or action argument. Keywords that reference
- a single action argument are evaluated in the <systemitem class="Constant">TT_ARGn_VALUE</systemitem> field, however %Args% is not allowed as it references
- multiple action arguments. There is no default value for the <systemitem class="Constant">TT_ARGn_VALUE</systemitem> field.</para>
- </refsect2>
- <refsect2>
- <title>TT_ARGn_VTYPE Field</title>
- <para>The <systemitem class="Constant">TT_ARGn_VTYPE</systemitem> field is
- required to accompany any <systemitem class="Constant">TT_ARGn_MODE</systemitem>
- fields in <systemitem class="Constant">TT_MSG</systemitem> actions. This field
- specifies the value of the ToolTalk vtype attribute of the <symbol role="Variable">n</symbol>th message argument, where <symbol role="Variable">n</symbol> is
- zero for the first message argument. If this field references an argument
- keyword, the <emphasis>MEDIA</emphasis> attribute of the specified argument
- is used. If the <emphasis>MEDIA</emphasis> attribute is not defined, the <systemitem class="Constant">DATA_ATTRIBUTE</systemitem> name of the data type is used.
- </para>
- <para>Keywords are evaluated in the <systemitem class="Constant">TT_ARGn_VTYPE</systemitem> field. There is no default value for the <systemitem class="Constant">TT_ARGn_VTYPE</systemitem> field.</para>
- </refsect2>
- <refsect2>
- <title>TT_CLASS Field</title>
- <para>The <systemitem class="Constant">TT_CLASS</systemitem> field is required
- for <systemitem class="Constant">TT_MSG</systemitem> actions. This field specifies
- the value of the ToolTalk class message field. The valid values for this field
- are:</para>
- <variablelist>
- <varlistentry><term>TT_NOTICE</term>
- <listitem>
- <para>The action defines a ToolTalk notification message.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>TT_REQUEST</term>
- <listitem>
- <para>The action defines a ToolTalk request message.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>Keywords are not evaluated in the <systemitem class="Constant">TT_CLASS</systemitem> field. There is no default value for the <systemitem class="Constant">TT_CLASS</systemitem> field.</para>
- </refsect2>
- <refsect2>
- <title>TT_FILE Field</title>
- <para>The <systemitem class="Constant">TT_FILE</systemitem> field is optional
- for <systemitem class="Constant">TT_MSG</systemitem> actions. This field specifies
- the value of the ToolTalk file message field. The value of this field must
- be a single file name and can either be a specific file name (for example, <Filename>/tmp/foo</Filename>) or an argument keyword (for example, %Arg_<emphasis>1</emphasis>%). %Args% is not allowed because it references multiple action
- arguments. If an argument keyword is specified and the corresponding argument
- is not a file (that is, it is a buffer), the action invocation fails.</para>
- <para>Keywords are evaluated in the <systemitem class="Constant">TT_FILE</systemitem>
- field. There is no default value for the <systemitem class="Constant">TT_FILE</systemitem> field; if it is not set, the file attribute of the ToolTalk
- message is set to <systemitem class="Constant">NULL</systemitem>.</para>
- </refsect2>
- <refsect2>
- <title>TT_OPERATION Field</title>
- <para>The <systemitem class="Constant">TT_OPERATION</systemitem> field is
- required for <systemitem class="Constant">TT_MSG</systemitem> actions. This
- field specifies the value of the ToolTalk operation message field. Typical
- values are operations such as <symbol role="Message">Display</symbol> or
- <symbol role="Message">Edit</symbol> that are defined by the Media Exchange Message
- Set.</para>
- <para>Keywords are not evaluated in the <systemitem class="Constant">TT_OPERATION</systemitem> field. There is no default value for the <systemitem class="Constant">TT_OPERATION</systemitem> field.</para>
- </refsect2>
- <refsect2>
- <title>TT_SCOPE Field</title>
- <para>The <systemitem class="Constant">TT_SCOPE</systemitem> field is required
- for <systemitem class="Constant">TT_MSG</systemitem> actions. This field specifies
- the value of the ToolTalk scope message field. (See <filename role="Header">Tt/tt_c.h</filename> for a description of these values.) The valid values
- for this field are: <systemitem class="Constant">TT_BOTH</systemitem>, <systemitem class="Constant">TT_FILE</systemitem>, <systemitem class="Constant">TT_FILE_IN_SESSION</systemitem> and <systemitem class="Constant">TT_SESSION</systemitem>.</para>
- <para>Keywords are not evaluated in the <systemitem class="Constant">TT_SCOPE</systemitem> field. There is no default value for the <systemitem class="Constant">TT_SCOPE</systemitem> field.</para>
- </refsect2>
- <refsect2>
- <title>TYPE Field</title>
- <para>The <systemitem class="Constant">TYPE</systemitem> field is optional
- for <systemitem class="Constant">COMMAND</systemitem> actions and required
- for <systemitem class="Constant">MAP</systemitem> or <systemitem class="Constant">TT_MSG</systemitem> actions. This field specifies the type of behavior defined
- by the action. Valid values for this field are:</para>
- <variablelist>
- <varlistentry><term>COMMAND</term>
- <listitem>
- <para>The action invokes a command.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>MAP</term>
- <listitem>
- <para>The action specifies a different action name to invoke in place of the
- current action.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>TT_MSG</term>
- <listitem>
- <para>The action defines a ToolTalk message to be sent.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>Keywords are not evaluated in the <systemitem class="Constant">TYPE</systemitem> field. The default value of the <systemitem class="Constant">TYPE</systemitem> field is <systemitem class="Constant">COMMAND</systemitem>.
- </para>
- </refsect2>
- <refsect2>
- <title>WINDOW_TYPE Field</title>
- <para>The <systemitem class="Constant">WINDOW_TYPE</systemitem> field is optional
- for <systemitem class="Constant">COMMAND</systemitem> actions. This field
- specifies the type of windowing support the execution string requires. Valid
- values for this field are:</para>
- <variablelist>
- <varlistentry><term>NO_STDIO</term>
- <listitem>
- <para>No windowing support is required. This value is appropriate for execution
- strings that have no output or are X Windows applications.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>PERM_TERMINAL</term>
- <listitem>
- <para>The execution string requires a terminal window. When the execution
- string exits, the terminal window is left open until the user explicitly closes
- it. This value is appropriate for applications that write their output to
- standard output and then terminate, such as <command>ls</command>(1).</para>
- </listitem>
- </varlistentry>
- <varlistentry><term>TERMINAL</term>
- <listitem>
- <para>The execution string requires a terminal window. When the execution
- string exits, the terminal window is closed. If the execution string exits
- ``quickly'' (see the description of the <literal>waitTime</literal> resource),
- the terminal window is left open to allow the user to view any error messages
- that were written to standard output or standard error. This value is appropriate
- for full-screen terminal applications such as the <command>vi</command>(1) editor.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>Keywords are not evaluated in the <systemitem class="Constant">WINDOW_TYPE</systemitem> field. The default value of the <systemitem class="Constant">WINDOW_TYPE</systemitem> field is <systemitem class="Constant">PERM_TERMINAL</systemitem>.</para>
- </refsect2>
- </refsect1>
- <refsect1>
- <title>RESOURCES</title>
- <para>The following resources are available to control the behavior of actions.
- These resources must be set for the application that is invoking the action.
- They can be set for all applications that invoke actions by omitting the application
- name or class name.</para>
- <informaltable remap="center" orient="port">
- <tgroup cols="4" colsep="0" rowsep="0">
- <?PubTbl tgroup dispwid="6.19in">
- <colspec align="left" colname="col1" colwidth="2.00in">
- <colspec align="left" colwidth="2.01in">
- <colspec align="left" colwidth="0.94in">
- <colspec align="left" colname="col4" colwidth="2.80in">
- <spanspec nameend="col4" namest="col1" spanname="1to4">
- <tbody>
- <row>
- <entry align="left" spanname="1to4" valign="top"><literal>X11 Resources That
- Modify Action Behavior</literal></entry></row>
- <row>
- <entry align="left" valign="top"><literal>Name</literal></entry>
- <entry align="left" valign="top"><literal>Class</literal></entry>
- <entry align="left" valign="top"><literal>Type</literal></entry>
- <entry align="left" valign="top"><literal>Default</literal></entry></row>
- <row>
- <entry align="left" valign="top"><literal>actionIcon</literal></entry>
- <entry align="left" valign="top"><literal>ActionIcon</literal></entry>
- <entry align="left" valign="top"><literal>string</literal></entry>
- <entry align="left" valign="top">``Dtactn''</entry></row>
- <row>
- <entry align="left" valign="top"><literal>dtEnvMapForRemote</literal></entry>
- <entry align="left" valign="top"><literal>DtEnvMapForRemote</literal></entry>
- <entry align="left" valign="top"><literal>string</literal></entry>
- <entry align="left" valign="top">``DTAPPSEARCHPATH:DTHELPSEARCHPATH:DTDATABASESEARCHPATH:XMICONSEARCHPATH:XMICONBMSEARCHPATH''</entry></row>
- <row>
- <entry align="left" valign="top"><literal>dtexecPath</literal></entry>
- <entry align="left" valign="top"><literal>DtexecPath</literal></entry>
- <entry align="left" valign="top"><literal>string</literal></entry>
- <entry align="left" valign="top">``/usr/dt/bin/dtexec''</entry></row>
- <row>
- <entry align="left" valign="top"><literal>dtTmpDir</literal></entry>
- <entry align="left" valign="top"><literal>DtTempDir</literal></entry>
- <entry align="left" valign="top"><literal>string</literal></entry>
- <entry align="left" valign="top">``$HOME/.dt/tmp''</entry></row>
- <row>
- <entry align="left" valign="top"><literal>executionHostLogging</literal></entry>
- <entry align="left" valign="top"><literal>ExecutionHostLogging</literal></entry>
- <entry align="left" valign="top"><literal>string</literal></entry>
- <entry align="left" valign="top">``False''</entry></row>
- <row>
- <entry align="left" valign="top"><literal>executionHosts</literal></entry>
- <entry align="left" valign="top"><literal>ExecutionHosts</literal></entry>
- <entry align="left" valign="top"><literal>string</literal></entry>
- <entry align="left" valign="top">``%DatabaseHost%, %LocalHost%''</entry></row>
- <row>
- <entry align="left" valign="top"><literal>localTerminal</literal></entry>
- <entry align="left" valign="top"><literal>LocalTerminal</literal></entry>
- <entry align="left" valign="top"><literal>string</literal></entry>
- <entry align="left" valign="top">``dtterm''</entry></row>
- <row>
- <entry align="left" valign="top"><literal>remoteTerminals</literal></entry>
- <entry align="left" valign="top"><literal>RemoteTerminals</literal></entry>
- <entry align="left" valign="top"><literal>string</literal></entry>
- <entry align="left" valign="top">None</entry></row>
- <row>
- <entry align="left" valign="top"><literal>waitTime</literal></entry>
- <entry align="left" valign="top"><literal>WaitTime</literal></entry>
- <entry align="left" valign="top"><literal>number</literal></entry>
- <entry align="left" valign="top">3</entry></row></tbody></tgroup></informaltable>
- <variablelist>
- <varlistentry><term><literal>actionIcon</literal></term>
- <listitem>
- <para>Specifies the default value of the <systemitem class="Constant">ICON</systemitem> field for actions that do not define the field. The default
- value of this resource is <literal>Dtactn</literal>.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>dtEnvMapForRemote</literal></term>
- <listitem>
- <para>Specifies a colon-separated list of environment variables names. Each
- variable contains a colon-separated list of pathnames to be mapped for remote
- actions (see &cdeman.tt.file.netfile; and &cdeman.tt.netfile.file;</para>
- <para>Only environment variables in the user's current environment (see <emphasis>environ</emphasis>(5)) are mapped. Supplemental environment variables such
- as those added by &cdeman.dtspcdenv;, for example, are not
- mapped.</para>
- <para>If a pathname contains substitution characters, only the portion of
- the path up to the first percent character is mapped, with the remaining portion
- appended to the resulting mapped portion. For example, if <systemitem class="EnvironVar">NLSPATH</systemitem> is set to <literal>/system/nlslib/%L/%N.cat</literal>,
- it maps to <literal>/net/host/system/nlslib/%L/%N.cat</literal>.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>dtexecPath</literal></term>
- <listitem>
- <para>Specifies the location of the &cdeman.dtexec; command that
- is used for terminal-based actions. The default value is <Filename>/usr/dt/bin/dtexec</Filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>dtTmpDir</literal></term>
- <listitem>
- <para>Specifies the full pathname of the directory to be used for holding
- temporary files created during action invocation. The directory must be visible
- to remote hosts used for action execution.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>executionHostLogging</literal></term>
- <listitem>
- <para>Turns on and off detailed logging to the user's <Filename>$HOME/.dt/errorlog</Filename> of action invocation events. The default value is False, which
- disables logging. Logging is enabled if this resource is set to True.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>executionHosts</literal></term>
- <listitem>
- <para>Specifies the default value of the <systemitem class="Constant">EXEC_HOST</systemitem> field for <systemitem class="Constant">COMMAND</systemitem>
- actions that do not define the field. The default value is <literal>%DatabaseHost%,%LocalHost%</literal>.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>localTerminal</literal></term>
- <listitem>
- <para>Specifies an alternative terminal emulator for terminal-based actions
- that execute locally. Any terminal emulator specified by this resource must
- support the <literal>−title</literal> and <literal>−e</literal>
- options as described in &cdeman.dtterm;. The default value is &cdeman.dtterm;.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>remoteTerminals</literal></term>
- <listitem>
- <para>Specifies the terminal emulator to use for terminal-based actions that
- execute on the named system. The value of this resource is a comma-separated
- list of the form <symbol role="Variable">host</symbol>:<emphasis>terminal-path</emphasis> where <emphasis>terminal-path</emphasis> is the terminal emulator
- used when invoking terminal-based actions on <symbol role="Variable">host</symbol>
- host. The default terminal emulator used for any host not specified
- by this resource is the emulator specified by the <systemitem class="Constant">localTerminal</systemitem> resource.</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>waitTime</literal></term>
- <listitem>
- <para>Specifies the time threshold used for <systemitem class="Constant">COMMAND</systemitem> actions that specify <systemitem class="Constant">WINDOW_TYPE</systemitem> <systemitem class="Constant">TERMINAL</systemitem>. If the command
- exits in less than <emphasis>waitTime</emphasis> seconds, the terminal window
- is left open. The default value is 3.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
- <refsect1>
- <title>EXAMPLES</title>
- <para>The following action is defined to pipe its argument through the <command>pr</command>(1) and <command>lp</command>(1) commands:</para>
- <informalexample remap="indent">
- <programlisting>ACTION PrintText
- {
- ICON printer
- DESCRIPTION Paginate and print a text file to the \
- default printer.
- ARG_TYPE Text
- TYPE COMMAND
- EXEC_STRING sh −c 'pr %Arg_1"File to print:"% | lp'
- WINDOW_TYPE NO_STDIO
- }</programlisting>
- </informalexample>
- <para>The following action defines that <emphasis>Open</emphasis> on Text
- files use the EditText action:</para>
- <informalexample remap="indent">
- <programlisting>ACTION Open
- {
- ARG_TYPE Text
- TYPE MAP
- MAP_ACTION EditText
- }</programlisting>
- </informalexample>
- <para>The following action is defined to send the ToolTalk Display request
- message for non-writable objects:</para>
- <informalexample remap="indent">
- <programlisting>ACTION Display
- {
- ARG_CLASS BUFFER
- ARG_MODE !w
- TYPE TT_MSG
- TT_CLASS TT_REQUEST
- TT_SCOPE TT_SESSION
- TT_OPERATION Display
- TT_ARG0_MODE TT_IN
- TT_ARG0_VTYPE %Arg_1%
- TT_ARG0_VALUE %Arg_1%
- }</programlisting>
- </informalexample>
- </refsect1>
- <refsect1>
- <title>APPLICATION USAGE</title>
- <para>Errors encountered when loading database files are written to the user's <Filename>$HOME/.dt/errorlog</Filename>. Errors encountered in the value of an action
- field cause the field to be rejected. If the field is a required field, the
- entire action definition is rejected. Errors encountered when an action is
- invoked cause an error dialog to be displayed to the user.</para>
- </refsect1>
- <refsect1>
- <title>SEE ALSO</title>
- <para><filename role="Header">Tt/tt_c.h,</filename> &cdeman.dtdtfile;, &cdeman.dtdtsfile;, &cdeman.DtActionInvoke;, &cdeman.tt.file.netfile;, &cdeman.tt.netfile.file;, &cdeman.dtterm;.
- </para>
- </refsect1>
- </refentry>
- <!--fickle 1.12 mancsf-to-docbook 1.2 08/07/95 01:31:55-->
- <?Pub *0000075778>
|