doc: move C to en_US.UTF-8.

This commit is contained in:
Liang Chang
2022-01-20 02:27:30 +08:00
parent a1a43180ac
commit 53e4feeb32
2137 changed files with 43 additions and 45 deletions

View File

@@ -0,0 +1,88 @@
<!-- $XConsortium: BEntity.sgm /main/8 1996/07/29 15:25:14 cdedoc $ -->
<!ENTITY SAG.LogMg.fig.1 SYSTEM "./sysAdminGuide/graphics/sag1.cgm" NDATA CGM-BINARY>
<!ENTITY SAG.LogMg.fig.2 SYSTEM "./sysAdminGuide/graphics/login.tif" NDATA TIFF>
<!ENTITY SAG.CnfAM.fig.1 SYSTEM "./sysAdminGuide/graphics/appmgrwc.tif" NDATA TIFF>
<!ENTITY SAG.CnfAM.fig.2 SYSTEM "./sysAdminGuide/graphics/appgath.tif" NDATA TIFF>
<!ENTITY SAG.CnfAM.fig.3 SYSTEM "./sysAdminGuide/graphics/TextPad.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.1 SYSTEM "./sysAdminGuide/graphics/appmgrwi.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.2 SYSTEM "./sysAdminGuide/graphics/appgroup.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.3 SYSTEM "./sysAdminGuide/graphics/datatype.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.4 SYSTEM "./sysAdminGuide/graphics/approot.cgm" NDATA CGM-BINARY>
<!ENTITY SAG.RegAp.fig.5 SYSTEM "./sysAdminGuide/graphics/appmgrwi.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.6 SYSTEM "./sysAdminGuide/graphics/types.cgm" NDATA CGM-BINARY>
<!ENTITY SAG.RegAp.fig.7 SYSTEM "./sysAdminGuide/graphics/appmgr.cgm" NDATA CGM-BINARY>
<!ENTITY SAG.RegAp.fig.8 SYSTEM "./sysAdminGuide/graphics/connect.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.9 SYSTEM "./sysAdminGuide/graphics/connecti.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.10 SYSTEM "./sysAdminGuide/graphics/actionna.tif" NDATA TIFF>
<!ENTITY SAG.ClSrv.fig.1 SYSTEM "./sysAdminGuide/graphics/appserv.tif" NDATA TIFF>
<!ENTITY SAG.ClSrv.fig.2 SYSTEM "./sysAdminGuide/graphics/fileserv.tif" NDATA TIFF>
<!ENTITY SAG.ClSrv.fig.3 SYSTEM "./sysAdminGuide/graphics/sesserve.tif" NDATA TIFF>
<!ENTITY SAG.ClSrv.fig.4 SYSTEM "./sysAdminGuide/graphics/complexa.tif" NDATA TIFF>
<!ENTITY SAG.ClSrv.fig.5 SYSTEM "./sysAdminGuide/graphics/appserv1.tif" NDATA TIFF>
<!ENTITY SAG.ClSrv.fig.6 SYSTEM "./sysAdminGuide/graphics/nfsbased.tif" NDATA TIFF>
<!ENTITY SAG.IntAc.fig.1 SYSTEM "./sysAdminGuide/graphics/actions1.tif" NDATA TIFF>
<!ENTITY SAG.IntAc.fig.2 SYSTEM "./sysAdminGuide/graphics/DtApps.tif" NDATA TIFF>
<!ENTITY SAG.IntAc.fig.3 SYSTEM "./sysAdminGuide/graphics/XwdDispl.tif" NDATA TIFF>
<!ENTITY SAG.IntAc.fig.4 SYSTEM "./sysAdminGuide/graphics/ActIcon.tif" NDATA TIFF>
<!ENTITY SAG.IntAc.fig.5 SYSTEM "./sysAdminGuide/graphics/ActIconI.tif" NDATA TIFF>
<!ENTITY SAG.IntAc.fig.6 SYSTEM "./sysAdminGuide/graphics/Open4Xwd.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.1 SYSTEM "./sysAdminGuide/graphics/CreActIc.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.2 SYSTEM "./sysAdminGuide/graphics/creatact.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.3 SYSTEM "./sysAdminGuide/graphics/advcract.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.4 SYSTEM "./sysAdminGuide/graphics/adddtype.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.5 SYSTEM "./sysAdminGuide/graphics/idchar.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.6 SYSTEM "./sysAdminGuide/graphics/inclfile.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.7 SYSTEM "./sysAdminGuide/graphics/idname.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.8 SYSTEM "./sysAdminGuide/graphics/permpat.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.9 SYSTEM "./sysAdminGuide/graphics/content.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.10 SYSTEM "./sysAdminGuide/graphics/findset.tif" NDATA TIFF>
<!ENTITY SAG.CrAct.fig.1 SYSTEM "./sysAdminGuide/graphics/actionfs.tif" NDATA TIFF>
<!ENTITY SAG.CrAct.fig.2 SYSTEM "./sysAdminGuide/graphics/actionic.tif" NDATA TIFF>
<!ENTITY SAG.FrPC.fig.1 SYSTEM "./sysAdminGuide/graphics/fpboxes.tif" NDATA TIFF>
<!ENTITY SAG.FrPC.fig.2 SYSTEM "./sysAdminGuide/graphics/fpmainbo.tif" NDATA TIFF>
<!ENTITY SAG.FrPC.fig.3 SYSTEM "./sysAdminGuide/graphics/fpsubbox.tif" NDATA TIFF>
<!ENTITY SAG.FACol.fig.1 SYSTEM "./sysAdminGuide/graphics/colorset.tif" NDATA TIFF>

View File

@@ -0,0 +1,3 @@
# $XConsortium: Title.tmpl /main/2 1996/06/19 16:04:46 drk $
# TOC title, only what's between quotes should be modified.
SYSADMINGUIDE_TITLE = "Advanced User's and System Administrator's Guide"

View File

@@ -0,0 +1,3 @@
/* $XConsortium: Title.tmpl /main/2 1996/06/19 16:04:46 drk $ */
/* TOC title, only what's between quotes should be modified. */
title = "Advanced User's and System Administrator's Guide"

View File

@@ -0,0 +1,162 @@
<!-- $XConsortium: adbook.sgm /main/8 1996/07/29 15:25:32 cdedoc $ -->
<!DOCTYPE DocBook PUBLIC "-//HaL and O'Reilly//DTD DocBook V2.2.1//EN" [
<!ENTITY SAG.LogMg.fig.1 SYSTEM "./graphics/sag1.cgm" NDATA CGM-BINARY>
<!ENTITY SAG.LogMg.fig.2 SYSTEM "./graphics/login.tif" NDATA TIFF>
<!ENTITY SAG.CnfAM.fig.1 SYSTEM "./graphics/appmgrwc.tif" NDATA TIFF>
<!ENTITY SAG.CnfAM.fig.2 SYSTEM "./graphics/appgath.tif" NDATA TIFF>
<!ENTITY SAG.CnfAM.fig.3 SYSTEM "./graphics/TextPad.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.1 SYSTEM "./graphics/appmgrwi.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.2 SYSTEM "./graphics/appgroup.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.3 SYSTEM "./graphics/datatype.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.4 SYSTEM "./graphics/approot.cgm" NDATA CGM-BINARY>
<!ENTITY SAG.RegAp.fig.5 SYSTEM "./graphics/appmgrwi.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.6 SYSTEM "./graphics/types.cgm" NDATA CGM-BINARY>
<!ENTITY SAG.RegAp.fig.7 SYSTEM "./graphics/appmgr.cgm" NDATA CGM-BINARY>
<!ENTITY SAG.RegAp.fig.8 SYSTEM "./graphics/connect.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.9 SYSTEM "./graphics/connecti.tif" NDATA TIFF>
<!ENTITY SAG.RegAp.fig.10 SYSTEM "./graphics/actionna.tif" NDATA TIFF>
<!ENTITY SAG.ClSrv.fig.1 SYSTEM "./graphics/appserv.tif" NDATA TIFF>
<!ENTITY SAG.ClSrv.fig.2 SYSTEM "./graphics/fileserv.tif" NDATA TIFF>
<!ENTITY SAG.ClSrv.fig.3 SYSTEM "./graphics/sesserve.tif" NDATA TIFF>
<!ENTITY SAG.ClSrv.fig.4 SYSTEM "./graphics/complexa.tif" NDATA TIFF>
<!ENTITY SAG.ClSrv.fig.5 SYSTEM "./graphics/appserv1.tif" NDATA TIFF>
<!ENTITY SAG.ClSrv.fig.6 SYSTEM "./graphics/nfsbased.tif" NDATA TIFF>
<!ENTITY SAG.IntAc.fig.1 SYSTEM "./graphics/actions1.tif" NDATA TIFF>
<!ENTITY SAG.IntAc.fig.2 SYSTEM "./graphics/DtApps.tif" NDATA TIFF>
<!ENTITY SAG.IntAc.fig.3 SYSTEM "./graphics/XwdDispl.tif" NDATA TIFF>
<!ENTITY SAG.IntAc.fig.4 SYSTEM "./graphics/ActIcon.tif" NDATA TIFF>
<!ENTITY SAG.IntAc.fig.5 SYSTEM "./graphics/ActIconI.tif" NDATA TIFF>
<!ENTITY SAG.IntAc.fig.6 SYSTEM "./graphics/Open4Xwd.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.1 SYSTEM "./graphics/CreActIc.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.2 SYSTEM "./graphics/creatact.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.3 SYSTEM "./graphics/advcract.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.4 SYSTEM "./graphics/adddtype.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.5 SYSTEM "./graphics/idchar.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.6 SYSTEM "./graphics/inclfile.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.7 SYSTEM "./graphics/idname.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.8 SYSTEM "./graphics/permpat.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.9 SYSTEM "./graphics/content.tif" NDATA TIFF>
<!ENTITY SAG.dtCrA.fig.10 SYSTEM "./graphics/findset.tif" NDATA TIFF>
<!ENTITY SAG.CrAct.fig.1 SYSTEM "./graphics/actionfs.tif" NDATA TIFF>
<!ENTITY SAG.CrAct.fig.2 SYSTEM "./graphics/actionic.tif" NDATA TIFF>
<!ENTITY SAG.FrPC.fig.1 SYSTEM "./graphics/fpboxes.tif" NDATA TIFF>
<!ENTITY SAG.FrPC.fig.2 SYSTEM "./graphics/fpmainbo.tif" NDATA TIFF>
<!ENTITY SAG.FrPC.fig.3 SYSTEM "./graphics/fpsubbox.tif" NDATA TIFF>
<!ENTITY SAG.FACol.fig.1 SYSTEM "./graphics/colorset.tif" NDATA TIFF>
<!ENTITY % local.notations "| XPM | XBM | XWD">
<!NOTATION XPM SYSTEM "XPM">
<!NOTATION XBM SYSTEM "XBM">
<!NOTATION XWD SYSTEM "XWD">
<!ENTITY Copyr SYSTEM "./copyright.sgm">
<!ENTITY Pref SYSTEM "./preface.sgm">
<!ENTITY LogMg SYSTEM "./ch01.sgm">
<!ENTITY SesMg SYSTEM "./ch02.sgm">
<!ENTITY CnfAM SYSTEM "./ch03.sgm">
<!ENTITY RegAp SYSTEM "./ch04.sgm">
<!ENTITY ClSrv SYSTEM "./ch05.sgm">
<!ENTITY PrCnf SYSTEM "./ch06.sgm">
<!ENTITY Datab SYSTEM "./ch07.sgm">
<!ENTITY IntAc SYSTEM "./ch08.sgm">
<!ENTITY dtCrA SYSTEM "./ch09.sgm">
<!ENTITY CrAct SYSTEM "./ch10.sgm">
<!ENTITY CrDT SYSTEM "./ch11.sgm">
<!ENTITY CrIcn SYSTEM "./ch12.sgm">
<!ENTITY FrPC SYSTEM "./ch13.sgm">
<!ENTITY WMCnf SYSTEM "./ch14.sgm">
<!ENTITY FACol SYSTEM "./ch15.sgm">
<!ENTITY I18N SYSTEM "./ch16.sgm">
]>
<!-- ____________________________________________________________________________ -->
<DocBook>
<Book>
<Title>Common Desktop Environment: Advanced User's and System Administrator's Guide</Title>
&Copyr;
&Pref;
&LogMg;
&SesMg;
&CnfAM;
&RegAp;
&ClSrv;
&PrCnf;
&Datab;
&IntAc;
&dtCrA;
&CrAct;
&CrDT;
&CrIcn;
&FrPC;
&WMCnf;
&FACol;
&I18N;
</Book>
</DocBook>

View File

@@ -0,0 +1,90 @@
<!-- $XConsortium: book.sgm /main/5 1996/07/13 15:46:31 rws $ -->
<!DOCTYPE Book PUBLIC "-//HaL and O'Reilly//DTD DocBook//EN" [
<!ENTITY % ISOpublishing PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN">
%ISOpublishing;
<!ENTITY % ISOnumeric PUBLIC "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN">
%ISOnumeric;
<!ENTITY % ISOdiacritical PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN">
%ISOdiacritical;
<!ENTITY % ISOgeneraltech PUBLIC "ISO 8879:1986//ENTITIES General Technical//EN">
%ISOgeneraltech;
<!ENTITY % ISOalatin1 PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN">
%ISOalatin1;
<!ENTITY % ISOalatin2 PUBLIC "ISO 8879:1986//ENTITIES Added Latin 2//EN">
%ISOalatin2;
<!ENTITY % ISOgreek PUBLIC "ISO 8879:1986//ENTITIES Greek Symbols//EN">
%ISOgreek;
<!ENTITY % ISOgreekletters PUBLIC "ISO 8879:1986//ENTITIES Greek Letters//EN">
%ISOgreekletters;
<!ENTITY % ISOboxandline PUBLIC "ISO 8879:1986//ENTITIES Box and Line Drawing//EN">
%ISOboxandline;
<!ENTITY % BEntities SYSTEM "./sysAdminGuide/BEntity.sgm">
%BEntities;
<!ENTITY % local.notations "| XPM | XBM | XWD">
<!NOTATION XPM SYSTEM "XPM">
<!NOTATION XBM SYSTEM "XBM">
<!NOTATION XWD SYSTEM "XWD">
<!ENTITY Pref SYSTEM "./sysAdminGuide/preface.sgm">
<!ENTITY LogMg SYSTEM "./sysAdminGuide/ch01.sgm">
<!ENTITY SesMg SYSTEM "./sysAdminGuide/ch02.sgm">
<!ENTITY CnfAM SYSTEM "./sysAdminGuide/ch03.sgm">
<!ENTITY RegAp SYSTEM "./sysAdminGuide/ch04.sgm">
<!ENTITY ClSrv SYSTEM "./sysAdminGuide/ch05.sgm">
<!ENTITY PrCnf SYSTEM "./sysAdminGuide/ch06.sgm">
<!ENTITY Datab SYSTEM "./sysAdminGuide/ch07.sgm">
<!ENTITY IntAc SYSTEM "./sysAdminGuide/ch08.sgm">
<!ENTITY dtCrA SYSTEM "./sysAdminGuide/ch09.sgm">
<!ENTITY CrAct SYSTEM "./sysAdminGuide/ch10.sgm">
<!ENTITY CrDT SYSTEM "./sysAdminGuide/ch11.sgm">
<!ENTITY CrIcn SYSTEM "./sysAdminGuide/ch12.sgm">
<!ENTITY FrPC SYSTEM "./sysAdminGuide/ch13.sgm">
<!ENTITY WMCnf SYSTEM "./sysAdminGuide/ch14.sgm">
<!ENTITY FACol SYSTEM "./sysAdminGuide/ch15.sgm">
<!ENTITY I18N SYSTEM "./sysAdminGuide/ch16.sgm">
]>
<!-- ____________________________________________________________________________ -->
<Book>
<Title>Common Desktop Environment: Advanced User's and System Administrator's Guide</Title>
&Pref;
&LogMg;
&SesMg;
&CnfAM;
&RegAp;
&ClSrv;
&PrCnf;
&Datab;
&IntAc;
&dtCrA;
&CrAct;
&CrDT;
&CrIcn;
&FrPC;
&WMCnf;
&FACol;
&I18N;
</Book>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,896 @@
<!-- $XConsortium: ch02.sgm /main/10 1996/09/08 19:32:24 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->
<Chapter Id="SAG.SesMg.div.1">
<Title Id="SAG.SesMg.mkr.1">Configuring Session Manager</Title>
<Para>Session Manager is responsible for starting the desktop and automatically
saving and restoring running applications, colors, fonts, mouse behavior, audio
volume, and keyboard click.</Para>
<Para>Using Session Manager, you can:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Customize the initial session for all desktop users</Para>
</ListItem>
<ListItem>
<Para>Customize the environment and resources for all desktop users</Para>
</ListItem>
<ListItem>
<Para>Change the session startup message</Para>
</ListItem>
<ListItem>
<Para>Change parameters for session startup tools and daemons</Para>
</ListItem>
<ListItem>
<Para>Customize desktop color usage for all users</Para>
</ListItem>
</ItemizedList>
<InformalTable Id="SAG.SesMg.itbl.1" Frame="All">
<TGroup Cols="1">
<ColSpec Colname="1" Colwidth="4.125 in">
<TBody>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'What Is a Session?23'--><XRef Role="JumpText" Linkend="SAG.SesMg.div.2"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Starting a Session25'--><XRef Role="JumpText" Linkend="SAG.SesMg.div.7"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'When a Session Starts25'--><XRef Role="JumpText" Linkend="SAG.SesMg.div.8"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Additional Session Startup Customizations32'--><XRef Role="JumpText" Linkend="SAG.SesMg.div.21"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Session Manager Files and Directories37'--><XRef Role="JumpText" Linkend="SAG.SesMg.div.32"></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Sect1 Id="SAG.SesMg.div.2">
<Title Id="SAG.SesMg.mkr.2">What Is a Session?<IndexTerm><Primary>Session Manager</Primary><Secondary>introduction</Secondary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>definition</Secondary></IndexTerm></Title>
<Para>A session is the collection of applications, settings, and resources present on
the user's desktop. Session management is a set of conventions and protocols
that enables Session Manager to save and restore a user's session. A user is able
to log into the system and be presented with the same set of running
applications, settings, and resources as were present when the user logged off.
When a user logs into the desktop for the first time, a
default initial session is
loaded. Afterward, Session Manager supports the notion of a
current and a home session.<IndexTerm><Primary>session</Primary><Secondary>default</Secondary></IndexTerm><IndexTerm><Primary>current session</Primary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>current</Secondary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>home</Secondary></IndexTerm><IndexTerm><Primary>home session</Primary></IndexTerm>
</Para>
<Sect2 Id="SAG.SesMg.div.3">
<Title>The Initial Session<IndexTerm><Primary>session</Primary><Secondary>default</Secondary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>initial</Secondary></IndexTerm></Title>
<Para>When a user logs into the desktop for the first time, Session Manager will
generate the user's initial session using system default values. By default, the
File Manager and Information Manager will start. The Information Manager displays
introductory information about the CDE desktop.
</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.4">
<Title>Current Session<IndexTerm><Primary>session</Primary><Secondary>current</Secondary></IndexTerm><IndexTerm><Primary>current session</Primary></IndexTerm></Title>
<Para>The user's running session is always considered the current session, whether
restored upon login from a saved home session, a saved current session, or the
system default initial session. Based on the user's Style Manager Startup
settings, when the user exits the session, Session Manager automatically saves
the current session. When the user next logs in to the desktop, Session
Manager restarts the previously saved current session, meaning that the
desktop will be restored to the same state as when the user last logged out.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.5">
<Title>Home Session<IndexTerm><Primary>session</Primary><Secondary>home</Secondary></IndexTerm><IndexTerm><Primary>home session</Primary></IndexTerm></Title>
<Para>You can also have the desktop restored to the same state every time the user
logs in, regardless of its state when the user logged out. The user can save the
state of the current session and then, using the Style Manager Startup settings,
have Session Manager start that session every time the user logs in.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.6">
<Title>Display-Specific Sessions<IndexTerm><Primary>session</Primary><Secondary>display-specific</Secondary></IndexTerm></Title>
<Para>To run a specific session for a specific display, a user can create a display-
specific session. To do this, the user can copy the
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions</Filename> directory to <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/</Filename><Symbol Role="Variable">display</Symbol>, where
<Symbol Role="Variable">display</Symbol> is the real, unqualified host name (for example, <Filename>pablo:0</Filename> is valid,
<Filename>pablo.gato.com:0</Filename> or <Filename>unix:0</Filename> is not). When the user logs in on display
<Filename>pablo:0</Filename>, Session Manager will start that display-specific session.</Para>
</Sect2>
</Sect1>
<Sect1 Id="SAG.SesMg.div.7">
<Title Id="SAG.SesMg.mkr.3">Starting a Session<IndexTerm><Primary>session</Primary><Secondary>starting</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>starting</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>See also, session</Secondary></IndexTerm></Title>
<Para>Session Manager is started through <Filename>/usr/dt/bin/<IndexTerm>
<Primary>Xsession file</Primary>
<Secondary>starting Session Manager</Secondary>
</IndexTerm>
Xsession</Filename>. When the user
logs in using the Login Manager, <Command>Xsession</Command> is started by default.</Para>
<Para>Optionally, the user can log in using the traditional character mode<IndexTerm>
<Primary>getty</Primary>
</IndexTerm>
(<Command>getty</Command>)
login, and start Session Manager manually using tools that start an X server,
such as <Command>xinit</Command>. For example: <Command>xinit /usr/dt/bin/Xsession</Command>.</Para>
</Sect1>
<Sect1 Id="SAG.SesMg.div.8">
<Title Id="SAG.SesMg.mkr.4">When a Session Starts</Title>
<Para>When Session Manager is started, it goes through the following steps to start
the user's session:</Para>
<OrderedList>
<ListItem>
<Para>Sources the <Symbol Role="Variable">HomeDirectory</Symbol><Filename><IndexTerm>
<Primary>.dtprofile file</Primary>
<Secondary>sourcing in</Secondary>
</IndexTerm>/.dtprofile</Filename> script</Para>
</ListItem>
<ListItem>
<Para>Sources the <Filename><IndexTerm>
<Primary>Xsession.d directory</Primary>
</IndexTerm>Xsession.d</Filename> scripts</Para>
</ListItem>
<ListItem>
<Para>Displays a<IndexTerm>
<Primary>Session Manager</Primary>
<Secondary>welcome message</Secondary>
</IndexTerm><IndexTerm>
<Primary>welcome message</Primary>
<Secondary>displaying</Secondary>
</IndexTerm>
welcome message</Para>
</ListItem>
<ListItem>
<Para>Sets up<IndexTerm>
<Primary>desktop search paths</Primary>
</IndexTerm>
desktop search paths</Para>
</ListItem>
<ListItem>
<Para>Gathers available applications</Para>
</ListItem>
<ListItem>
<Para>Optionally sources <Symbol Role="Variable">HomeDirectory</Symbol><Filename><IndexTerm>
<Primary>.profile file[profile file]</Primary>
</IndexTerm>/.profile</Filename> or <Symbol Role="Variable">HomeDirectory</Symbol><Filename><IndexTerm>
<Primary>.login file[login file]</Primary>
</IndexTerm>/.login</Filename></Para>
</ListItem>
<ListItem>
<Para>Starts the<IndexTerm>
<Primary>ToolTalk</Primary>
<Secondary>messaging daemon</Secondary>
</IndexTerm>
ToolTalk<Superscript>&reg;</Superscript> messaging daemon</Para>
</ListItem>
<ListItem>
<Para>Loads<IndexTerm>
<Primary>session</Primary>
<Secondary>resources</Secondary>
</IndexTerm><IndexTerm>
<Primary>resources</Primary>
<Secondary>session</Secondary>
</IndexTerm>
session resources</Para>
</ListItem>
<ListItem>
<Para>Starts the<IndexTerm>
<Primary>color server</Primary>
</IndexTerm>
color server</Para>
</ListItem>
<ListItem>
<Para>Starts the<IndexTerm>
<Primary>Workspace Manager</Primary>
<Secondary>starting</Secondary>
</IndexTerm>
Workspace Manager</Para>
</ListItem>
<ListItem>
<Para>Starts the session<IndexTerm>
<Primary>applications</Primary>
<Secondary>starting at login</Secondary>
</IndexTerm>
applications</Para>
</ListItem>
</OrderedList>
<Para>The following sections describe the steps listed above.</Para>
<Sect2 Id="SAG.SesMg.div.9">
<Title>Sourcing the .dtprofile Script<IndexTerm><Primary>.dtprofile file</Primary><Secondary>sourcing in</Secondary></IndexTerm></Title>
<Para>At session startup, the <Command><IndexTerm>
<Primary>Xsession file</Primary>
</IndexTerm>Xsession</Command> script sources the user's
<Symbol Role="Variable">HomeDirectory</Symbol><Filename><IndexTerm>
<Primary>environment variables</Primary>
<Secondary>in .dtprofile</Secondary>
</IndexTerm>/.dtprofile</Filename> script. The <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename> script is a
<Filename>/bin/sh</Filename> or <Filename>/bin/ksh</Filename> script that enables users to set up<IndexTerm>
<Primary>environment variables</Primary>
<Secondary>in .dtprofile</Secondary>
</IndexTerm>
environment
variables for their sessions. For more information on setting up environment
variables, see
<!--Original XRef content: '&xd2;Additional Session Startup Customizations&xd3; on page&numsp;32'--><XRef Role="HeadingAndPage" Linkend="SAG.SesMg.div.21">.</Para>
<Para>If the <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename> script does not exist, such as when a user is
logging into the desktop for the first time, <Command>Xsession</Command> will copy the desktop
default <Filename>sys.dtprofile</Filename> to<IndexTerm>
<Primary>shell</Primary>
<Secondary>personal customization</Secondary>
</IndexTerm>
<Symbol Role="Variable">HomeDirectory</Symbol><Filename><IndexTerm>
<Primary>.dtprofile file</Primary>
<Secondary>creating</Secondary>
</IndexTerm>/.dtprofile</Filename>.</Para>
<Para><IndexTerm>
<Primary>environment variables</Primary>
<Secondary>default</Secondary>
</IndexTerm>The desktop default is <Filename>/usr/dt/config/sys.dtprofile</Filename><IndexTerm>
<Primary>sys.dtprofile file</Primary>
</IndexTerm>. To customize the<IndexTerm>
<Primary>shell</Primary>
<Secondary>system-wide customization</Secondary>
</IndexTerm>
<Filename>sys.dtprofile</Filename> script, copy <Filename>sys.dtprofile</Filename> from <Filename>/usr/dt/config</Filename> to
<Filename>/etc/dt/config</Filename> and edit the new file.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.10">
<Title Id="SAG.SesMg.mkr.5">Sourcing Xsession.d Scripts<IndexTerm><Primary>Xsession.d directory</Primary><Secondary>scripts in</Secondary></IndexTerm></Title>
<Para>After sourcing the <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename> script, the <Command>Xsession</Command> script
sources the <Filename>Xsession.d</Filename> scripts. These scripts are used to set up additional
environment variables and start optional daemons for the user's session. The
default <Filename>Xsession.d</Filename> scripts are:</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="139*">
<colspec colwidth="389*">
<TBody>
<Row>
<Entry><Para><Filename>0010.dtpaths</Filename></Para></Entry>
<Entry><Para>Documents customizable desktop search paths</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>0020.dtims</Filename></Para></Entry>
<Entry><Para>Starts optional input method server</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>0030.dttmpdir</Filename></Para></Entry>
<Entry><Para>Creates per-user, per-session temporary directory</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>0040.xmbind</Filename></Para></Entry>
<Entry><Para>Sets up <Filename>$XMBINDDIR</Filename> to desktop default</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>There may be additional vendor-specific scripts in <Filename>Xsession.d</Filename>.</Para>
<Para><Command>Xsession</Command> first sources all files in the <Filename>/usr/dt/config/Xsession.d</Filename>
directory, followed by those in the <Command>/etc/dt/config/Xsession.d</Command> directory.</Para>
<Para>The desktop default <Filename>Xsession.d</Filename> scripts are located in the
<Filename>/usr/dt/config/Xsession.d</Filename> directory. To customize an <Filename>Xsession.d</Filename>
script, copy the script from <Filename>/usr/dt/config/Xsession.d</Filename> to
<Filename>/etc/dt/config/Xsession.d</Filename> and edit the new file. You must have execute
permission to perform this task.<IndexTerm><Primary>Xsession.d directory</Primary><Secondary>customizing</Secondary></IndexTerm>
</Para>
<Para>Also, to have <Command>Xsession</Command> automatically source a script of your own, copy it to
<Filename>/etc/dt/config/Xsession.d</Filename>.<IndexTerm><Primary>Xsession file</Primary><Secondary>system-wide customization</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>system-wide customization</Secondary></IndexTerm>
</Para>
<Note>
<Para>When you modify or create an <Filename>Xsession.d</Filename> script, make sure that any
foreground commands you issue are of short duration, as the time taken by the
command will directly affect session startup time. If a foreground command
does not exit, the session startup will hang. Commands run in an <Filename>Xsession.d</Filename>
script that you want to remain running for the duration of the session should
be run in the background.</Para>
</Note>
</Sect2>
<Sect2 Id="SAG.SesMg.div.11">
<Title><IndexTerm><Primary>welcome message</Primary><Secondary>displaying</Secondary></IndexTerm>Displaying the Welcome Message</Title>
<Para>After sourcing <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename> and the <Filename>Xsession.d</Filename> scripts,
<Command>Xsession</Command> displays a welcome message that covers the screen. You can
customize the welcome message displayed, or turn off the message entirely.
The <Command>dthello</Command> client is used to display the message.</Para>
<Para><IndexTerm>
<Primary>welcome message</Primary>
<Secondary>customizing</Secondary>
</IndexTerm>To alter the message text, change the <Command>dthello</Command> options by modifying the
<Filename>dtstart_hello[0]</Filename> variable.</Para>
<Para>To change <Filename>dtstart_hello[0],</Filename> create an <Filename>/etc/dt/config/Xsession.d</Filename>
script that sets the new value. To display the message of the day for all users,
create an executable <Command>sh</Command> or <Command>ksh</Command> script, for example
<Filename>/etc/dt/config/Xsession.d/</Filename><Emphasis>myvars</Emphasis><Filename>,</Filename> and set <Filename>dtstart_hello[0]</Filename> as
follows:</Para>
<ProgramListing>dtstart_hello[0]=&ldquo;/usr/dt/bin/dthello -file /etc/motd &amp;&ldquo;</ProgramListing>
<Para>Similarly, users can change the welcome message for their sessions by setting
<Filename>dtstart_hello[0]</Filename> in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename>.</Para>
<Para>To turn off the welcome message, set <ComputerOutput>dtstart_hello[0]=</ComputerOutput>&ldquo; &ldquo;<ComputerOutput>.</ComputerOutput></Para>
<Para>For more information about <Command>dthello</Command>, see the <Command>dthello</Command> man page.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.12">
<Title>Setting Up the Desktop Search Paths<IndexTerm><Primary>Session Manager</Primary><Secondary>setting search paths</Secondary></IndexTerm><IndexTerm><Primary>search paths</Primary><Secondary>set by Session Manager</Secondary></IndexTerm></Title>
<Para>The desktop search paths are created at login by <Command><IndexTerm>
<Primary>dtsearchpath</Primary>
</IndexTerm>dtsearchpath</Command>. There are
two categories of environment variables used by <Command>dtsearchpath</Command>:</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="126*">
<colspec colwidth="402*">
<TBody>
<Row>
<Entry><Para>Input Variables</Para></Entry>
<Entry><Para>System-wide and personal environment variables
whose values are set by the system administrator or
end user.</Para></Entry>
</Row>
<Row>
<Entry><Para>Output Variables</Para></Entry>
<Entry><Para>Variables created and assigned values by
<Command>dtsearchpath</Command>. The value of each variable is the
search path for the desktop session.</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>To alter the command-line options of <Command>dtsearchpath</Command>, modify the
<Filename>dtstart_searchpath</Filename> variable. To change the <Command><IndexTerm>
<Primary>dtstart_searchpath variable</Primary>
</IndexTerm>dtstart_searchpath</Command>
variable for all users, create an executable <Command>sh</Command> or <Command>ksh</Command> script (for example
<Filename>/etc/dt/config/Xsession.d/</Filename><Emphasis>myvars</Emphasis>), and set <Filename>dtstart_searchpath</Filename> as
follows:</Para>
<ProgramListing>dtstart_searchpath=&ldquo;/usr/dt/bin/dtsearchpath&ldquo;</ProgramListing>
<Para>Users can similarly change the <Command>dtsearchpath</Command> options for their own sessions
only by setting <Filename>dtstart_searchpath</Filename> in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename>.</Para>
<Para>For more information about <Command>dtsearchpath</Command>, see
<!--Original XRef content: 'Chapter&numsp;7, &xd2;Desktop Search
Paths'--><XRef Role="ChapNumAndTitle" Linkend="SAG.Datab.div.1">.
For more information about <Command>dtsearchpath</Command> options, see the
<Command>dtsearchpath</Command> man page.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.13">
<Title>Gathering Available Applications</Title>
<Para>The next step after setting up the desktop search paths is to gather available
applications, using <Command>dtappgather</Command>. To alter the command-line options of<IndexTerm>
<Primary>Application Manager</Primary>
<Secondary>gathering applications</Secondary>
</IndexTerm><IndexTerm>
<Primary>Session Manager</Primary>
<Secondary>gathering applications</Secondary>
</IndexTerm><IndexTerm>
<Primary>applications</Primary>
<Secondary>gathered by Session Manager</Secondary>
</IndexTerm><IndexTerm>
<Primary>dtappgather</Primary>
</IndexTerm>
<Command>dtappgather</Command>, modify the <Filename>dtstart_appgather</Filename> variable. To change the <Command><IndexTerm>
<Primary>dtstart_appgather variable</Primary>
</IndexTerm>dtstart_appgather</Command> variable for all users, create an executable <Command>sh</Command> or <Command>ksh</Command>
script (for example <Filename>/etc/dt/config/Xsession.d/</Filename><Emphasis>myvars</Emphasis>), and set
<Filename>dtstart_appgather</Filename> as follows:</Para>
<ProgramListing>dtstart_appgather=&ldquo;/usr/dt/bin/dtappgather &amp;&ldquo;</ProgramListing>
<Para>Users can similarly change the <Command>dtappgather</Command> options for their own sessions
only by setting <Filename>dtstart_appgather</Filename> in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename>.</Para>
<Para>For more information about <Command>dtappgather</Command> options, see the <Command>dtappgather</Command> <Filename>(4)</Filename>
man page.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.14">
<Title Id="SAG.SesMg.mkr.6">Optionally Sourcing the .profile or .login Script<IndexTerm><Primary>environment variables</Primary><Secondary>sourcing in .login or .profile</Secondary></IndexTerm><IndexTerm><Primary>shell</Primary><Secondary>sourcing in .profile or .login</Secondary></IndexTerm><IndexTerm><Primary>.profile file</Primary><Secondary>sourcing in</Secondary></IndexTerm><IndexTerm><Primary>.login file</Primary><Secondary>sourcing in</Secondary></IndexTerm></Title>
<Para><Command>Xsession</Command> is able to source a user's traditional <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.profile</Filename> or
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.login</Filename> scripts. By default this capability is disabled. To tell
<Command>Xsession</Command> to source the <Filename>.profile</Filename> or <Filename>.login</Filename> script, set <Command><IndexTerm>
<Primary>DTSOURCEPROFILE variable</Primary>
</IndexTerm>DTSOURCEPROFILE</Command>
to <Command>true</Command>.</Para>
<Para>To change <Command>DTSOURCEPROFILE</Command> for all users, create an
<Filename>/etc/dt/config/Xsession.d</Filename> script that sets the new value. To set
<Command>DTSOURCEPROFILE</Command> to <Command>true</Command> for all users, create an executable <Command>sh</Command> or <Command>ksh</Command>
script, for example <Filename>/etc/dt/config/Xsession.d/</Filename><Emphasis>myvars,</Emphasis> and set
<Command>DTSOURCEPROFILE</Command> as follows:</Para>
<ProgramListing>DTSOURCEPROFILE=true</ProgramListing>
<Para>Users can similarly change <Command>DTSOURCEPROFILE</Command> for their own sessions by
setting <Command>DTSOURCEPROFILE</Command> to <Command>true</Command> in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename>.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.15">
<Title>Starting the ToolTalk Messaging Daemon<IndexTerm><Primary>ToolTalk</Primary><Secondary>messaging daemon</Secondary></IndexTerm></Title>
<Para>The ToolTalk messaging daemon, <Command>ttsession</Command>, enables independent
applications to communicate with each other without having direct knowledge
of each other. Applications create and send ToolTalk messages to communicate
with each other. <Command>ttsession</Command> communicates on the network to deliver
messages.</Para>
<Para>To alter the command-line options of <Command><IndexTerm>
<Primary>ttsession</Primary>
<Secondary>starting</Secondary>
</IndexTerm>ttsession</Command>, modify the
<Filename>dtstart_ttsession</Filename> variable. To change the <Command><IndexTerm>
<Primary>dtstart_ttsession variable</Primary>
</IndexTerm>dtstart_ttsession</Command> variable
for all users, create an executable <Command>sh</Command> or <Command>ksh</Command> script (for example
<Filename>/etc/dt/config/Xsession.d/</Filename><Symbol Role="Variable">myvars</Symbol>), and set <Filename>dtstart_ttsession</Filename> as
follows:</Para>
<ProgramListing>dtstart_ttsession=&ldquo;/usr/dt/bin/ttsession -s&ldquo;</ProgramListing>
<Para>Users can similarly change the <Command>ttsession</Command> options for their own sessions by
setting <Filename>dtstart_ttsession</Filename> in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename>.</Para>
<Para>For more information about <Command>ttsession</Command> options, see the <Command>ttsession</Command> man
page. For more information on <Command>ttsession</Command>, see <Emphasis>Getting Started Using ToolTalk
Messaging</Emphasis>.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.16">
<Title>Starting the Session Manager Client<IndexTerm><Primary>Session Manager</Primary><Secondary>client</Secondary></IndexTerm></Title>
<Para>At this point, <Command>Xsession</Command> starts <Filename>/usr/dt/bin/dtsession</Filename>, which continues
the session startup process.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.17">
<Title Id="SAG.SesMg.mkr.7">Loading the Session Resources<IndexTerm><Primary>Session Manager</Primary><Secondary>loading resources</Secondary></IndexTerm><IndexTerm><Primary>resources</Primary><Secondary>loading</Secondary></IndexTerm></Title>
<Para>Session Manager uses the X server <Command>RESOURCE_MANAGER</Command> property to make
desktop resources available to all applications. Session Manager loads the
<Filename>RESOURCE_MANAGER</Filename> by:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Loading the system default resources</Para>
</ListItem>
<ListItem>
<Para>Merging any system-wide resources specified by the system administrator.</Para>
</ListItem>
<ListItem>
<Para>Merging any user-specified resources</Para>
</ListItem>
</ItemizedList>
<Para>The desktop default resources can be found in
<Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename><IndexTerm>
<Primary>sys.resources file</Primary>
</IndexTerm><IndexTerm>
<Primary>resources</Primary>
<Secondary>default desktop</Secondary>
</IndexTerm>/sys.resources</Filename>. These resources will be made
available to each user's session via the <Filename>RESOURCE_MANAGER</Filename> property. This file
should not be edited, as it is overwritten upon subsequent desktop
installations.</Para>
<Para>You can augment the system default resources by creating
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename><IndexTerm>
<Primary>sys.resources file</Primary>
</IndexTerm>/sys.resources</Filename>. In this file, you can override
default resources or specify additional resources for all desktop users. Since
this file is merged into the desktop default resources during session startup,
only new or updated resource specifications should be placed in this file.
Resources specified in this file will be made available to each user's session
through the <Filename>RESOURCE_MANAGER</Filename> property. Resources specified in this file take
precedence over those specified in the desktop default resource file.</Para>
<Para>Users can augment the desktop default and system-wide resources using their
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename> file. Resources specified in this file will be made
available to that user's session through the <Filename>RESOURCE_MANAGER</Filename> property.
Resources specified in this file take precedence over those specified in the
desktop default or system administrator resource files.</Para>
<Note>
<Para>The X Toolkit Intrinsics utility specifies that it will load resources for an
application from either <Filename><IndexTerm>
<Primary>RESOURCE_MANAGER property</Primary>
</IndexTerm>RESOURCE_MANAGER</Filename> or from <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename>, but not both. Ordinarily, this would mean that
the user's <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefault</Filename>s file would be ignored. However, Session
Manager accommodates <Symbol Role="Variable">HomeDirectory</Symbol>/<Filename><IndexTerm>
<Primary>.Xdefaults file[Xdefaults file]</Primary>
</IndexTerm>.Xdefaults</Filename> by merging it into the
<Filename>RESOURCE_MANAGER</Filename> at session startup as described above. If a user changes
<Symbol Role="Variable">HomeDirectory</Symbol>/<Filename>.Xdefaults</Filename>, the changes will not be visible to new
applications until the user invokes the Reload Resources action. The<IndexTerm>
<Primary>Reload Resources action</Primary>
</IndexTerm>
Reload
Resources action will instruct Session Manager to reload the
<Filename>RESOURCE_MANAGER</Filename> with the default, system-wide, and user-specified
resources. This makes changes to the system-wide and personal resource files
available to applications.</Para>
</Note>
<Para>For more information see:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para><!--Original XRef content: '&xd2;Setting Application Resources&xd3; on page&numsp;256'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.FACol.div.2"></Para>
</ListItem>
<ListItem>
<Para>The <Filename>dtresourcesfile(4)</Filename>man page</Para>
</ListItem>
</ItemizedList>
</Sect2>
<Sect2 Id="SAG.SesMg.div.18">
<Title>Starting the Color Server<IndexTerm><Primary>color server</Primary><Secondary>starting</Secondary></IndexTerm></Title>
<Para>Session Manager serves as the<IndexTerm>
<Primary>color server</Primary>
<Secondary>resources</Secondary>
</IndexTerm>
color server for the desktop and provides the
following set of <Command>dtsession</Command> resources that can be used to configure it.</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="1.73in">
<colspec colwidth="4.11in">
<TBody>
<Row>
<Entry><Para><Command>foregroundColor</Command><IndexTerm><Primary>foregroundColor resource</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>Controls whether a pixel is allocated for the foreground
color</Para></Entry>
</Row>
<Row>
<Entry><Para><Command>dynamicColor</Command><IndexTerm><Primary>dynamicColor resource</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>Specifies whether read-only colors are allocated</Para></Entry>
</Row>
<Row>
<Entry><Para><Command>shadowPixmaps</Command><IndexTerm><Primary>shadowPixmaps resource</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>Specifies whether colors are allocated for top shadow
or bottom shadow</Para></Entry>
</Row>
<Row>
<Entry><Para><Command>colorUse</Command><IndexTerm><Primary>colorUse resource</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>Limits color allocation</Para></Entry>
</Row>
<Row>
<Entry><Para><Command>writeXrdbColors</Command><IndexTerm><Primary>writeXrdbColors resource</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>Specifies whether the <Filename>*background</Filename> and
<Filename>*foreground</Filename> resources are placed in the resource
database</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>You can set color server resources for all users by creating
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.resources</Filename> and specifying the color server
resources in that file.</Para>
<Para>Users can similarly set color server resources for their own sessions by
specifying color server resources in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename>.</Para>
<Para>For more information about setting color server resources, see
<!--Original XRef content: '&xd2;Administering
Colors&xd3; on page&numsp;265'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.FACol.div.18">.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.19">
<Title>Starting Workspace Manager<IndexTerm><Primary>Workspace Manager</Primary><Secondary>starting</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>starting Workspace Manager</Secondary></IndexTerm></Title>
<Para>Session Manager is responsible for starting Workspace Manager. By default
<Filename>/usr/dt/bin/<IndexTerm>
<Primary>Workspace Manager</Primary>
<Secondary>starting</Secondary>
</IndexTerm>dtwm</Filename> is started. An alternate window manager can be specified
with the <Command><IndexTerm>
<Primary>wmStartupCommand resource</Primary>
</IndexTerm><IndexTerm>
<Primary>Window Manager</Primary>
<Secondary>changing</Secondary>
</IndexTerm>wmStartupCommand</Command> resource.</Para>
<Para>You can specify an alternate window manager for all users by creating
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.resources</Filename> and specifying the full path
name and options for the window manager with the
<Filename>Dtsession*wmStartupCommand</Filename> resource in that file.</Para>
<Para>Users can similarly specify an alternate window manager for their own
sessions only by specifying the <Filename>Dtsession*wmStartupCommand</Filename> resource in
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename>.</Para>
<Para>For more information about the Window Manager, see
<!--Original XRef content: 'Chapter&numsp;14,
&xd2;Customizing the Workspace Manager'--><XRef Role="ChapNumAndTitle" Linkend="SAG.WMCnf.div.1">.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.20">
<Title>Starting the Session Applications<IndexTerm><Primary>applications</Primary><Secondary>starting at login</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>starting applications</Secondary></IndexTerm></Title>
<Para>At session startup, Session Manager will restart any applications that were
saved as part of the session. The system default set of applications to be
restored as part of the user's initial session can be found in
<Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.session</Filename>.
This file should not be edited as it
will be unconditionally overwritten upon subsequent desktop installations.</Para>
<Para>For more information, see the <Filename MoreInfo="RefEntry">dtsessionfile(4)</Filename>
and <Filename MoreInfo="RefEntry">dtsessiondb(4)</Filename> man pages.<IndexTerm><Primary>sys.session file</Primary></IndexTerm>
</Para>
<Para>A system administrator can replace the set of applications that are started as
part of the user's initial session by copying
<Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.session</Filename> to
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.session</Filename> and modifying the latter file.
Unlike the resource files, this file will be used as a complete replacement for
the desktop default file, so you can make a copy of the system default file and
make any necessary modifications.<IndexTerm><Primary>Session Manager</Primary><Secondary>customizing application startup</Secondary></IndexTerm>
</Para>
</Sect2>
</Sect1>
<Sect1 Id="SAG.SesMg.div.21">
<Title Id="SAG.SesMg.mkr.8">Additional Session Startup Customizations</Title>
<Para>This section covers:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Setting environment variables</Para>
</ListItem>
<ListItem>
<Para>Setting resources</Para>
</ListItem>
<ListItem>
<Para>Using display-dependent sessions</Para>
</ListItem>
<ListItem>
<Para>Running scripts at login</Para>
</ListItem>
<ListItem>
<Para>Recovering a back-up session</Para>
</ListItem>
</ItemizedList>
<Sect2 Id="SAG.SesMg.div.22" Role="Procedure">
<Title Id="SAG.SesMg.mkr.9">To Set Environment Variables<IndexTerm><Primary>environment variables</Primary><Secondary>setting</Secondary></IndexTerm><IndexTerm><Primary>variables</Primary><Secondary>environment, See environment variables</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para><IndexTerm>
<Primary>environment variables</Primary>
<Secondary>system-wide</Secondary>
</IndexTerm>To set system-wide environment variables, create a file in the
<Filename>/etc/dt/config/Xsession.d</Filename><IndexTerm>
<Primary>Xsession.d directory</Primary>
</IndexTerm>
directory that sets and<IndexTerm>
<Primary>environment variables</Primary>
<Secondary>exporting</Secondary>
</IndexTerm>
exports the
variable.</Para>
<Para>For example, if you create an executable <Command>sh</Command> or <Command>ksh</Command> script,
<Filename>/etc/dt/config/Xsession.d/</Filename><Symbol Role="Variable">myvars,</Symbol></Para>
<Para>containing:</Para>
<programlisting>export MYVARIABLE=&ldquo;<Symbol Role="Variable">value</Symbol>&ldquo;</programlisting>
<Para>then the variable <Command>MYVARIABLE</Command> will be set in each user's environment at the
next login.</Para>
</ListItem>
<ListItem>
<Para><IndexTerm>
<Primary>environment variables</Primary>
<Secondary>personal</Secondary>
</IndexTerm>To set personal environment variables, set the variable in
<Symbol Role="Variable">HomeDirectory</Symbol><Filename><IndexTerm>
<Primary>.dtprofile file</Primary>
<Secondary>setting environment variables in</Secondary>
</IndexTerm>/.dtprofile</Filename>.</Para>
<Para>For example:</Para>
<programlisting>export MYVARIABLE=&ldquo;<Symbol Role="Variable">value</Symbol>&ldquo;</programlisting>
<Para>sets the variable <Command>MYVARIABLE</Command> in each user's environment at the next login.</Para>
</ListItem>
</OrderedList>
<Note>
<Para>Session Manager does not automatically read the <Filename><IndexTerm>
<Primary>.profile file</Primary>
<Secondary>not read by Login Manager</Secondary>
</IndexTerm>.profile</Filename> or <Filename><IndexTerm>
<Primary>.login file</Primary>
<Secondary>not read by Login Manager</Secondary>
</IndexTerm><IndexTerm>
<Primary>&lt;$nopage>shell</Primary>
<Secondary>See also environment variables, .profile, .login, .dtprofile</Secondary>
</IndexTerm>.login</Filename>
file. However, it can be configured to use these files; see
<!--Original XRef content: '&xd2;Optionally Sourcing
the .profile or .login Script&xd3; on page&numsp;28'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.SesMg.mkr.6">.</Para>
</Note>
</Sect2>
<Sect2 Id="SAG.SesMg.div.23" Role="Procedure">
<Title>To Set Resources<IndexTerm><Primary>resources</Primary><Secondary>setting</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>To set system-wide resources, add the resources to the file
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.resources</Filename>.
(You may have to create the file.)<IndexTerm><Primary>sys.resources file</Primary></IndexTerm>
</Para>
<Note>
<Para><Filename>.<IndexTerm>
<Primary>.dtprofile file</Primary>
<Secondary>syntax</Secondary>
</IndexTerm>
dtprofile</Filename> only supports <Filename>/bin/sh</Filename> or <Filename>/bin/ksh</Filename> syntax.</Para>
</Note>
<Para>For example, if in <Filename>/etc/dt/config/C/sys.resources</Filename> you specify:</Para>
<ProgramListing>AnApplication*resource: <Symbol Role="Variable">value</Symbol></ProgramListing>
<Para>then the resource <Filename>AnApplication*resource</Filename> will be set in each user's
<Filename>RESOURCE_MANAGER</Filename> property at the next login.<IndexTerm><Primary>RESOURCE_MANAGER property</Primary></IndexTerm>
</Para>
</ListItem>
<ListItem>
<Para>To set personal resources, add the resources to the file
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename>.</Para>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.SesMg.div.24" Role="Procedure">
<Title>To Set Display-Specific Resources<IndexTerm><Primary>display-specific resources</Primary></IndexTerm><IndexTerm><Primary>resources</Primary><Secondary>display-specific</Secondary></IndexTerm></Title>
<Para>You can set display-specific resources for all desktop users on the system. Also,
users can set display-specific resources limited to their own session. This
enables you to specify resources depending upon which display the user uses
to log in to the desktop.</Para>
<OrderedList>
<ListItem>
<Para>To set display-specific resources for all desktop users on the system, create
the file <Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.resources</Filename> that specifies the
display-specific resources.</Para>
</ListItem>
<ListItem>
<Para>To set personal display-specific resources, specify the resource in
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename>.</Para>
</ListItem>
</OrderedList>
<Para>You delimit these resources by enclosing them in <Command><IndexTerm>
<Primary>cpp statements</Primary>
</IndexTerm>cpp</Command> conditional statements.
A <Filename><IndexTerm>
<Primary>DISPLAY_displayname macro</Primary>
</IndexTerm>DISPLAY_</Filename><Emphasis>displayname</Emphasis> macro is defined depending upon the value of the
<Filename>$DISPLAY</Filename> variable. This is done by converting all. (period) and: (colon)
characters to _ (underscores), stripping off any screen specification, and finally
prefixing <Filename>DISPLAY_</Filename> to the result.</Para>
<Para>For example, a <Filename>$DISPLAY</Filename> of <Filename>:0</Filename> would be <Filename>DISPLAY_0</Filename>, and a <Filename>$DISPLAY</Filename> of
<Filename>blanco.gato.com:0.0</Filename> would be <Filename>DISPLAY_blanco_gato_com_0</Filename>. The
resulting value can be used as part of a <Command>cpp</Command> test in a session resource file. For
example, if in <Filename>/etc/dt/config/C/sys.resources</Filename> you specify:</Para>
<programlisting>Myapp*resource: value
#ifdef DISPLAY_blanco_gato_com_0
Myapp*resource: specialvalue1
#endif
#ifdef DISPLAY_pablo_gato_com_0
Myapp*resource: specialvalue2
#endif
</ProgramListing>
<Para>the resource <Filename>MyApp*resource</Filename> will be set in <Filename>RESOURCE_MANAGER</Filename> to
<Filename>specialvalue1</Filename> when the user logs in on display <Filename>blanco.gato.com:0</Filename>;
<Filename>specialvalue2</Filename> when the user logs in on <Filename>pablo.gato.com:0;</Filename> and <Command>value</Command>
when the user logs in on another display.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.25" Role="Procedure">
<Title>To Change Applications for the Initial Session<IndexTerm><Primary>session</Primary><Secondary>first</Secondary></IndexTerm></Title>
<Para>You can specify alternate applications to start as part of a user's initial session.</Para>
<OrderedList>
<ListItem>
<Para>Copy <Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.session</Filename> to
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.session.</Filename></Para>
</ListItem>
<ListItem>
<Para>Modify the new <Filename><IndexTerm>
<Primary>sys.session file</Primary>
</IndexTerm>sys.session</Filename> file.</Para>
<Para>Each entry in <Filename>sys.session</Filename> appears as:</Para>
<programlisting>dtsmcmd -cmd <Replaceable Remap="Emphasis">command_and_options</Replaceable><IndexTerm>
<Primary>dtsmcmd command</Primary>
</IndexTerm></programlisting>
<Para>To start an additional application as part of a user's initial session, specify a
new <Filename>sys.session</Filename> entry with a full path name. For example, to start
<Filename>/usr/bin/X11/xclock</Filename> as part of a user's initial session, add an <Command>xclock</Command>
entry to <Filename>/etc/dt/config/C/sys.resources</Filename>:</Para>
<programlisting>#
# Start up xclock...
#
dtsmcmd -cmd &ldquo;/usr/bin/X11/xclock -digital&ldquo;
</Programlisting>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.SesMg.div.26" Role="Procedure">
<Title>To Set Up a Display-Specific Session<IndexTerm><Primary>session</Primary><Secondary>display-specific</Secondary></IndexTerm><IndexTerm><Primary>display-specific session</Primary></IndexTerm></Title>
<Para>A user can set up a display-specific session to tune a session to a particular
display.</Para>
<OrderedList>
<ListItem>
<Para>Copy the <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/<IndexTerm>
<Primary>sessions directory</Primary>
</IndexTerm>
sessions</Filename> directory to
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/</Filename><Symbol Role="Variable">display</Symbol> where <Symbol Role="Variable">display</Symbol> is the real, unqualified host name
(<Filename>pablo:0</Filename> is valid, <Filename>pablo.gato.com:0</Filename> or <Filename>unix:0</Filename> is not).</Para>
</ListItem>
</OrderedList>
<Para>For example, to create a display-specific session for display
<Filename>pablo.gato.com:0</Filename>:</Para>
<ProgramListing>cp -r <Symbol Role="Variable">HomeDirectory</Symbol>/.dt/sessions <Symbol Role="Variable">HomeDirectory</Symbol>/.dt/pablo:0</ProgramListing>
<Para>When the user next logs in on display <Filename>pablo.gato.com:0</Filename>, the Session
Manager will start that display-specific session.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.27">
<Title>Executing Additional Commands at Session Startup and Logout</Title>
<Para>Users can specify that additional commands be started when they log in to
their desktop sessions. This is useful for setting up X settings that are not saved
by Session Manager. For example, the user can use <Command>xsetroot</Command> to customize the
root (workspace) pointer. Another use would be to start applications that are
unable to be saved and restored by Session Manager. If an application will not
restart when the session is restored, the user can start the client using this
method.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.28" Role="Procedure">
<Title>To Execute Additional Commands at Session Startup<IndexTerm><Primary>Session Manager</Primary><Secondary>executing additional commands</Secondary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>executing commands at startup</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Create the file <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions/sessionetc</Filename>
containing the commands.<IndexTerm><Primary>sessionetc file</Primary></IndexTerm>
</Para>
<Para>Generally this file is a script and must have execute permission. Processes
started in <Command>sessionetc</Command> should be run in the background.</Para>
</ListItem>
</OrderedList>
<Note>
<Para>Do not use <Command>sessionetc</Command> to start clients that are automatically restored
by Session Manager. Doing so can cause multiple copies of the application to
be started. You may not be able to see the copies immediately because the
windows may be stacked on top of one another.</Para>
</Note>
</Sect2>
<Sect2 Id="SAG.SesMg.div.29" Role="Procedure">
<Title>To Execute Additional Commands at Logout<IndexTerm><Primary>session</Primary><Secondary>executing commands at logout</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>executing commands at logout</Secondary></IndexTerm></Title>
<Para>A companion file to <Command>sessionetc</Command> is <Command><IndexTerm>
<Primary>sessionexit file</Primary>
</IndexTerm>sessionexit</Command>. Use <Command>sessionexit</Command> to
perform some operation at session exit that is not handled by Session Manager.</Para>
<OrderedList>
<ListItem>
<Para>Create the file <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions/sessionexit</Filename>.
</Para>
<Para>Like <Command>sessionetc</Command>, this file is usually a script with execute permission.</Para>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.SesMg.div.30" Role="Procedure">
<Title>To Recover a Session from Backup<IndexTerm><Primary>session</Primary><Secondary>recovering</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>backing up sessions</Secondary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>backup</Secondary></IndexTerm></Title>
<Para>When Session Manager saves a session, the session information is stored in the
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions</Filename> directory or in the <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/</Filename><Symbol Role="Variable">display</Symbol>
directory if using a display-specific session. In these directories, Session
Manager creates a subdirectory named <Command>current</Command> or <Command>home</Command> to store information
for the respective current or home session. Before the session information is
stored, Session Manager makes a backup of the prior session with that name
and stores it in <Filename><IndexTerm>
<Primary>current.old directory</Primary>
</IndexTerm>current.old</Filename> or <Filename><IndexTerm>
<Primary>home.old directory</Primary>
</IndexTerm>home.old</Filename>.</Para>
<OrderedList>
<ListItem>
<Para>Log in using the Failsafe Session or Command Line Login from the login
screen.</Para>
</ListItem>
<ListItem>
<Para>Copy the backup session directory to the active name. For example, to
recover the backup home session:</Para>
</ListItem>
</OrderedList>
<ProgramListing>cp -r <Symbol Role="Variable">HomeDirectory</Symbol>/.dt/sessions/home.old <Symbol Role="Variable">HomeDirectory</Symbol>/.dt/sessions/home</ProgramListing>
<Para>Display-specific sessions can be recovered in the same manner.</Para>
</Sect2>
<Sect2 Id="SAG.SesMg.div.31" Role="Procedure">
<Title>To Investigate Session Startup Problems<IndexTerm><Primary>Session Manager</Primary><Secondary>error log</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>troubleshooting</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Check the file <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/startlog</Filename>.<IndexTerm><Primary>startlog file</Primary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>logging errors</Secondary></IndexTerm>
</Para>
<Para>The <Filename>startlog</Filename> file will contain the output (<command>stderr</command>)
from applications started by the Session Manager (on the Session Manager's host).
</Para>
</ListItem>
</OrderedList>
</Sect2>
</Sect1>
<Sect1 Id="SAG.SesMg.div.32">
<Title Id="SAG.SesMg.mkr.10">Session Manager Files and Directories<IndexTerm><Primary>configuration files</Primary><Secondary>Session Manager</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>files</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>directories</Secondary></IndexTerm></Title>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para><Filename>/usr/dt/bin/Xsession</Filename></Para>
</ListItem>
<ListItem>
<Para><Filename>/usr/dt/config/Xsession.d/*</Filename></Para>
</ListItem>
<ListItem>
<Para><Filename>/usr/dt/bin/dtsession</Filename></Para>
</ListItem>
<ListItem>
<Para><Filename>/usr/dt/bin/dtsession_res</Filename></Para>
</ListItem>
<ListItem>
<Para><Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions/current</Filename></Para>
</ListItem>
<ListItem>
<Para><Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions/home</Filename></Para>
</ListItem>
<ListItem>
<Para><Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/</Filename><Symbol Role="Variable">display</Symbol><Filename>/current</Filename></Para>
</ListItem>
<ListItem>
<Para><Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/</Filename><Symbol Role="Variable">display</Symbol>/<Command>home</Command></Para>
</ListItem>
</ItemizedList>
</Sect1>
</Chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 06:16:56-->

View File

@@ -0,0 +1,694 @@
<!-- $XConsortium: ch03.sgm /main/8 1996/09/08 19:32:35 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->
<Chapter Id="SAG.CnfAM.div.1">
<Title Id="SAG.CnfAM.mkr.1">Adding and Administering Applications</Title>
<Para><IndexTerm>
<Primary>Application Manager</Primary>
<Secondary>description</Secondary>
</IndexTerm>Application Manager is the desktop container for applications available to the
user.</Para>
<InformalTable Id="SAG.CnfAM.itbl.1" Frame="All">
<TGroup Cols="1">
<ColSpec Colname="1" Colwidth="4.125 in">
<TBody>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Structure of Application Manager40'--><XRef Role="JumpText" Linkend="SAG.CnfAM.mkr.2"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Adding Applications to Application Manager43'--><XRef Role="JumpText" Linkend="SAG.CnfAM.mkr.6"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Creating and Administering General Application Groups45'--><XRef Role="JumpText" Linkend="SAG.CnfAM.mkr.10"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Modifying the Search Path Used To Locate Applications47'--><XRef Role="JumpText" Linkend="SAG.CnfAM.mkr.11"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'General Application Manager Administration48'--><XRef Role="JumpText" Linkend="SAG.CnfAM.mkr.13"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Changing the Text Editor and Terminal Emulator49'--><XRef Role="JumpText" Linkend="SAG.CnfAM.mkr.14"></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Sect1 Id="SAG.CnfAM.div.2">
<Title Id="SAG.CnfAM.mkr.2">Structure of Application Manager</Title>
<Para>The top level of Application Manager generally contains directories. Each of
these directories, and its contents, is called an<IndexTerm>
<Primary>application groups</Primary>
<Secondary>definition</Secondary>
</IndexTerm>
<Emphasis>application group</Emphasis>.</Para>
<Figure>
<Title>Application groups in Application Manager</Title>
<Graphic Entityref="SAG.CnfAM.fig.1" Id="SAG.CnfAM.grph.1"></Graphic>
</Figure>
<Para>The application groups and their contents are gathered from multiple locations
locally and throughout the network.</Para>
<Sect2 Id="SAG.CnfAM.div.3">
<Title>Directory Location of Application Manager<IndexTerm><Primary>Application Manager</Primary><Secondary>file system location</Secondary></IndexTerm></Title>
<Para>In the file system, Application Manager is the directory
<Filename>/var/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">login</Symbol><Filename>-</Filename><Symbol Role="Variable">hostname</Symbol><Filename>-</Filename><Symbol Role="Variable">display</Symbol><Command>.</Command> The directory is
created dynamically each time the user logs in.</Para>
<Para>For example, if user <Command>ronv</Command> logs in from display <Filename>wxyz:0</Filename>, the Application
Manager directory <Filename>/var/dt/appconfig/appmanager/ronv-wxyz-0</Filename> is
created.</Para>
</Sect2>
<Sect2 Id="SAG.CnfAM.div.4">
<Title Id="SAG.CnfAM.mkr.3">How Application Manager Finds and Gathers Applications<IndexTerm><Primary>applications</Primary><Secondary>gathering into Application Manager</Secondary></IndexTerm><IndexTerm><Primary>Application Manager</Primary><Secondary>gathering applications</Secondary></IndexTerm><IndexTerm><Primary>application groups</Primary><Secondary>gathering</Secondary></IndexTerm></Title>
<Para>Application Manager is built by gathering local and remote application groups.
The application groups are gathered from directories located along the<IndexTerm>
<Primary>application search path</Primary>
<Secondary>used to gather applications</Secondary>
</IndexTerm>
application search path.</Para>
<Para>The default application search path consists of these locations:<IndexTerm>
<Primary>applications</Primary>
<Secondary>search path</Secondary>
</IndexTerm><IndexTerm>
<Primary>search paths</Primary>
<Secondary>applications</Secondary>
</IndexTerm>
</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="93*">
<colspec colwidth="435*">
<THead>
<Row>
<Entry><Para>Scope</Para></Entry>
<Entry><Para>Location</Para></Entry>
</Row>
</THead>
<TBody>
<Row>
<Entry><Para>Built-in</Para></Entry>
<Entry><Para><Filename>/usr/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">language</Symbol></Para></Entry>
</Row>
<Row>
<Entry><Para>System-wide</Para></Entry>
<Entry><Para><Filename>/etc/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">language</Symbol></Para></Entry>
</Row>
<Row>
<Entry><Para>Personal</Para></Entry>
<Entry><Para><Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/appmanager</Filename></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>To create the top level of Application Manager, links are created at login time
from the application groups (directories) located in directories on the
application search path to the Application Manager directory
<Filename>/var/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">login</Symbol><Filename>-</Filename><Symbol Role="Variable">hostname</Symbol><Filename>-</Filename><Symbol Role="Variable">display</Symbol>. The gathering
operation is done by the desktop utility
<Command>dtappgather</Command>, which is automatically
run by Login Manager after the user has successfully logged in.<IndexTerm><Primary>dtappgather</Primary></IndexTerm>
</Para>
<Para>For example, the desktop provides the built-in application group:</Para>
<ProgramListing><Filename>/usr/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">language</Symbol><Filename>/Desktop_Tools</Filename></ProgramListing>
<Para>At login time, a<IndexTerm>
<Primary>Application Manager</Primary>
<Secondary>symbolic links</Secondary>
</IndexTerm>
symbolic link is created to:</Para>
<ProgramListing>/<Filename>var/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">login</Symbol><Filename>-</Filename><Symbol Role="Variable">hostname</Symbol><Filename>-</Filename><Symbol Role="Variable">display</Symbol><Filename>/Desktop_Tools</Filename></ProgramListing>
<Para>The application search path can include remote directories. This provides a
way to gather application groups from systems located throughout the
network. For more information, see
<!--Original XRef content: '&xd2;Adding an Application Server to the
Application Search Path&xd3; on page&numsp;47'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.CnfAM.mkr.12">.</Para>
</Sect2>
<Sect2 Id="SAG.CnfAM.div.5">
<Title>Precedence Rules in Gathering Applications<IndexTerm><Primary>Application Manager</Primary><Secondary>precedence rules</Secondary></IndexTerm><IndexTerm><Primary>application groups</Primary><Secondary>precedence</Secondary></IndexTerm></Title>
<Para>Where duplicates exist along the search path, personal application groups have
precedence over system-wide groups, and system-wide groups have
precedence over built-in groups. For example, if both
<Filename>/usr/dt/appconfig/appmanager/C/Desktop_Tools</Filename> and
<Command>/etc/dt/appconfig/appmanager/C/Desktop_Tools</Command> exist, the
application group under <Filename>/etc</Filename> will be the one used.</Para>
</Sect2>
<Sect2 Id="SAG.CnfAM.div.6">
<Title>Application Groups Provided with the Default Desktop<IndexTerm><Primary>application groups</Primary><Secondary>default</Secondary></IndexTerm></Title>
<Para>The uncustomized desktop provides four application groups.</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Desktop_Apps</Para>
</ListItem>
<ListItem>
<Para>Desktop_Tools</Para>
</ListItem>
<ListItem>
<Para>Information</Para>
</ListItem>
<ListItem>
<Para>System_Admin</Para>
</ListItem>
</ItemizedList>
</Sect2>
<Sect2 Id="SAG.CnfAM.div.7">
<Title>Example of How Application Groups Are Gathered<IndexTerm><Primary>applications</Primary><Secondary>gathering</Secondary></IndexTerm></Title>
<Para><!--Original XRef content: 'Figure&numsp;3&hyphen;2'--><XRef Role="CodeOrFigureOrTable" Linkend="SAG.CnfAM.mkr.4"> shows an Application Manager window containing a variety of
application groups.
<!--Original XRef content: 'Table&numsp;3&hyphen;1'--><XRef Role="CodeOrFigureOrTable" Linkend="SAG.CnfAM.mkr.5"> shows the directories from which the application
groups were gathered.</Para>
<Figure>
<Title Id="SAG.CnfAM.mkr.4">A typical Application Manager window</Title>
<Graphic Entityref="SAG.CnfAM.fig.2" Id="SAG.CnfAM.grph.2"></Graphic>
</Figure>
<Table Id="SAG.CnfAM.tbl.1" Frame="Topbot">
<Title Id="SAG.CnfAM.mkr.5">Source of Application Groups for
<!--Original XRef content: 'Figure&numsp;3&hyphen;2'--><XRef Role="CodeOrFigureOrTable" Linkend="SAG.CnfAM.mkr.4"></Title>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="1.22in">
<colspec colwidth="4.86in">
<THead>
<Row>
<Entry><Para><Literal>Name</Literal></Para></Entry>
<Entry><Para><Literal>Directory Gathered</Literal></Para></Entry>
</Row>
</THead>
<TBody>
<Row>
<Entry><Para>CAD_App</Para></Entry>
<Entry><Para><Filename>/net/ApServA/etc/dt/appconfig/appmanager/C/CAD_App</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>DrawingApp</Para></Entry>
<Entry><Para><Filename>/etc/dt/appconfig/appmanager/C/DrawingApp</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>Desktop_Apps</Para></Entry>
<Entry><Para><Filename>/usr/dt/appconfig/appmanager/C/Desktop_Apps</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>Desktop_Tools</Para></Entry>
<Entry><Para>/<Filename>usr/dt/appconfig/appmanager/C/Desktop_Tools</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>Information</Para></Entry>
<Entry><Para><Filename>/usr/dt/appconfig/appmanager/C/Information</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>System_Admin</Para></Entry>
<Entry><Para><Filename>/etc/dt/appconfig/appmanager/C/System_Admin</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>MySpreadSheet</Para></Entry>
<Entry><Para><Symbol Role="Variable">/</Symbol><Filename>users/anna/.dt/appmanager/MySpreadSheet</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>Media_Tools</Para></Entry>
<Entry><Para><Filename>/etc/dt/appconfig/appmanager/C/</Filename>Media_Tools</Para></Entry>
</Row>
</TBody>
</TGroup>
</Table>
<Para>If the Information or System_Admin application groups have been customized,
they will be gathered from <Filename>/etc/dt/appconfig/appmanager/C</Filename> instead.</Para>
<Para>The CAD_App group is gathered because a system named <Command>ApServA</Command> has been
added to the application search path (see
<!--Original XRef content: '&xd2;Adding an Application Server to the
Application Search Path&xd3; on page&numsp;47'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.CnfAM.mkr.12">). MySpreadSheet is a personal application
group, available only to user <Command>anna</Command>.</Para>
</Sect2>
</Sect1>
<Sect1 Id="SAG.CnfAM.div.8">
<Title Id="SAG.CnfAM.mkr.6">Adding Applications to Application Manager<IndexTerm><Primary>applications</Primary><Secondary>adding to Application Manager</Secondary></IndexTerm><IndexTerm><Primary>Application Manager</Primary><Secondary>adding applications</Secondary></IndexTerm></Title>
<Para>When an application has been added to Application Manager, there is an icon
in an application group that starts that application.</Para>
<Para>Many applications provide an application group. The application group is a
directory at the top level of Application Manager that contains the application
icon and other files related to the application.</Para>
<Para>Some applications may not have their own application group. Instead, the icon
to start the application is located in a general application group. For example,
you could create an empty application group named &ldquo;Games&rdquo; that you use as
a container for all the games you install on the system.</Para>
<Sect2 Id="SAG.CnfAM.div.9">
<Title>Ways to Add Applications to Application Manager<IndexTerm><Primary>applications</Primary><Secondary>ways to add</Secondary></IndexTerm></Title>
<Para>There are two ways to add an application to Application Manager:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Registering the application</Para>
</ListItem>
<ListItem>
<Para>Adding an application icon without registering the application</Para>
</ListItem>
</ItemizedList>
<Sect3 Id="SAG.CnfAM.div.10">
<Title>Registering the Application<IndexTerm><Primary>registration</Primary><Secondary>definition</Secondary></IndexTerm></Title>
<Para>Application registration provides full application integration.</Para>
<Para><IndexTerm>
<Primary>applications</Primary>
<Secondary>registered, definition</Secondary>
</IndexTerm>A registered application:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Has its own application group.</Para>
</ListItem>
<ListItem>
<Para>Has its desktop configuration files gathered under a single location. This
group of desktop configuration files is called the <Emphasis><IndexTerm>
<Primary>registration package</Primary>
</IndexTerm>registration package</Emphasis>.</Para>
</ListItem>
<ListItem>
<Para>May have a registered help volume.</Para>
</ListItem>
</ItemizedList>
<Para>There are two ways an application can become registered:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>When you install a desktop-smart application, registration occurs
automatically. See
<!--Original XRef content: '&xd2;To Add a Desktop-Smart Application to Application
Manager&xd3; on page&numsp;44'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.CnfAM.mkr.7">.</Para>
</ListItem>
<ListItem>
<Para>An existing application can be registered by creating a registration package.
See
<!--Original XRef content: '&xd2;To Register an Existing or Non-Desktop Smart Application&xd3; on
page&numsp;45'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.CnfAM.mkr.8">.</Para>
</ListItem>
</ItemizedList>
<Para>The use of a registration package makes the application easier to administer on
the desktop. The registration package is created somewhere in the file system
other than the locations used for desktop configuration files.</Para>
</Sect3>
<Sect3 Id="SAG.CnfAM.div.11">
<Title>Adding the Application without Using a Registration Package.</Title>
<Para>This is the preferred way to add application when you want Application
Manager to contain only an icon to start the application.</Para>
<Para><IndexTerm>
<Primary>applications</Primary>
<Secondary>adding without registering</Secondary>
</IndexTerm>An application added without using a registration package:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>May have its own application group, but usually has its icon placed in an
existing application group</Para>
</ListItem>
<ListItem>
<Para>Has its desktop configuration files placed directly in locations along the
desktop's search paths.</Para>
</ListItem>
</ItemizedList>
<Para>See
<!--Original XRef content: '&xd2;To Add an Application Icon to an Existing Application Group&xd3; on
page&numsp;45'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.CnfAM.mkr.9">.</Para>
</Sect3>
</Sect2>
<Sect2 Id="SAG.CnfAM.div.12" Role="Procedure">
<Title Id="SAG.CnfAM.mkr.7">To Add a Desktop-Smart Application to Application Manager<IndexTerm><Primary>applications</Primary><Secondary>desktop-smart</Secondary></IndexTerm><IndexTerm><Primary>desktop-smart application</Primary></IndexTerm></Title>
<Para>A desktop-smart application is an application that is automatically registered
into Application Manager when the application is installed. The application's
filesets include the registration package required by the desktop.</Para>
<OrderedList>
<ListItem>
<Para>Install the application using instructions provided with the application.</Para>
</ListItem>
<ListItem>
<Para>When installation is complete, double-click Reload Applications in the
Desktop_Tools application group.</Para>
</ListItem>
<ListItem>
<Para>Verify that installation is complete:</Para>
<OrderedList>
<ListItem>
<Para>Open Application Manager and check for the presence of the new
application group.</Para>
</ListItem>
<ListItem>
<Para>To open the application, open the application group and double-click the
application's icon.</Para>
</ListItem>
</OrderedList>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.CnfAM.div.13" Role="Procedure">
<Title Id="SAG.CnfAM.mkr.8">To Register an Existing or Non-Desktop Smart Application</Title>
<Para>This is the preferred way to fully integrate an application into the desktop.</Para>
<Para>The desktop provides a tool, <Command>dtappintegrate</Command>, that creates links between the
registration package files and the directories on the desktop search path.</Para>
<Para>Desktop registration is explained in
<!--Original XRef content: 'Chapter&numsp;4, &xd2;Registering an Application'--><XRef Role="ChapNumAndTitle" Linkend="SAG.RegAp.div.1">.</Para>
</Sect2>
<Sect2 Id="SAG.CnfAM.div.14" Role="Procedure">
<Title Id="SAG.CnfAM.mkr.9">To Add an Application Icon to an Existing Application Group</Title>
<Para>This procedure explains how to add an application icon to an existing
application group.</Para>
<Para>For example, the desktop provides an application group named
System_Admin that has been reserved for various applications and scripts
related to administering systems. If you have a script that users frequently run,
you might want users to be able to run the script by double-clicking an icon in
the System_Admin application group.</Para>
<OrderedList>
<ListItem>
<Para>Use Create Action to create an action definition for the application.</Para>
<Para>For more information about Create Action, see
<!--Original XRef content: 'Chapter&numsp;9, &xd2;Creating Actions
and Data Types Using Create Action'--><XRef Role="ChapNumAndTitle" Linkend="SAG.dtCrA.div.1">.</Para>
</ListItem>
<ListItem>
<Para>Create an executable file with the same name as the action name in the
directory for the application group. The content of the file is irrelevant.</Para>
<Para>For example, if you've created an action named &ldquo;Cleanup&rdquo; that runs a
system administration tool, you would create the executable file:
</para>
<programlisting>/etc/dt/appconfig/appmanager/<Symbol Role="Variable">language</Symbol>/System_Admin/Cleanup
</programlisting>
</ListItem>
</OrderedList>
</Sect2>
</Sect1>
<Sect1 Id="SAG.CnfAM.div.15">
<Title Id="SAG.CnfAM.mkr.10">Creating and Administering General Application Groups<IndexTerm><Primary>application groups</Primary><Secondary>administering</Secondary></IndexTerm></Title>
<Para>A general application is an application group (directory) that is not associated
with one particular application product. For example, the built-in
Desktop_Tools application group is a general group containing icons for a
large number of applications that are related, but not part of a single product.</Para>
<Para>You can create additional general application groups. For example, you might
want to create a group called Games to group together the various games
available on the system.</Para>
<Para>A general application group can be system-wide or personal in scope.</Para>
<Sect2 Id="SAG.CnfAM.div.16" Role="Procedure">
<Title>To Create a System-Wide General Application Group<IndexTerm><Primary>application groups</Primary><Secondary>system-wide</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Log in as root.</Para>
</ListItem>
<ListItem>
<Para>Create a directory in <Filename>/etc/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">language</Symbol>.</Para>
<Para>The name of the directory becomes the name of the<IndexTerm>
<Primary>application groups</Primary>
<Secondary>naming</Secondary>
</IndexTerm>
application group.</Para>
</ListItem>
<ListItem>
<Para>Double-click Reload Applications in the Desktop_Tools application group.</Para>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.CnfAM.div.17" Role="Procedure">
<Title>To Create a Personal General Application Group<IndexTerm><Primary>personal application group</Primary></IndexTerm><IndexTerm><Primary>application groups</Primary><Secondary>personal</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Create a directory in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/appmanager</Filename>.</Para>
<Para>The name of the directory becomes the name of the application group.</Para>
</ListItem>
<ListItem>
<Para>Double-click Reload Applications in the Desktop_Tools application group.</Para>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.CnfAM.div.18" Role="Procedure">
<Title>To Customize a Built-In Application Group<IndexTerm><Primary>application groups</Primary><Secondary>customizing</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Log in as root.</Para>
</ListItem>
<ListItem>
<Para>If the application group is located in
<Filename>/usr/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">language</Symbol>, copy the application group
to /<Filename>etc/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">language</Symbol>.</Para>
<Para><IndexTerm>
<Primary>Desktop_Tools application group, modifying</Primary>
</IndexTerm>For example, the following command copies the Desktop_Tools application
group:</Para>
<programlisting>cp -r /usr/dt/appconfig/appmanager/C/Desktop_Tools /etc/dt/appconfig/appmanager/C</programlisting>
<Para>The new copy of the application group will have precedence over the built-
in version.</Para>
</ListItem>
<ListItem>
<Para>Modify the copy of the application group. For example, you can add new
action files (executable files with the same name as actions).</Para>
</ListItem>
<ListItem>
<Para>To see the changes, log out and back in.</Para>
</ListItem>
</OrderedList>
</Sect2>
</Sect1>
<Sect1 Id="SAG.CnfAM.div.19">
<Title Id="SAG.CnfAM.mkr.11">Modifying the Search Path Used To Locate Applications<IndexTerm><Primary>application search path</Primary><Secondary>reason for modifying</Secondary></IndexTerm></Title>
<Para>The major reason for modifying the application search path is to add an<IndexTerm>
<Primary>application servers</Primary>
<Secondary>adding</Secondary>
</IndexTerm>
application server. When you add an application server to the search path,
Application Manager gathers all the server's system-wide application groups.</Para>
<Para>For more information on the application search path, see
<!--Original XRef content: '&xd2;Application Search
Path&xd3; on page&numsp;116'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.Datab.div.7">.</Para>
<Sect2 Id="SAG.CnfAM.div.20">
<Title>The Default Search Path<IndexTerm><Primary>application search path</Primary><Secondary>default</Secondary></IndexTerm></Title>
<Para>The default application search path includes these directories:</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="108*">
<colspec colwidth="420*">
<THead>
<Row>
<Entry><Para>Scope</Para></Entry>
<Entry><Para>Search Path Directory</Para></Entry>
</Row>
</THead>
<TBody>
<Row>
<Entry><Para>Personal</Para></Entry>
<Entry><Para><Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/appmanager</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>System-wide</Para></Entry>
<Entry><Para><Filename>/etc/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">language</Symbol></Para></Entry>
</Row>
<Row>
<Entry><Para>Built-in</Para></Entry>
<Entry><Para><Filename>/usr/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">language</Symbol></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</Sect2>
<Sect2 Id="SAG.CnfAM.div.21">
<Title Id="SAG.CnfAM.mkr.12">Adding an Application Server to the Application Search Path<IndexTerm><Primary>application search path</Primary><Secondary>modifying</Secondary></IndexTerm></Title>
<Para>In addition to modifying the application search path, it may be necessary to
perform additional configuration tasks to enable communication with the
application server. See
<!--Original XRef content: '&xd2;Administering Application Services&xd3; on page&numsp;99'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.ClSrv.div.32">.</Para>
<Sect3 Id="SAG.CnfAM.div.22" Role="Procedure">
<Title>To Set a System-Wide Application Search Path<IndexTerm><Primary>application search path</Primary><Secondary>system-wide</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Log in as root.</Para>
</ListItem>
<ListItem>
<Para>If the file /<Filename>etc/dt/config/Xsession.d/0010.dtpaths</Filename> doesn't exist,
create it by copying <Filename>/usr/dt/config/Xsession.d/0010.dtpaths</Filename>.</Para>
</ListItem>
<ListItem>
<Para>Open /<Filename>etc/dt/Xsession.d/0010.paths</Filename> for editing. Add or edit a line
setting the <Command><IndexTerm>
<Primary>DTSPSYSAPPHOSTS variable</Primary>
<Secondary>modifying</Secondary>
</IndexTerm>DTSPSYSAPPHOSTS</Command> variable:</Para>
<programlisting>DTSPSYSAPPHOSTS=<Symbol Role="Variable">hostname</Symbol>:[,hostname]</programlisting>
<Para>For example, the following line adds the system <Command>ApServA</Command> to the application
search path:</Para>
<programlisting>DTSPSYSAPPHOSTS=ApServA:</programlisting>
</ListItem>
<ListItem>
<Para>Inform all users on the system that they must log out and then log back in
for the change to take effect.</Para>
</ListItem>
</OrderedList>
</Sect3>
<Sect3 Id="SAG.CnfAM.div.23" Role="Procedure">
<Title>To Set a Personal Application Search Path<IndexTerm><Primary>application search path</Primary><Secondary>personal</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Open <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename> for editing.</Para>
</ListItem>
<ListItem>
<Para>Add or edit a line setting the <Command><IndexTerm>
<Primary>DTSPUSERAPPHOSTS variable</Primary>
<Secondary>modifying</Secondary>
</IndexTerm>DTSPUSERAPPHOSTS</Command> variable:</Para>
<programlisting>DTSPUSERAPPHOSTS=<Symbol Role="Variable">hostname</Symbol>:[,hostname]</programlisting>
<Para>For example, the following line adds the systems <Command>ApServB</Command> and <Command>ApServC</Command> to
the application search path:</Para>
<programlisting>DTSPUSERAPPHOSTS=ApServB:,ApServC:</programlisting>
</ListItem>
<ListItem>
<Para>Log out and then log back in.</Para>
</ListItem>
</OrderedList>
</Sect3>
</Sect2>
</Sect1>
<Sect1 Id="SAG.CnfAM.div.24">
<Title Id="SAG.CnfAM.mkr.13">General Application Manager Administration<IndexTerm><Primary>Application Manager</Primary><Secondary>general administration</Secondary></IndexTerm></Title>
<Para>General Application Manager administration tasks include:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Removing an application</Para>
</ListItem>
<ListItem>
<Para>Rereading the database of applications during a session</Para>
</ListItem>
</ItemizedList>
<Sect2 Id="SAG.CnfAM.div.25" Role="Procedure">
<Title>To Remove an Application<IndexTerm><Primary>applications</Primary><Secondary>un-registering</Secondary></IndexTerm><IndexTerm><Primary>applications</Primary><Secondary>removing</Secondary></IndexTerm></Title>
<Para>If an application has been registered using the <Command>dtappintegrate</Command> tool, you can
also use <Command>dtappintegrate</Command> to reverse the process. When an application is
unregistered, its application group is removed from Application Manager, and
its actions, data types, icons, and help are no longer available.</Para>
<OrderedList>
<ListItem>
<Para>Log in as root.</Para>
</ListItem>
<ListItem>
<Para><IndexTerm>
<Primary>dtappintegrate</Primary>
<Secondary>removing application</Secondary>
</IndexTerm>Run the command:</Para>
<programlisting>dtappintegrate -s <Symbol Role="Variable">app_root</Symbol> -u</programlisting>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.CnfAM.div.26" Role="Procedure">
<Title>To Update Application Manager During a Session<IndexTerm><Primary>Application Manager</Primary><Secondary>updating</Secondary></IndexTerm></Title>
<Para><IndexTerm>
<Primary>applications</Primary>
<Secondary>reloading</Secondary>
</IndexTerm>You must rebuild Application Manager if you add applications and want those
changes to take effect immediately.</Para>
<OrderedList>
<ListItem>
<Para>Open the Desktop_Tools application group and double-click Reload
Applications.</Para>
</ListItem>
</OrderedList>
<Para>Reload Applications is useful for updating Application Manager when
applications are added to an application server. However,<IndexTerm>
<Primary>Reload Applications action</Primary>
</IndexTerm>
Reload Applications
does not detect applications that have been removed from an application
server, or applications that have been moved from one location to another.
These changes take effect when the user logs out and back in.</Para>
</Sect2>
</Sect1>
<Sect1 Id="SAG.CnfAM.div.27">
<Title Id="SAG.CnfAM.mkr.14">Changing the Text Editor and Terminal Emulator<IndexTerm><Primary>text editor, changing</Primary></IndexTerm><IndexTerm><Primary>terminal emulator</Primary><Secondary>changing</Secondary></IndexTerm></Title>
<Para>Both the text editor and terminal emulator applications can be started by
choosing a control in the Front Panel, or by double-clicking an icon in
Application Manager.</Para>
<Para>These applications are also started by other desktop activities.</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>The text editor application opens when the user selects a text file in File
Manager and chooses Open from the Selected menu. The default text editor
is <Command>dtpad</Command>.</Para>
</ListItem>
<ListItem>
<Para>A terminal emulator runs when a user chooses Open Terminal from File
Manager's File menu, or when an action opens a terminal emulator window.
The default terminal emulator is <Command>dtterm</Command>.</Para>
</ListItem>
</ItemizedList>
<Para>You can configure the desktop to use a different text editor or terminal
emulator application in these situations.</Para>
<Sect2 Id="SAG.CnfAM.div.28" Role="Procedure">
<Title>To Change the Default Text Editor or Terminal Emulator</Title>
<OrderedList>
<ListItem>
<Para>If the change is system-wide, log in as root.</Para>
</ListItem>
<ListItem>
<Para>Create an action for the new text editor or terminal emulator application.</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>You can use the Create Action application.
<!--Original XRef content: 'Figure&numsp;3&hyphen;3'--><XRef Role="CodeOrFigureOrTable" Linkend="SAG.CnfAM.mkr.15"> shows a Create
Action window filled in for an application named TextPad. For more
information about Create Action, see
<!--Original XRef content: 'Chapter&numsp;9, &xd2;Creating Actions and
Data Types Using Create Action'--><XRef Role="ChapNumAndTitle" Linkend="SAG.dtCrA.div.1">.</Para>
<Figure>
<Title Id="SAG.CnfAM.mkr.15">Create Action window</Title>
<Graphic Entityref="SAG.CnfAM.fig.3" Id="SAG.CnfAM.grph.3"></Graphic>
</Figure>
</ListItem>
<ListItem>
<Para>Or, you can create the action definition manually; for example:.</Para>
<programlisting>ACTION TextPad
{
LABEL TextPad
TYPE COMMAND
WINDOW_TYPE NO_STDIO
EXEC_STRING /usr/TP/bin/TextPad &percnt;(File)Arg_1&percnt;
DESCRIPTION Double-click this icon to start the \
TextPad application.
}
</programlisting>
<Para>For information on creating action definitions manually, see
<!--Original XRef content: 'Chapter&numsp;10,
&xd2;Creating Actions Manually'--><XRef Role="ChapNumAndTitle" Linkend="SAG.CrAct.div.1">.</Para>
</ListItem>
</ItemizedList>
</ListItem>
<ListItem>
<Para>Place the configuration file containing the new action in the proper
directory:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>System-wide: <Filename>/etc/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
<ListItem>
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/types</Filename></Para>
</ListItem>
</ItemizedList>
</ListItem>
<ListItem>
<Para>If it doesn't already exist, create the appropriate <Filename>user-prefs.dt</Filename> file by
copying <Filename>/usr/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol><Filename>/user-prefs.dt</Filename> to:<IndexTerm><Primary>user-prefs.dt file</Primary></IndexTerm>
</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>System-wide: the <Command>/etc/dt/appconfig/types/</Command><Symbol Role="Variable">language</Symbol> directory</Para>
</ListItem>
<ListItem>
<Para>Personal: the <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/types</Filename> directory</Para>
</ListItem>
</ItemizedList>
</ListItem>
<ListItem>
<Para>Edit the TextEditor or Terminal action in the system-wide or personal
<Filename>user-prefs.dt</Filename> file. Modify the <Filename>MAP_ACTION</Filename> line to map the action to the
new action.</Para>
<Para>For example, change the line:</Para>
<programlisting>MAP_ACTION Dtpad</programlisting>
<Para>to:</Para>
<programlisting>MAP_ACTION TextPad</programlisting>
</ListItem>
<ListItem>
<Para>Save the <Filename>user-prefs.dt</Filename> file.</Para>
</ListItem>
<ListItem>
<Para>Double-click Reload Actions in the Desktop_Tools application group to
reload the actions database.</Para>
</ListItem>
</OrderedList>
</Sect2>
</Sect1>
</Chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 06:16:56-->

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,402 @@
<!-- $XConsortium: ch06.sgm /main/10 1996/11/20 13:41:40 cdedoc $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->
<Chapter Id="SAG.PrCnf.div.1">
<Title Id="SAG.PrCnf.mkr.1">Configuring and Administering Printing from the Desktop</Title>
<Para Id="SAG.PrCnf.mkr.2"><IndexTerm>
<Primary>printing</Primary>
<Secondary>administration</Secondary>
</IndexTerm>There are a variety of ways a desktop user can print files. They fall into two
major categories: printing from the desktop and printing from an application.</Para>
<Para>Ways to print from the desktop include:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Selecting a file in File Manager and choosing Print from the Selected menu
or the icon's pop-up menu</Para>
</ListItem>
<ListItem>
<Para>Dragging a file from File Manager to the Front Panel Printer control or the
Personal Printers subpanel</Para>
</ListItem>
<ListItem>
<Para>Dragging a file from File Manager to a printer in the Print Manager main
window</Para>
<Para>To print from an application, use the Print command, usually accessed from
a menu or other control within the application's window.</Para>
<InformalTable Id="SAG.PrCnf.itbl.1" Frame="All">
<TGroup Cols="1">
<ColSpec Colname="1" Colwidth="4.0 in">
<TBody>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Adding and Deleting Printers108'--><XRef Role="JumpText" Linkend="SAG.PrCnf.div.2"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Printer Icon Images109'--><XRef Role="JumpText" Linkend="SAG.PrCnf.div.6"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Configuring the Default Printer110'--><XRef Role="JumpText" Linkend="SAG.PrCnf.div.9"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Printing Concepts112'--><XRef Role="JumpText" Linkend="SAG.PrCnf.div.11"></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</ListItem>
</ItemizedList>
<Sect1 Id="SAG.PrCnf.div.2">
<Title Id="SAG.PrCnf.mkr.3">Adding and Deleting Printers</Title>
<Para>This section contains the procedures for adding and deleting printers from the
desktop.</Para>
<Sect2 Id="SAG.PrCnf.div.3" Role="Procedure">
<Title>To Add a Printer to the Desktop<IndexTerm><Primary>printers</Primary><Secondary>adding</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Add a printer to your system's configuration.</Para>
<Para>Follow the instructions in the system administration documentation for
your operating system.</Para>
</ListItem>
<ListItem>
<Para>Run the command:</Para>
<programlisting>env LANG=<Replaceable Remap="Emphasis">language</Replaceable> /usr/dt/bin/dtprintinfo -populate
</Programlisting>
<para>Note that you must have super-user permission to run this command.
</para>
</ListItem>
<ListItem>
<Para>Restart Print Manager or double-click Reload Actions from the
Desktop_Tools application group in Application Manager. Verify that the
printer shows up.</Para>
</ListItem>
<ListItem>
<Para>Send mail to your users to let them know they should also restart Print
Manager or run Reload Actions.</Para>
</ListItem>
</OrderedList>
<Para>Each time it is invoked,<IndexTerm>
<Primary>Print Manager</Primary>
</IndexTerm>
Print Manager reads the system printers configuration
list. If it detects a new printer, it automatically creates a new desktop printer
action and icon for that printer. You don't need to do anything else to make the
printer appear on the desktop.</Para>
</Sect2>
<Sect2 Id="SAG.PrCnf.div.4" Role="Procedure">
<Title Id="SAG.PrCnf.mkr.4">To Delete a Printer from the Desktop<IndexTerm><Primary>printers</Primary><Secondary>deleting</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Remove the printer from your system's configuration.</Para>
<Para>Follow the instructions in the system administration documentation for
your operating system.</Para>
</ListItem>
<ListItem>
<Para>Restart Print Manager or double-click Reload Actions from the
Desktop_Tools application group in Application Manager. Verify that the
printer is gone.</Para>
</ListItem>
<ListItem>
<Para>Send mail to your users to let them know they should also restart Print
Manager or run Reload Actions.</Para>
</ListItem>
</OrderedList>
<Para>Each time it is invoked, Print Manager reads the system printers configuration
list. If it sees that a printer has been removed from the list, it automatically
removes that printer's action and icon from Print Manager and File Manager.
You don't need to do anything else to delete the printer from the desktop.</Para>
<Note>
<Para>Print Manager cannot remove printers from the Front Panel. Therefore,
whenever you remove a printer from your configuration, you should send mail
to all users on the system telling them to remove any icons of the deleted
printer from the Front Panel.</Para>
</Note>
</Sect2>
<Sect2 Id="SAG.PrCnf.div.5">
<Title>Modifying the Job Update Interval<IndexTerm><Primary>printers</Primary><Secondary>job update interval</Secondary></IndexTerm><IndexTerm><Primary>print jobs update interval</Primary></IndexTerm></Title>
<Para>To change how often the information displayed in<IndexTerm>
<Primary>Print Manager</Primary>
<Secondary>job update interval</Secondary>
</IndexTerm>
Print Manager is
updated, modify the job update interval. By default, Print Manager queries
printers every thirty seconds for information on their print jobs. You can
change how often Print Manager queries the printers by using the Update
Interval slider in the Set Options dialog box (displayed by choosing Set
Options from the View menu).</Para>
</Sect2>
</Sect1>
<Sect1 Id="SAG.PrCnf.div.6">
<Title Id="SAG.PrCnf.mkr.5">Printer Icon Images<IndexTerm><Primary>printers</Primary><Secondary>icon images</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>printer images</Secondary></IndexTerm></Title>
<Para>When you add a printer, it is automatically assigned the default printer icon. If
you have another icon you want to make available for it, place the icon files in
<Filename>/etc/dt/appconfig/icons/</Filename><Symbol Role="Variable">language</Symbol>, or in some other directory along the
icon search path. Users can then select this icon to replace the default icon for
the printer.</Para>
<Para>You <Emphasis>must</Emphasis> create a complete set (large, medium, and tiny) of the icons or they
will not show up in the icon selector in Print Manager.</Para>
<Para>For more information about the icon search path, see
<!--Original XRef content: '&xd2;Icon Search Path&xd3; on
page&numsp;122'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.Datab.div.20">.</Para>
<Sect2 Id="SAG.PrCnf.div.7">
<Title>Icon File Names and Sizes</Title>
<Para>Icon file-naming requirements are:</Para>
<ProgramListing><Symbol Role="Variable">base_name.size</Symbol>.<Symbol Role="Variable">type</Symbol></ProgramListing>
<Para>where:</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="56*">
<colspec colwidth="472*">
<TBody>
<Row>
<Entry><Para><Symbol Role="Variable">size</Symbol></Para></Entry>
<Entry><Para><Command>l</Command> (large), <Command>m</Command> (medium), <Command>t</Command> (tiny). For more information about icon sizes,
see
<!--Original XRef content: '&xd2;Icon Size Conventions&xd3; on page&numsp;203'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.CrIcn.div.5">.</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">type</Symbol></Para></Entry>
<Entry><Para><Command>pm</Command> (color pixmap), <Command>bm</Command> (bitmap).</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>For example, icon file names for medium and tiny pixmap icons for a color
printer might be <Filename>ColorPrinter.m.pm</Filename> and <Filename>ColorPrinter.t.pm</Filename>.</Para>
<Para>Refer to
<!--Original XRef content: 'Chapter&numsp;12, &xd2;Creating Icons for the Desktop'--><XRef Role="ChapNumAndTitle" Linkend="SAG.CrIcn.div.1"> for more information on
creating icons.</Para>
</Sect2>
<Sect2 Id="SAG.PrCnf.div.8" Role="Procedure">
<Title>To Globally Change the Icon, Printer Label, or Description of a Printer</Title>
<Para>You should change global printer properties as soon as you add the printer,
before users have modified it using Print Manager. Once a user has modified
the printer properties using Print Manager, they will not see the changes you
make.</Para>
<Para>Edit the file <ComputerOutput>/etc/dt/appconfig/types/</ComputerOutput><Symbol Role="Variable">language</Symbol><ComputerOutput>/</ComputerOutput><Symbol Role="Variable">printer_queue_name</Symbol><ComputerOutput>.dt</ComputerOutput>
with the desired information for the icon, printer label, or description:</Para>
<OrderedList>
<ListItem>
<Para>In the <Command>ICON</Command> field, update <Symbol Role="Variable">basename</Symbol> to the new icon base name.</Para>
</ListItem>
<ListItem>
<Para><IndexTerm>
<Primary>printers</Primary>
<Secondary>labels</Secondary>
</IndexTerm>In the <Command>LABEL</Command> field, update <Symbol Role="Variable">labelname</Symbol> to the new label for the printer.</Para>
</ListItem>
<ListItem>
<Para><IndexTerm>
<Primary>printers</Primary>
<Secondary>On Item help</Secondary>
</IndexTerm><IndexTerm>
<Primary>help</Primary>
<Secondary>on printer icons</Secondary>
</IndexTerm>Update the text in the <Command>DESCRIPTION</Command> field.</Para>
<Para>This is a good place to put the location of the printer, type of printer, and
printer contact. To add more than one line, put a <Filename>\</Filename> at the end of the line. For
example:</Para>
</ListItem>
</OrderedList>
<programlisting>DESCRIPTION This is a PostScript Printer in Building 1\
Room 123. Call 555-5555 for problems.</ProgramListing>
</Sect2>
</Sect1>
<Sect1 Id="SAG.PrCnf.div.9">
<Title Id="SAG.PrCnf.mkr.6">Configuring the Default Printer<IndexTerm><Primary>printers</Primary><Secondary>default</Secondary></IndexTerm></Title>
<Para>The default printer is accessed when the user:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Drops an object on the Front Panel Printer control</Para>
</ListItem>
<ListItem>
<Para>Selects an object in File Manager and chooses Print from the Selected menu
or the icon's pop-up menu</Para>
</ListItem>
<ListItem>
<Para>Prints from applications that use the default printer</Para>
</ListItem>
</ItemizedList>
<Sect2 Id="SAG.PrCnf.div.10" Role="Procedure">
<Title>To Change the Destination for Default Printing<IndexTerm><Primary>printing</Primary><Secondary>default destination</Secondary></IndexTerm></Title>
<Para>To change the default printer for all users:</Para>
<OrderedList>
<ListItem>
<Para>Open the file <ComputerOutput>/etc/dt/config/Xsession.d/0010.dtpaths</ComputerOutput>.</Para>
<Para>If <ComputerOutput>/etc/dt/config/Xsession.d/0010.dtpaths</ComputerOutput> does not exist, copy it
from <ComputerOutput>/usr/dt/config/Xsession.</ComputerOutput><Filename>d/0010.dtpaths</Filename></Para>
</ListItem>
<ListItem>
<Para>In the <ComputerOutput>LPDEST=</ComputerOutput><Symbol Role="Variable">printer</Symbol> line,
update <Symbol Role="Variable">printer</Symbol> to the new destination for default
printing.<IndexTerm><Primary>LPDEST variable</Primary></IndexTerm>
</Para>
<Para>If the line does not exist, add a line
<ComputerOutput>LPDEST=</ComputerOutput><Symbol Role="Variable">printer</Symbol>, where
<Symbol Role="Variable">printer</Symbol> is the name of the printer you want to
be your default printer.
</Para>
</ListItem>
<ListItem>
<Para>Users need to log out and back in.</Para>
</ListItem>
</OrderedList>
<Para>To change the default printer for a single user, that user should:</Para>
<OrderedList>
<ListItem>
<Para>Copy another printer to the Front Panel from the Personal Printers
subpanel.</Para>
</ListItem>
</OrderedList>
<Para>To designate a different printer as the default printer:</Para>
<OrderedList>
<ListItem>
<Para>Go to your home folder and open the file <Filename>.dtprofile</Filename>.</Para>
</ListItem>
<ListItem>
<Para>Add or edit a line that sets a value for the LPDEST environment variable:</Para>
<programlisting>LPDEST=<Symbol Role="Variable">printer_device;</Symbol> <Command>export LPDEST</Command>
</Programlisting>
<para>If you are using <Command>csh</Command>, the syntax is:
</para>
<programlisting>:setenv LPDEST <Symbol Role="Variable">printer_device</Symbol>
</Programlisting>
<Para>For example, the following line would change the default printer to the
printer whose device name is <Command>laser3d</Command>.
</Para>
<programlisting>LPDEST=laser3d; export LPDEST</programlisting>
<Para>If you are using <Command>csh</Command> the syntax is:</Para>
<programlisting>setenv LPDEST laser3d</programlisting>
</ListItem>
</OrderedList>
</Sect2>
</Sect1>
<Sect1 Id="SAG.PrCnf.div.11">
<Title Id="SAG.PrCnf.mkr.7">Printing Concepts<IndexTerm><Primary>printing</Primary><Secondary>concepts</Secondary></IndexTerm></Title>
<para>Users can invoke printing either by dragging an object, whether it be a
file icon or a text selection, onto the printer icon and dropping it there.
Alternatively, users can invoke printing by selecting a print command
in an application. In each case, the printing proceeds differently.
</para>
<Sect2 Id="SAG.PrCnf.div.12">
<Title Id="SAG.PrCnf.mkr.8">Printing By Drag and Drop Invocation<IndexTerm><Primary>printing</Primary><Secondary>by drag and drop</Secondary></IndexTerm></Title>
<para>When a print request is initiated by dropping a file or a text selection
on a printer control, the system proceeds as follows:
</para>
<OrderedList>
<ListItem>
<Para>The system searches the data-type database for the definition of the
object dropped.
</Para>
</ListItem>
<ListItem>
<Para>If there is a unique print action for the data type (specified using the
ARG_TYPE field in the print action), it is used. If no unique print
action for the data type is found, the default print action uses
<command>dtlp</command> to print the object. For example, if the file is
a PostScript. file, the system uses the Print action for PostScript
files. (This action is defined in
<filename>/usr/dt/appconfig/types/&lt;language>/dt.dt</filename>.) If
you used the Create Action tool for this data type, the print command
you entered is the unique print action that will be used to print files
with this data type.
</Para>
</ListItem>
<ListItem>
<Para>The file is ultimately delivered to the printer using the normal UNIX
<command>lp</command> printing subsystem.
</Para>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.PrCnf.div.13">
<Title Id="SAG.PrCnf.mkr.9">Printing From CDE Applications<IndexTerm><Primary>printing</Primary><Secondary>from CDE applications</Secondary></IndexTerm></Title>
<para>A number of the CDE applications, including the Calendar Manager
(<command>dtcm</command>), the Help Manager (<command>dthelp</command>),
the Mailer (<command>dtmail</command>), and the Text Editor
(<command>dtpad</command>) have built-in support for printing. These
applications rely on the services of the X Print Server to accomplish
their printing. The X Print Server is simply a normal (video) X Server
which has been enhanced to produce output for various types of printers
including raster, PCL, and Post Script.
</para>
<para>When a print request is initiated from inside a CDE application (for example
by selecting the "Print ..." command from the File menu in the Text Editor),
the following happens:
</para>
<OrderedList>
<ListItem>
<Para>The application displays a dialog allowing the user to set generic,
application specific, or printer specific printing options.
</Para>
</ListItem>
<ListItem>
<Para>The application sends instructions to the X Print Server. The
instructions include standard X drawing requests enhanced by page and
job boundary indicators.
</Para>
</ListItem>
<ListItem>
<Para>The X Print Server translates the instructions into output appropriate
to the target printer. The particular output produced depends upon
the capablilities of the X Print Server and the target printer selected.
</Para>
</ListItem>
<ListItem>
<Para>The X Print Server delivers the print output to the printer using the
normal UNIX <command>lp</command> printing subsystem.
</Para>
</ListItem>
</OrderedList>
<Sect3 Id="SAG.PrCnf.div.14">
<Title Id="SAG.PrCnf.mkr.10">To Support Printing From CDE Applications<IndexTerm><Primary>printing</Primary><Secondary>support for CDE applications</Secondary></IndexTerm></Title>
<para>In addition to the application and the X Print Server, two programs are
required to support printing from CDE applications: the Print Dialog
Manager (PDM) and the PDM daemon.
</para>
<para>Displaying and setting printer-specific printing options are handled in
special programs called Print Dialog Managers (PDMs). Each class of
printer has its own PDM, which knows about the specific set of options
and capabilities that it offers.
</para>
<para>A second class of programs called PDM daemons handle the tasks of
recognizing the fact that an application wants to display or set
printer-specific printing options and starting the correct PDM for the
selected printer.
</para>
<para>In summary, for printing from CDE applications to proceed successfully you
must:
</para>
<OrderedList>
<ListItem>
<Para>Make sure that the printers are added correctly to your system's
configuration.
</Para>
</ListItem>
<ListItem>
<Para>Make sure that the correctly configured X Print Servers needed
to support your printer configuration are running. The default X
Print Server for CDE is <literal>Xprt</literal>.
</Para>
</ListItem>
<ListItem>
<Para>Make sure that the correctly configured Print Dialog Manager (PDM)
daemons needed to support your printer configuration are running.
The default PDM daemon for CDE is <command>dtpdmd</command>.
</Para>
</ListItem>
<ListItem>
<Para>Make sure that the correctly configured Print Dialog Managers (PDMs)
needed to support your printer configuration are available.
The default PDM for CDE is <command>dtpdm</command>.
</Para>
</ListItem>
</OrderedList>
</Sect3>
</Sect2>
</sect1>
</Chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 06:16:56-->

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,550 @@
<!-- $XConsortium: ch08.sgm /main/8 1996/09/08 19:33:24 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->
<Chapter Id="SAG.IntAc.div.1">
<Title Id="SAG.IntAc.mkr.1">Introduction to Actions and Data Types</Title>
<Para><Emphasis><IndexTerm>
<Primary>actions</Primary>
<Secondary>introduction</Secondary>
</IndexTerm><IndexTerm>
<Primary>data types</Primary>
<Secondary>introduction</Secondary>
</IndexTerm>Actions</Emphasis> and <Emphasis>data types</Emphasis> are powerful components for integrating applications
into the desktop. They provide a way to create a user interface for starting
applications and manipulating their data files.</Para>
<InformalTable Id="SAG.IntAc.itbl.1" Frame="All">
<TGroup Cols="1">
<ColSpec Colname="1" Colwidth="4.0 in">
<TBody>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Introduction To Actions128'--><XRef Role="JumpText" Linkend="SAG.IntAc.div.3"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Introduction to Data Types135'--><XRef Role="JumpText" Linkend="SAG.IntAc.div.7"></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>This chapter introduces the concepts of actions and data types. It describes:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Why you may want to create actions and data types for applications.</Para>
</ListItem>
<ListItem>
<Para>How actions and data types are related to each other.</Para>
</ListItem>
<ListItem>
<Para>How actions and data types are related to desktop printing.</Para>
</ListItem>
</ItemizedList>
<Sect1 Id="SAG.IntAc.div.2">
<Title>See Also</Title>
<Para>The procedures and rules for creating actions and data types are covered in
three chapters in this manual.</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para><!--Original XRef content: 'Chapter&numsp;9'--><XRef Role="ChapterNumber" Linkend="SAG.dtCrA.div.1"> explains how to create actions and data types using the desktop
application Create Action.</Para>
<Para>You can use Create Action to create actions and data types for most
applications without having to learn the syntax rules for their definitions.</Para>
</ListItem>
<ListItem>
<Para><!--Original XRef content: 'Chapter&numsp;10'--><XRef Role="ChapterNumber" Linkend="SAG.CrAct.div.1"> and
<!--Original XRef content: 'Chapter&numsp;11'--><XRef Role="ChapterNumber" Linkend="SAG.CrDT.div.1"> explain how to create actions and data types
manually by creating and editing configuration files.</Para>
<Para>It is necessary to create actions and data types manually when you want to
use advanced features not supported by Create Action.</Para>
</ListItem>
</ItemizedList>
</Sect1>
<Sect1 Id="SAG.IntAc.div.3">
<Title Id="SAG.IntAc.mkr.2">Introduction To Actions<IndexTerm><Primary>actions</Primary><Secondary>introduction</Secondary></IndexTerm></Title>
<Para>Actions are instructions written that automate desktop tasks such as running
applications and opening data files. Actions work much like application
macros or programming functions. Each action has a name that is used to run
the action.</Para>
<Para>Once you define an action, it can be used to adapt the desktop user interface so
that tasks are easier to do. The desktop provides the ability to attach user
interface components such as icons, Front Panel controls, and menu items to
actions.</Para>
<Figure>
<Title>Uses for actions</Title>
<Graphic Entityref="SAG.IntAc.fig.1" Id="SAG.IntAc.grph.1"></Graphic>
</Figure>
<Para>For example, the Desktop_Tools application group in Application Manager
contains icons that start various utilities.</Para>
<Figure>
<Title>Action icons in the Desktop_Tools application group</Title>
<Graphic Entityref="SAG.IntAc.fig.2" Id="SAG.IntAc.grph.2"></Graphic>
</Figure>
<Para>Each of these icons runs an action when the icon is double-clicked. For
example, here's a portion of the definition of the action that runs when the user
double-clicks the icon labeled Xwd Display. The action is defined in the
configuration file <Filename>/usr/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol><Filename>/xclients.dt</Filename>:</Para>
<programlisting>ACTION Xwud
{
LABEL Xwd Display
TYPE COMMAND
EXEC_STRING /usr/bin/X11/xwud -noclick -in \
&percnt;(File)Arg_1&ldquo;Xwd File To Display:&ldquo;&percnt;
&hellip;
}
</ProgramListing>
<Para>The command in the action's <Filename>EXEC_STRING</Filename> is run when the user double-clicks
the icon.</Para>
<Para><IndexTerm>
<Primary>actions</Primary>
<Secondary>used by Front Panel</Secondary>
</IndexTerm><IndexTerm>
<Primary>Front Panel</Primary>
<Secondary>using actions</Secondary>
</IndexTerm>The Front Panel also uses actions. For example, here's a portion of the
definition of the control labeled Terminal in the Personal Applications
subpanel. The control is defined in the configuration file
<Filename>/usr/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol><Filename>/dtwm.fp</Filename>:</Para>
<programlisting>CONTROL Term
{
ICON Fpterm
LABEL Terminal
PUSH_ACTION Dtterm
&hellip;
}
</ProgramListing>
<Para>The <Filename>PUSH_ACTION</Filename> field specifies the action to run when the user clicks the
control&mdash;in this case, an action named Dtterm.</Para>
<Para><IndexTerm>
<Primary>actions</Primary>
<Secondary>used in menus</Secondary>
</IndexTerm><IndexTerm>
<Primary>menus</Primary>
<Secondary>using actions</Secondary>
</IndexTerm>Another common use for actions is in menus. Data files usually have actions in
their Selected menu in File Manager. For example, XWD files (files with names
ending in<Filename>.xwd</Filename> or<Filename>.wd</Filename>) have an Open action that displays the screen image by
running the Xwud action.</Para>
<Figure>
<Title>Open action for files of data type XWD</Title>
<Graphic Entityref="SAG.IntAc.fig.3" Id="SAG.IntAc.grph.3"></Graphic>
</Figure>
<Para>The actions in the<IndexTerm>
<Primary>Selected menu</Primary>
</IndexTerm>
Selected menu are specified in the data type definition for
XWD files. The definition is located in the configuration file
<Filename>/usr/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol><Filename>/xclients.dt.</Filename></Para>
<programlisting>DATA_ATTRIBUTES XWD
{
ACTIONS Open,Print
ICON Dtxwd
&hellip;
}
</ProgramListing>
<Para>The XWD data type, and its associated Open and Print actions, are explained
in
<!--Original XRef content: '&xd2;How Data Types Connect Data Files to Actions&xd3; on page&numsp;136'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.IntAc.div.9">.</Para>
<Sect2 Id="SAG.IntAc.div.4">
<Title>How Actions Create Icons for Applications<IndexTerm><Primary>actions</Primary><Secondary>creating icons for applications</Secondary></IndexTerm><IndexTerm><Primary>applications</Primary><Secondary>creating icons for</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>for applications</Secondary></IndexTerm></Title>
<Para>Consider the Xwd Display icon in the Desktop_Tools application group.
Double-clicking this icon runs the X client <Command>xwud</Command>. However, this icon does not
directly represent the actual <Command>xwud</Command> executable <Filename>/usr/bin/X11/xwud</Filename>.</Para>
<Para>The icon labeled Xwd Display appears in the application group because there
is a file in that directory named <Command>Xwud</Command> (see
<!--Original XRef content: 'Figure&numsp;8&hyphen;4'--><XRef Role="CodeOrFigureOrTable" Linkend="SAG.IntAc.mkr.1">). This file represents an
underlying action with the same name&mdash;Xwud. In the action definition, the
action name is the name following the <Command>ACTION</Command> keyword:</Para>
<programlisting>ACTION Xwud
{
LABEL Xwd Display
TYPE COMMAND
WINDOW_TYPE NO_STDIO
EXEC_STRING /usr/bin/X11/xwud -noclick -in \
&percnt;(File)Arg_1&ldquo;Xwd File To Display:&ldquo;&percnt;
DESCRIPTION The Xwd Display (Xwud) XwdDisplay action \
displays an xwd file that was created using the \
Xwd Capture (Xwd) action. It uses \
the xwud command.
}
</ProgramListing>
<Para><IndexTerm>
<Primary>action file</Primary>
<Secondary>definition</Secondary>
</IndexTerm>The file is called an <Emphasis>action file</Emphasis> because it represents an action. A file is an action
file when it is an executable file with the same name as an action. Its icon in
Application Manager (or File Manager) is called an<IndexTerm>
<Primary>action icon</Primary>
</IndexTerm>
<Emphasis>action icon</Emphasis>, or<IndexTerm>
<Primary>application icon</Primary>
<Secondary>creating</Secondary>
</IndexTerm>
<Emphasis>application
icon</Emphasis>, because double-clicking it starts an application.</Para>
<Figure>
<Title Id="SAG.IntAc.mkr.3">Application (action) icon representing an action file</Title>
<Graphic Entityref="SAG.IntAc.fig.4" Id="SAG.IntAc.grph.4"></Graphic>
</Figure>
<Para>When Application Manager detects an executable file, it looks through the
actions database to see if there are any actions whose names match the file
name. If a match is found, Application Manager knows that the file is an action
file.</Para>
<Para><IndexTerm>
<Primary>action file</Primary>
<Secondary>contents</Secondary>
</IndexTerm>The content of the action file is irrelevant; action files usually contain
comments describing their desktop function.</Para>
<Note>
<Para>The <Emphasis>action file</Emphasis> is not the same as the <Emphasis>action definition file</Emphasis>. The <Emphasis>action file</Emphasis> is
a file with the same name as the action. It is used to create the <Emphasis>application icon</Emphasis>
in File Manager or Application Manager. The <Emphasis>action definition file</Emphasis> is the file
named <Symbol Role="Variable">name</Symbol><Filename>.dt</Filename> containing the definition of the action.</Para>
</Note>
<Para>Once the desktop determines that a file is an action file, the underlying action
definition is used to define the appearance and behavior of the action file.</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>The <Filename>EXEC_STRING</Filename> field specifies the behavior of the application icon. In the
case of the Xwd Display icon, the <Filename>EXEC_STRING</Filename> specifies that the action
icon runs the <Command>xwud</Command> X client with certain command-line arguments.</Para>
</ListItem>
<ListItem>
<Para>The <Command>LABEL</Command> field specifies the label for the application icon.</Para>
</ListItem>
<ListItem>
<Para>The <Command>DESCRIPTION</Command> field describes the text displayed when the user requests
On Item help.</Para>
</ListItem>
<ListItem>
<Para>The Xwud application icon uses the default icon image for actions because
its action definition does contain an <Command>ICON</Command> field to specify a different image.</Para>
<Para>In contrast, the icon labeled Compress File uses a different icon image
because its underlying action definition contains an <Command>ICON</Command> field:</Para>
<Para>For example:</Para>
<programlisting>ACTION Compress
LABEL Compress File
ICON Dtcmprs
&hellip;
}
</Programlisting>
</ListItem>
</ItemizedList>
<Figure>
<Title>Icon image specified by the ICON field in the action definition</Title>
<Graphic Entityref="SAG.IntAc.fig.5" Id="SAG.IntAc.grph.5"></Graphic>
</Figure>
<Para>The Xwud action is called a <Symbol Role="Variable">command</Symbol> action because its definition contains the
command (<Filename>EXEC_STRING</Filename>) to be run. The <Command>TYPE</Command> field in the action definition
defines the action type.</Para>
<Para>Initially, the Xwd Display icon appears in the Desktop_Tools application
group. However, you can create additional copies of the action icon in any
directory for which you have write permission. As long as the Xwud action
definition is part of the database, any executable file you create named <Command>Xwud</Command>
will be an action file representing that action, and its icon in File Manager or
Application Manager can be used to run the action.</Para>
</Sect2>
<Sect2 Id="SAG.IntAc.div.5">
<Title Id="SAG.IntAc.mkr.4">How Actions Use Data Files as Arguments<IndexTerm><Primary>actions</Primary><Secondary>file arguments</Secondary></IndexTerm><IndexTerm><Primary>arguments</Primary><Secondary>of actions</Secondary></IndexTerm></Title>
<Para>An<IndexTerm>
<Primary>arguments</Primary>
<Secondary>of actions</Secondary>
</IndexTerm>
<Symbol Role="Variable">argument</Symbol> of a command is the thing, usually a<IndexTerm>
<Primary>file argument</Primary>
<Secondary>used in actions</Secondary>
</IndexTerm>
file, that the command acts
upon. Actions can be written to accept file arguments.</Para>
<Para>For example, the <Filename>EXEC_STRING</Filename> of the Xwud action specifies that a file
argument is required:</Para>
<programlisting>EXEC_STRING /usr/bin/X11/xwud -noclick -in \
&percnt;(File)Arg_1&ldquo;Xwd File To Display:&ldquo;&percnt;
</ProgramListing>
<Para>The term <Command>Arg</Command> stands for the word <Symbol Role="Variable">argument.</Symbol> The syntax<IndexTerm>
<Primary>Arg_1 syntax</Primary>
</IndexTerm>
<Filename>Arg_1</Filename> means the first
argument, and <Filename>(File)</Filename> means that the action treats that argument as a file.</Para>
<Para><IndexTerm>
<Primary>application icon</Primary>
<Secondary>dropped files</Secondary>
</IndexTerm><IndexTerm>
<Primary>actions</Primary>
<Secondary>accepting dropped files</Secondary>
</IndexTerm><IndexTerm>
<Primary>application icon</Primary>
<Secondary>double-clicking</Secondary>
</IndexTerm>The easiest way for the user to provide a file argument is to drop a data file on
the application icon. The desktop determines the path of the dropped file and
substitutes it into the command line in place of the text between the <Filename>&percnt;</Filename> symbols
(<ComputerOutput>&percnt;(File)Arg_1&ldquo;Xwd File To Display:&ldquo;&percnt;</ComputerOutput>). Thus, the command that gets
executed is:</Para>
<ProgramListing>/usr/bin/X11/xwud -noclick -in <Symbol Role="Variable">file_path</Symbol></ProgramListing>
<Para>When the user double-clicks the application icon, the desktop determines from
the <Filename>EXEC_STRING</Filename> that a file argument is required, and displays a dialog box
prompting the user to enter a file name or path. In the case of the Xwud action,
the prompt is:</Para>
<ProgramListing>Xwd File To Display:</ProgramListing>
<Para>The file name or path supplied by the user is used as the file argument.</Para>
</Sect2>
<Sect2 Id="SAG.IntAc.div.6">
<Title>Additional Uses for Actions<IndexTerm><Primary>actions</Primary><Secondary>uses</Secondary></IndexTerm></Title>
<Para>In addition to starting applications, actions are used throughout the desktop to
create functionality in:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>The Front Panel.</Para>
<Para>The definition for a Front Panel control includes fields that specify the
action that runs when the user clicks the control or drops a file on it. For
more information, see
<!--Original XRef content: '&xd2;Defining Front Panel Controls&xd3; on page&numsp;228'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.FrPC.div.34">.</Para>
</ListItem>
<ListItem>
<Para>Menus.</Para>
<Para>The syntax for the Window and Workspace menu definitions allows you to
specify the action to be run by a menu item. For more information, see
<!--Original XRef content: '&xd2;Workspace Manager Menus&xd3; on page&numsp;246'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.WMCnf.div.13"> and the <Filename MoreInfo="RefEntry">dtwmrc(4)</Filename> man page.</Para>
</ListItem>
<ListItem>
<Para>Communication between applications.</Para>
<Para>An application can be designed to send and receive information using a
special type of action called ToolTalk message (<Filename>TT_MSG</Filename>). <Filename>TT_MSG</Filename> actions are
described in the developer environment documentation for the desktop.</Para>
</ListItem>
</ItemizedList>
</Sect2>
</Sect1>
<Sect1 Id="SAG.IntAc.div.7">
<Title Id="SAG.IntAc.mkr.5">Introduction to Data Types<IndexTerm><Primary>data types</Primary><Secondary>introduction</Secondary></IndexTerm></Title>
<Para>When the user creates a new data file, the appearance and behavior of the file's
icon in File Manager varies depending on the type of data file the user has
created. This ability to create custom appearance and behavior for files and
directories is provided by the desktop's data typing mechanism.</Para>
<Sect2 Id="SAG.IntAc.div.8">
<Title>What Is a Data Type?<IndexTerm><Primary>Create Action</Primary><Secondary>data type creation</Secondary></IndexTerm><IndexTerm><Primary>data types</Primary><Secondary>created with Create Action</Secondary></IndexTerm></Title>
<Para>A data type is a construct that is defined within the desktop database. For
example, here is the definition of the XWD data type. The definition is in the
configuration file <Filename>/usr/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol><Filename>/xclients.dt</Filename>:</Para>
<programlisting>DATA_ATTRIBUTES XWD
{
ACTIONS Open,Print
ICON Dtxwd
NAME_TEMPLATE &percnt;s.xwd
MIME_TYPE application/octet-stream
SUNV3_TYPE xwd-file
DESCRIPTION This file contains a graphics image in the XWD \
format. These files are typically created by \
taking snapshots of windows using the XwdCapture \
action. Its data type is named XWD. XWD files \
have names ending with `.xwd' or `.wd'.
}
DATA_CRITERIA XWD1
{
DATA_ATTRIBUTES_NAME XWD
MODE f
NAME_PATTERN *.xwd
}
DATA_CRITERIA XWD2
{
DATA_ATTRIBUTES_NAME XWD
MODE f
NAME_PATTERN *.wd
}
</ProgramListing>
<Para>Every data type definition has two parts:</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="161*">
<colspec colwidth="367*">
<TBody>
<Row>
<Entry><Para><Filename>DATA_ATTRIBUTES</Filename></Para></Entry>
<Entry><Para>Describes the appearance and behavior of the data
type.</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>DATA_CRITERIA</Filename>,</Para></Entry>
<Entry><Para>Specifies the rules (naming or content) for categorizing
a file as belonging to that data type.</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>The <Filename>DATA_ATTRIBUTES_NAME</Filename> field connects the criteria to the attributes.</Para>
<Para>There can be multiple <Filename>DATA_CRITERIA</Filename> for a <Filename>DATA_ATTRIBUTE</Filename>. For example,
the XWD data type has two criteria to specify two different naming criteria
(<Filename>NAME_PATTERN</Filename>)&mdash;names ending with <Filename>.xwd</Filename> or <Filename>.wd</Filename>.</Para>
</Sect2>
<Sect2 Id="SAG.IntAc.div.9">
<Title Id="SAG.IntAc.mkr.6">How Data Types Connect Data Files to Actions<IndexTerm><Primary>data types</Primary><Secondary>relationship to actions</Secondary></IndexTerm><IndexTerm><Primary>actions</Primary><Secondary>relationship to data types</Secondary></IndexTerm></Title>
<Para>Consider the XWD data type. The user creates an XWD-type file by giving the
file one of two file-name suffixes (extensions): <Filename>.xwd</Filename> or<Filename>.wd</Filename>. The desktop uses
the file name as the <Emphasis>criteria</Emphasis> for designating a file as that type.</Para>
<Para>The XWD data type supplies each file of that data type with:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>A unique icon image that helps users recognize the data files.</Para>
</ListItem>
<ListItem>
<Para>On Item help that tells you about the data type.</Para>
</ListItem>
<ListItem>
<Para>A customized Selected menu in File Manager containing the actions Open
and Print. The Open action for XWD files runs the Xwud action.</Para>
</ListItem>
</ItemizedList>
<Sect3 Id="SAG.IntAc.div.10">
<Title>Running Actions from the Selected Menu<IndexTerm><Primary>Selected menu</Primary></IndexTerm></Title>
<Para>The Selected menu in File Manager is active only when a file or directory is
selected. The commands at the bottom of the Selected menu depend on the
data type. For example, if an XWD file is selected, the Selected menu includes
the items Open and Print.</Para>
<Para>The <Command>ACTIONS</Command> field in the data type definition specifies the commands added to
the bottom of the data type's Selected menu.</Para>
<programlisting>DATA_ATTRIBUTES XWD
{
ACTIONS Open,Print
&hellip;
}
</programlisting>
<Para><IndexTerm>
<Primary>Selected menu</Primary>
</IndexTerm>The contents of the Selected menu depends on the data type. However, many
different data types provide an Open action&mdash;that is, when you select a file of
that particular data type in File Manager and display the Selected menu, you
see an Open command.</Para>
<Figure>
<Title>The Selected menu for an XWD file</Title>
<Graphic Entityref="SAG.IntAc.fig.6" Id="SAG.IntAc.grph.6"></Graphic>
</Figure>
<Para>The<IndexTerm>
<Primary>Open action</Primary>
</IndexTerm>
Open action usually runs the application with which the data file is
associated. For example, opening an XWD file runs the Xwud action, which in
turn runs the xwud X client to display the screen image. In other words, for the
XWD data type, the Open action is synonymous with the Xwud action.
Likewise, opening a file of data type TEXTFILE runs the Text Editor, and
opening a BM (bitmap) or PM (pixmap) file runs Icon Editor.</Para>
<Para>The ability to create a variety of Open actions that do different things uses two
features of action definitions:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Action mapping.<IndexTerm><Primary>actions</Primary><Secondary>mapping</Secondary></IndexTerm><IndexTerm><Primary>MAP actions</Primary></IndexTerm>
</Para>
<Para>Action mapping lets you create an action that runs another action, rather
than directly running a command. For example, you can create an Open
action that maps to (runs) the Xwud action.</Para>
</ListItem>
<ListItem>
<Para>Data-type restrictions on an action.<IndexTerm><Primary>actions</Primary><Secondary>restricted by data type</Secondary></IndexTerm>
</Para>
<Para>Action definitions can include an <Filename>ARG_TYPE</Filename> field that limits the action to
certain data types. For example, you can specify that the Open action that
maps to the Xwud action applies only to files of data type XWD.</Para>
</ListItem>
</ItemizedList>
<Para>Here is the definition of the action that maps the Open action to the Xwud
action for the XWD data type. It is located in the database configuration file
<Filename>/usr/dt/appconfig/types/<Symbol Role="Variable">language</Symbol>/xclients.dt</Filename>:</Para>
<programlisting>ACTION Open
{
LABEL Open
ARG_TYPE XWD
TYPE MAP
MAP_ACTION Xwud
}
</ProgramListing>
<Para>The <Command>TYPE</Command> field specifies that this is a map action; the <Filename>MAP_ACTION</Filename> field
specifies this action runs the Xwud action. The <Filename>ARG_TYPE</Filename> field specifies that
this action applies only to files whose data type is XWD.</Para>
<Para>Compare the previous definition of the Open action to the next definition,
which appears in the database file <Filename>/usr/dt/appconfig/types/<Symbol Role="Variable">language</Symbol>/dt.dt</Filename>:</Para>
<programlisting>ACTION Open
{
LABEL Open
ARG_TYPE BM
TYPE MAP
MAP_ACTION Dticon
}
</ProgramListing>
<Para>This definition applies to files of data type (<Filename>ARG_TYPE</Filename>) BM (bitmap files). The
definition maps the Open action to the Dticon action, which runs Icon Editor.</Para>
</Sect3>
<Sect3 Id="SAG.IntAc.div.11">
<Title><IndexTerm><Primary>data types</Primary><Secondary>double-click behavior</Secondary></IndexTerm>Defining the Double-Click Behavior of the Data Type</Title>
<Para>The data type's double-click behavior is defined by the first entry in the
<Command>ACTIONS</Command> field. For example, for the XWD data type, the double-click behavior
is to run the Open action, which in turn runs the Xwud action.</Para>
</Sect3>
<Sect3 Id="SAG.IntAc.div.12">
<Title>Dropping a Data File on an Action Icon<IndexTerm><Primary>data types</Primary><Secondary>drop behavior</Secondary></IndexTerm></Title>
<Para>When the user drops a data file on an action icon, the system runs the action
using that data file as the argument for the action (see
<!--Original XRef content: '&xd2;How Actions Use Data
Files as Arguments&xd3; on page&numsp;133'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.IntAc.mkr.4">).</Para>
<Para>For example, when an XWD data file is dropped on the Xwd Display icon, the
Xwud action is run using the data file argument. This runs the <Command>xwud</Command> X client
with that data file.</Para>
</Sect3>
</Sect2>
<Sect2 Id="SAG.IntAc.div.13">
<Title>Creating Desktop Printing for a Data Type<IndexTerm><Primary>data types</Primary><Secondary>printing</Secondary></IndexTerm><IndexTerm><Primary>printing</Primary><Secondary>configuring for data type</Secondary></IndexTerm></Title>
<Para>Desktop printing provides these ways to print a data file:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Using the Print command, if available, in the File Manager Selected menu.</Para>
</ListItem>
<ListItem>
<Para>Dropping a data file on a desktop printer drop zone (the Front Panel Printer
control or a printer icon in Print Manager).</Para>
</ListItem>
</ItemizedList>
<Para>In addition to desktop printing, many applications provide a way to print from
within the application.</Para>
<Para>Desktop printing uses actions named Print. Print, like Open, is an action name
that is used for many different types of data. Therefore, Print actions use action
mapping and the <Filename>ARG_TYPE</Filename> field to customize printing for each data type.</Para>
<Para>For example, here is the Print action for the XWD data type. The definition is
located in <Filename>/usr/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol><Filename>/xclients.dt</Filename>:</Para>
<programlisting>ACTION Print
{
LABEL Print
ARG_TYPE XWD
TYPE MAP
MAP_ACTION NoPrint
}
</ProgramListing>
<Para>This Print action, specific to XWD files, is mapped to a NoPrint action. NoPrint
is a special action defined in <Filename>/usr/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol><Filename>/dt.dt</Filename>.
The<IndexTerm>
<Primary>NoPrint action</Primary>
</IndexTerm>
NoPrint action displays a dialog box telling the user that this data type
cannot be printed.</Para>
<Para>Compare the XWD Print action with the following Print action for PCL files:</Para>
<programlisting>ACTION Print
LABEL Print
ARG_TYPE PCL
TYPE MAP
MAP_ACTION PrintRaw
}
</ProgramListing>
<Para>The PrintRaw action, defined in the configuration file
<Filename>/usr/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol><Filename>/print.dt</Filename>, contains the command
line for printing the PCL files.</Para>
<programlisting>ACTION PrintRaw
{
TYPE COMMAND
WINDOW_TYPE NO_STDIO
EXEC_STRING /usr/dt/bin/dtlp -w &percnt;(File)Arg_1&percnt;
}
</ProgramListing>
</Sect2>
</Sect1>
</Chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 06:16:56-->

View File

@@ -0,0 +1,693 @@
<!-- $XConsortium: ch09.sgm /main/9 1996/09/08 19:33:33 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->
<Chapter Id="SAG.dtCrA.div.1">
<Title Id="SAG.dtCrA.mkr.1">Creating Actions and Data Types Using Create Action<IndexTerm><Primary>Create Action</Primary></IndexTerm></Title>
<Para>Create Action is a tool for creating:<IndexTerm><Primary>Create Action</Primary><Secondary>introduction</Secondary></IndexTerm><IndexTerm><Primary>dtCreate, See Create Action</Primary></IndexTerm>
</para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>An action to start an application</Para>
</ListItem>
<ListItem>
<Para>One or more data types for an application's data files</Para>
</ListItem>
<ListItem>
<Para>Actions for opening and printing the application's data files</Para>
</ListItem>
</ItemizedList>
<Para>Create Action is also useful for creating simple actions for running operating
system commands and shell scripts.</Para>
<InformalTable Id="SAG.dtCrA.itbl.1" Frame="All">
<TGroup Cols="1">
<ColSpec Colname="1" Colwidth="4.0 in">
<TBody>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'What Create Action Does141'--><XRef Role="JumpText" Linkend="SAG.dtCrA.div.2"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Limitations of Create Action142'--><XRef Role="JumpText" Linkend="SAG.dtCrA.div.3"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Creating an Action and Data Type for an Application with Create
Action143'--><XRef Role="JumpText" Linkend="SAG.dtCrA.div.6"></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>For reference information, see the <Filename MoreInfo="RefEntry">dtcreate</Filename>(1) man page.</Para>
<Sect1 Id="SAG.dtCrA.div.2">
<Title Id="SAG.dtCrA.mkr.2">What Create Action Does<IndexTerm><Primary>Create Action</Primary><Secondary>functionality</Secondary></IndexTerm></Title>
<Para>Create Action includes a main window and a set of dialog boxes for creating
an action and its associated data types.</Para>
<Para>Create Action does the following:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Creates an action definition that runs a command.</Para>
</ListItem>
<ListItem>
<Para><IndexTerm>
<Primary>Create Action</Primary>
<Secondary>configuration file created</Secondary>
</IndexTerm><IndexTerm>
<Primary>action definition file, created by Create Action</Primary>
</IndexTerm>Creates a file <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/types/</Filename><Symbol Role="Variable">action_name</Symbol><Filename>.dt.</Filename> This file stores
the action and data type definitions created for the application.</Para>
</ListItem>
<ListItem>
<Para>Creates an<IndexTerm>
<Primary>action file</Primary>
</IndexTerm>
<Emphasis>action file</Emphasis> in the user's home directory. The action file is an
executable file with the same<IndexTerm>
<Primary>actions</Primary>
<Secondary>name</Secondary>
</IndexTerm>
name as the action.</Para>
<Para>The action file's representation in File Manager is called an<IndexTerm>
<Primary>application icon</Primary>
<Secondary>using Create Action</Secondary>
</IndexTerm>
<Emphasis>application icon</Emphasis>
because double-clicking it starts the application.</Para>
<Para>Optionally, you can make the action icon a drop zone by specifying
dropable data types when you create the action.</Para>
</ListItem>
<ListItem>
<Para>Creates one or more data types for the application's data files (optional).</Para>
</ListItem>
<ListItem>
<Para>Creates an Open action for each data type.</Para>
</ListItem>
<ListItem>
<Para>Creates a Print action for each data type (optional).</Para>
</ListItem>
<ListItem>
<Para>Reloads the database of actions and data types. This makes the actions and
data types take effect immediately.</Para>
</ListItem>
</ItemizedList>
</Sect1>
<Sect1 Id="SAG.dtCrA.div.3">
<Title Id="SAG.dtCrA.mkr.3">Limitations of Create Action<IndexTerm><Primary>Create Action</Primary><Secondary>limitations</Secondary></IndexTerm></Title>
<Para>Create Action is designed to create actions and data types for running
applications. However, actions and data types are very flexible, and include
additional functionality that can only be accessed if you create the definitions
manually.</Para>
<Para>For more information, see:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para><!--Original XRef content: 'Chapter&numsp;10, &xd2;Creating Actions Manually'--><XRef Role="ChapNumAndTitle" Linkend="SAG.CrAct.div.1"></Para>
</ListItem>
<ListItem>
<Para><!--Original XRef content: 'Chapter&numsp;11, &xd2;Creating Data Types Manually'--><XRef Role="ChapNumAndTitle" Linkend="SAG.CrDT.div.1"></Para>
</ListItem>
</ItemizedList>
<Sect2 Id="SAG.dtCrA.div.4">
<Title>Action Limitations<IndexTerm><Primary>actions</Primary><Secondary>limitations of Create Action</Secondary></IndexTerm></Title>
<Para>You cannot use Create Action to create the action for an application if any of
the following conditions are true:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>The command line requires a<IndexTerm>
<Primary>actions</Primary>
<Secondary>non-file arguments</Secondary>
</IndexTerm><IndexTerm>
<Primary>&lt;$nopage>actions</Primary>
<Secondary>parameters, See arguments</Secondary>
</IndexTerm>
non-file argument (parameter).</Para>
<Para>For example, you cannot use Create Action to write an action for the
command:</Para>
<ProgramListing>lp -d<Symbol Role="Variable">device filename</Symbol></ProgramListing>
<Para>where the user has to supply <Symbol Role="Variable">device</Symbol> each time the command is executed.</Para>
</ListItem>
<ListItem>
<Para>The application icon must have a different label than the action name.</Para>
<Para>For example, you cannot use Create Action to provide a local-language
version of an existing action.</Para>
</ListItem>
<ListItem>
<Para>The action requires any of the advanced features of the action database.</Para>
<Para>Examples of these advanced features are actions that:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>Launch commands on systems remote from the action definition</Para>
</ListItem>
<ListItem>
<Para>Invoke other actions</Para>
</ListItem>
<ListItem>
<Para>Must be run as a different user (for example, as superuser)</Para>
</ListItem>
<ListItem>
<Para>Make extensive use of the ``map'' feature</Para>
</ListItem>
<ListItem>
<Para>Have very different behaviors, depending on the number of file
arguments supplied to the action</Para>
</ListItem>
</ItemizedList>
</ListItem>
</ItemizedList>
</Sect2>
<Sect2 Id="SAG.dtCrA.div.5">
<Title>Data Type Limitations<IndexTerm><Primary>data types</Primary><Secondary>requirements for manual creation</Secondary></IndexTerm><IndexTerm><Primary>data types</Primary><Secondary>limitation of Create Action</Secondary></IndexTerm></Title>
<Para>You cannot use Create Action to create the data type for an application if any
of the following conditions are true:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>The data type must have additional actions associated with it other than
Open and Print.</Para>
</ListItem>
<ListItem>
<Para>The Open action for the data type is not the action's command.</Para>
<Para>For example, you cannot use Create Action to create the data type that
provides a unique icon for the directory representing the application's
application group.</Para>
</ListItem>
</ItemizedList>
</Sect2>
</Sect1>
<Sect1 Id="SAG.dtCrA.div.6">
<Title Id="SAG.dtCrA.mkr.4">Creating an Action and Data Type for an Application with Create Action<IndexTerm><Primary>Create Action</Primary><Secondary>using</Secondary></IndexTerm></Title>
<Para>There are some things you'll need to know about the application before you
run Create Action.</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>The command line for starting the application.</Para>
<Para>You'll need to know whether the command line includes a required file
argument, an optional file argument, or no file argument.</Para>
<Para>If the application requires a non-file argument, you cannot use Create
Action to create the action.</Para>
</ListItem>
<ListItem>
<Para>The types of data files an application can accept.</Para>
<Para>Some applications can accept only one type of data. Others (for example, an
ASCII editor or graphics editor) can accept multiple data types.</Para>
</ListItem>
<ListItem>
<Para>The way the application identifies its data files.</Para>
<Para>This may be a naming convention (for example, file names ending
with<Filename>.doc</Filename>), and/or may depend on the content of the file. If the application
does not use a file-name convention, you can still set one up for the action
icon.</Para>
</ListItem>
<ListItem>
<Para>Optional: The command line to print the files</Para>
</ListItem>
</ItemizedList>
<Sect2 Id="SAG.dtCrA.div.7" Role="Procedure">
<Title Id="SAG.dtCrA.mkr.5">To Create an Action for an Application</Title>
<OrderedList>
<ListItem>
<Para>Double-click Create Action in the Desktop_Apps application group.<IndexTerm><Primary>Create Action</Primary><Secondary>starting</Secondary></IndexTerm>
</Para>
<Figure>
<Title>Create Action icon in Application Manager</Title>
<Graphic Entityref="SAG.dtCrA.fig.1" Id="SAG.dtCrA.grph.1"></Graphic>
</Figure>
<Para><IndexTerm>
<Primary>Create Action</Primary>
<Secondary>main window</Secondary>
</IndexTerm>This displays the main Create Action window.</Para>
<Figure>
<Title>Create Action main window</Title>
<Graphic Entityref="SAG.dtCrA.fig.2" Id="SAG.dtCrA.grph.2"></Graphic>
</Figure>
</ListItem>
<ListItem>
<Para>Type the name that will label the action icon into the<IndexTerm>
<Primary>Action Name field in Create Action</Primary>
</IndexTerm><IndexTerm>
<Primary>Create Action</Primary>
<Secondary>action name</Secondary>
</IndexTerm>
Action Name text field.</Para>
</ListItem>
<ListItem>
<Para>Use the<IndexTerm>
<Primary>Action Icons controls, in Create Action</Primary>
</IndexTerm>
Action Icons controls to specify the icon for the application. Initially,
the default icon is shown.</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>To choose a different, existing icon, click Find Set to display the Find Set
dialog box. See
<!--Original XRef content: '&xd2;Using the Find Set Dialog Box To Specify an Icon&xd3; on
page&numsp;152'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.dtCrA.div.9">.</Para>
</ListItem>
<ListItem>
<Para>To create new icons, choose Edit Icon to run the Icon Editor.</Para>
</ListItem>
</ItemizedList>
</ListItem>
<ListItem>
<Para>In the Command When Action Icon Is Opened text field, type the command
to start the application.</Para>
<Para><IndexTerm>
<Primary>Create Action</Primary>
<Secondary>action command syntax</Secondary>
</IndexTerm>Use the syntax <Filename>$</Filename><Symbol Role="Variable">n</Symbol> for a file argument; for example:</Para>
<programlisting>emacs
bitmap $1
diff $1 $2
lp -oraw $1
</Programlisting>
<Para>If the command line includes a file argument
(<Filename>$</Filename><Symbol Role="Variable">n</Symbol>), then the
action icon will be a drop zone for files.<IndexTerm><Primary>Create Action</Primary><Secondary>specifying file argument</Secondary></IndexTerm><IndexTerm><Primary>file argument</Primary><Secondary>specified with Create Action</Secondary></IndexTerm>
</Para>
<Para>The command lines are not passed to a shell unless you explicitly specify
the use of a shell. For example, these lines use shell processing:</Para>
<programlisting>/bin/sh -c 'ps | lp'
/bin/sh -c 'spell $1 | more'
</Programlisting>
</ListItem>
<ListItem>
<Para>Type the On Item help text for the action icon into the Help Text For Action
Icon text field.</Para>
<Para><IndexTerm>
<Primary>help</Primary>
<Secondary>specified using Create Action</Secondary>
</IndexTerm>The text will automatically wrap in the text field. However, these line breaks
are not preserved online. If you want to specify a hard line break, use <filename></Filename>.</Para>
</ListItem>
<ListItem>
<Para><IndexTerm>
<Primary>actions</Primary>
<Secondary>window support</Secondary>
</IndexTerm><IndexTerm>
<Primary>window support for actions</Primary>
</IndexTerm>Choose the windowing support required by the action from the Window
Type option menu.</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="165*">
<colspec colwidth="363*">
<TBody>
<Row>
<Entry><Para>Graphical (X-Window)</Para></Entry>
<Entry><Para>The application creates its own window</Para></Entry>
</Row>
<Row>
<Entry><Para>Terminal (Auto-Close)<IndexTerm><Primary>terminal emulator</Primary><Secondary>action auto-close option</Secondary></IndexTerm>
</Para></Entry>
<Entry><Para>The application will run in a terminal emulator
window that closes automatically when the
user exits the application</Para></Entry>
</Row>
<Row>
<Entry><Para>Terminal (Manual Close)<IndexTerm><Primary>terminal emulator</Primary><Secondary>action manual-close option</Secondary></IndexTerm>
</Para></Entry>
<Entry><Para>The application will run in a terminal emulator
window that remains open until the user
explicitly closes it</Para></Entry>
</Row>
<Row>
<Entry><Para>No Output<IndexTerm><Primary>actions</Primary><Secondary>no display output</Secondary></IndexTerm>
</Para></Entry>
<Entry><Para>The application does not produce output to the
display</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</ListItem>
<ListItem>
<Para>Proceed as follows:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>If your application has data files, and you want to create one or more data
types for them, see the next section,
<!--Original XRef content: '&xd2;To Create One or More Data Types
for an Application'--><XRef Role="SectionTitle" Linkend="SAG.dtCrA.div.8">.''</Para>
</ListItem>
<ListItem>
<Para>If you do not need to create a data type, save the action by choosing Save
from the File menu. Then, test the new action by double-clicking its icon
in your home directory.</Para>
</ListItem>
</ItemizedList>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.dtCrA.div.8" Role="Procedure">
<Title Id="SAG.dtCrA.mkr.6">To Create One or More Data Types for an Application<IndexTerm><Primary>Create Action</Primary><Secondary>data type creation</Secondary></IndexTerm><IndexTerm><Primary>data types</Primary><Secondary>created with Create Action</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Define the action for the application using the procedure in the previous
section,
<!--Original XRef content: '&xd2;To Create an Action for an Application'--><XRef Role="SectionTitle" Linkend="SAG.dtCrA.mkr.5">.</Para>
</ListItem>
<ListItem>
<Para>Click the Advanced button in the Create Action window to expand the
window.</Para>
<Figure>
<Title>Advanced features in the main Create Action window</Title>
<Graphic Entityref="SAG.dtCrA.fig.3" Id="SAG.dtCrA.grph.3"></Graphic>
</Figure>
</ListItem>
<ListItem>
<Para><IndexTerm>
<Primary>file prompt, specified with Create Action</Primary>
</IndexTerm><IndexTerm>
<Primary>Create Action</Primary>
<Secondary>file prompt</Secondary>
</IndexTerm>If you want the application icon to prompt for a file argument when the icon
is double-clicked, type the text of the prompt into the ``When Action Opens,
Ask Users for'' text field.</Para>
<Para>Use these guidelines for this text field:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>You must use this field if the application's command line has a <Symbol Role="Variable">required</Symbol> file
argument.</Para>
</ListItem>
<ListItem>
<Para>You must leave this field blank if the command line does not include a file
argument.</Para>
</ListItem>
<ListItem>
<Para>If the file argument in the application's command line is optional, you
have a choice. If you supply the prompt text, the action icon will prompt
for the file when double-clicked. If you do not supply the prompt text, the
action will be executed with a null string as the file argument.</Para>
</ListItem>
</ItemizedList>
</ListItem>
<ListItem>
<Para>Specify the types of files that the action will accept as arguments:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>If the action can accept any data type, select All Data Types.</Para>
</ListItem>
<ListItem>
<Para>If the action can accept only the data type(s) you create for the application,
select Only Above List.</Para>
</ListItem>
</ItemizedList>
<Para>Initially, the<IndexTerm>
<Primary>Data Types list in Create Action</Primary>
</IndexTerm>
Datatypes That Use This Action list is empty. As you create
data types for the application, they are added to the list.</Para>
</ListItem>
<ListItem>
<Para>Click Add beside the Datatypes That Use This Action list box to display the
Add Data Type dialog box.</Para>
<Figure>
<Title>Create Action's Add Datatype dialog box</Title>
<Graphic Entityref="SAG.dtCrA.fig.4" Id="SAG.dtCrA.grph.4"></Graphic>
</Figure>
</ListItem>
<ListItem>
<Para>Optional: If you don't want to use the default data type name, type a new
name for the data type into the<IndexTerm>
<Primary>Name of Data Type text field</Primary>
</IndexTerm><IndexTerm>
<Primary>Create Action</Primary>
<Secondary>data type name</Secondary>
</IndexTerm>
Name of Datatype Family text field.</Para>
<Para>The name cannot include spaces. The data type name is not visible to
application users; it is used in the actions/data types database to identify
the data type definition.</Para>
</ListItem>
<ListItem>
<Para>Click the Edit button beside the<IndexTerm>
<Primary>Identifying Characteristics</Primary>
<Secondary>dialog box</Secondary>
</IndexTerm>
Identifying Characteristics box to display
the Identifying Characteristics dialog box.</Para>
<Figure>
<Title>Create Action's Identifying Characteristics dialog box</Title>
<Graphic Entityref="SAG.dtCrA.fig.5" Id="SAG.dtCrA.grph.5"></Graphic>
</Figure>
<Para>Characteristics of a data type are the criteria used to differentiate the data
type from others. You can choose one or more of the following criteria:</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="137*">
<colspec colwidth="391*">
<TBody>
<Row>
<Entry><Para>Files or Folder</Para></Entry>
<Entry><Para>The data type applies only to files or only to folders</Para></Entry>
</Row>
<Row>
<Entry><Para>Name Pattern<IndexTerm><Primary>data types</Primary><Secondary>name-based</Secondary></IndexTerm><IndexTerm><Primary>name-based data types</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>Data typing based on the file name</Para></Entry>
</Row>
<Row>
<Entry><Para>Permission Pattern<IndexTerm><Primary>permission pattern, specified with Create Action</Primary></IndexTerm><IndexTerm><Primary>data types</Primary><Secondary>permission pattern</Secondary></IndexTerm>
</Para></Entry>
<Entry><Para>Read, write, execute permissions</Para></Entry>
</Row>
<Row>
<Entry><Para>Contents<IndexTerm><Primary>data types</Primary><Secondary>content-based</Secondary></IndexTerm><IndexTerm><Primary>content-based data type</Primary></IndexTerm>
</Para></Entry>
<Entry><Para>Contents of a specified portion of the file</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</ListItem>
<ListItem>
<para>Select whether the data type represents a file or folder.
</para>
<Figure>
<Title>Specifying a file or directory characteristic for a data type.</Title>
<Graphic Entityref="SAG.dtCrA.fig.6" Id="SAG.dtCrA.grph.6"></Graphic>
</Figure>
</ListItem>
<ListItem>
<Para>If the data typing depends on the name, select the Name Pattern check box
and fill in the text field.</Para>
<Figure>
<Title>Specifying the file name characteristic for a data type</Title>
<Graphic Entityref="SAG.dtCrA.fig.7" Id="SAG.dtCrA.grph.7"></Graphic>
</Figure>
<Para>You can use * and ? as wildcards:</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="35*">
<colspec colwidth="493*">
<TBody>
<Row>
<Entry><Para><Filename>*</Filename></Para></Entry>
<Entry><Para>Matches any sequence of characters</Para></Entry>
</Row>
<Row>
<Entry><Para><Filename>?</Filename></Para></Entry>
<Entry><Para>Matches any single character</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</ListItem>
<ListItem>
<para>If the data typing depends on the permissions, select the
Permission Pattern check box and select the permissions for the data type.
</para>
<Figure>
<Title>Specifying the permission characteristics for a data type</Title>
<Graphic Entityref="SAG.dtCrA.fig.8" Id="SAG.dtCrA.grph.8"></Graphic>
</Figure>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="47*">
<colspec colwidth="481*">
<TBody>
<Row>
<Entry><Para>On</Para></Entry>
<Entry><Para>The file must have the specified permission</Para></Entry>
</Row>
<Row>
<Entry><Para>Off</Para></Entry>
<Entry><Para>The file must lack the specified permission</Para></Entry>
</Row>
<Row>
<Entry><Para>Either</Para></Entry>
<Entry><Para>The specified permission does not matter</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</ListItem>
<ListItem>
<para>If the data typing depends on the contents, select the Contents
check box and supply the requested information&mdash;Pattern to search for and
Type of contents. Optionally, you can supply the byte location where the
search should start.
</para>
<Figure>
<Title>Specifying the contents characteristics for a data type</Title>
<Graphic Entityref="SAG.dtCrA.fig.9" Id="SAG.dtCrA.grph.9"></Graphic>
</Figure>
<Note>
<Para>Use of content-based data typing may affect the performance of the
system.</Para>
</Note>
</ListItem>
<ListItem>
<Para>Click OK to close the Identifying Characteristics dialog box.</Para>
<Para>The characteristics will be displayed in the Identifying Characteristics field
using this coding:<IndexTerm><Primary>Identifying Characteristics</Primary><Secondary>field</Secondary></IndexTerm>
</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="35*">
<colspec colwidth="493*">
<TBody>
<Row>
<Entry><Para>d</Para></Entry>
<Entry><Para>A directory</Para></Entry>
</Row>
<Row>
<Entry><Para>r</Para></Entry>
<Entry><Para>The file has read permission</Para></Entry>
</Row>
<Row>
<Entry><Para>w</Para></Entry>
<Entry><Para>The file has write permission</Para></Entry>
</Row>
<Row>
<Entry><Para>x</Para></Entry>
<Entry><Para>The file has execute permission</Para></Entry>
</Row>
<Row>
<Entry><Para>!</Para></Entry>
<Entry><Para>Logical operator NOT</Para></Entry>
</Row>
<Row>
<Entry><Para>&amp;</Para></Entry>
<Entry><Para>Logical operator AND</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</ListItem>
<ListItem>
<Para>Type the help text for the data files into the Help Text text field.</Para>
</ListItem>
<ListItem>
<Para>Use the Datatype Icons controls to specify the icon for the application.
Initially, the default icon is shown.</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>To choose a different, existing icon, click Find Set to display the Find Set
dialog box. See
<!--Original XRef content: '&xd2;Using the Find Set Dialog Box To Specify an Icon&xd3; on
page&numsp;152'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.dtCrA.div.9">.</Para>
</ListItem>
<ListItem>
<Para>To create new icons, click Edit Icon to run the Icon Editor.</Para>
</ListItem>
</ItemizedList>
</ListItem>
<ListItem>
<Para>Verify the command in the Command to Open this Datatype text field. This
is the command that will be executed when the user double-clicks a data
file.</Para>
</ListItem>
<ListItem>
<Para>Optional: If the application supplies a print command for printing data files
from the command line, type the command into the Command to Print this
Datatype text field, using the syntax <Filename>$</Filename><Symbol Role="Variable">n</Symbol> for a file argument.</Para>
</ListItem>
<ListItem>
<Para>Do one of the following to save the data type definition:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Click OK to save the data type and close the Add Datatype dialog box.</Para>
</ListItem>
<ListItem>
<Para>Click Apply to save the data type without closing the Add Datatype dialog
box. This let you immediately proceed to define another data type for the
action.</Para>
</ListItem>
</ItemizedList>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.dtCrA.div.9">
<Title Id="SAG.dtCrA.mkr.7">Using the Find Set Dialog Box To Specify an Icon<IndexTerm><Primary>Create Action</Primary><Secondary>specifying icons</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>Find Set dialog box</Secondary></IndexTerm><IndexTerm><Primary>Find Set dialog box</Primary></IndexTerm></Title>
<Para>The Find Set dialog box is displayed when you click Find Set in the Create
Action main window or in the Add Datatype window. Use the dialog box to
specify the icon that will be used for the action or data type.</Para>
<Figure>
<Title>Find Set dialog box<IndexTerm><Primary>data types</Primary><Secondary>icons for</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>data types</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>actions</Secondary></IndexTerm><IndexTerm><Primary>actions</Primary><Secondary>icons for</Secondary></IndexTerm></Title>
<Graphic Entityref="SAG.dtCrA.fig.10" Id="SAG.dtCrA.grph.10"></Graphic>
</Figure>
<Para>The Find Set dialog box lets you specify a set of icon image files located:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>In a directory on the icon search path. The Icon Folders list includes all the
directories on the icon search path.</Para>
</ListItem>
<ListItem>
<Para>In a registration package that will be integrated with the desktop using
<Command>dtappintegrate</Command>. These icons are not yet located in a directory on the icon
search path, but will be placed there by <Command>dtappintegrate</Command>.</Para>
</ListItem>
</ItemizedList>
<Note>
<Para>The action and data type definitions created using Create Action write
out the base name for the icon files (the file name minus the file-name suffixes
for size and type). Icons for actions and data types created with Create Action
must eventually be placed in directories on the icon search path.</Para>
</Note>
<Sect3 Id="SAG.dtCrA.div.10" Role="Procedure">
<Title>To Specify a Set of Icons Located on the Icon Search Path</Title>
<OrderedList>
<ListItem>
<Para>In the Find Set dialog box's Icon Folders list, double-click the folder path
containing the icon.</Para>
<Para>The Icon Files list will show all the icon files in that folder.</Para>
</ListItem>
<ListItem>
<Para>In the Icon Files list, click the icon you want to use.</Para>
<Para>This places the base name of the icon file in the Enter Icon File name text
field.</Para>
</ListItem>
<ListItem>
<Para>Click OK.</Para>
</ListItem>
</OrderedList>
</Sect3>
<Sect3 Id="SAG.dtCrA.div.11" Role="Procedure">
<Title>To Specify an Icon in a Registration Package</Title>
<Para>If you are a system administrator or programmer creating a registration
package, the icon image files are initially located in a directory in the
registration package:</Para>
<ProgramListing><Symbol Role="Variable">app_root</Symbol>/dt/appconfig/icons/<Symbol Role="Variable">language</Symbol></ProgramListing>
<Para>After registration with <Command>dtappintegrate</Command>, the icon files will be copied to
<Filename>/etc/dt/appconfig/icons/</Filename><Symbol Role="Variable">language</Symbol>, which is on the icon search path.</Para>
<Para>Use this procedure to specify icons that are part of a registration package:</Para>
<OrderedList>
<ListItem>
<Para>In the Find Set dialog box's Enter Icon Filename text field, type the base
name of the icon file.</Para>
</ListItem>
<ListItem>
<Para>Click OK.</Para>
<Para>Create Action displays a dialog box to inform you that the icons were not
found in directories on the icon search path.</Para>
</ListItem>
<ListItem>
<Para>In the information dialog box that appears, choose No Change.</Para>
</ListItem>
</OrderedList>
</Sect3>
</Sect2>
</Sect1>
</Chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 06:16:56-->

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,532 @@
<!-- $XConsortium: ch12.sgm /main/9 1996/09/08 19:34:03 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->
<Chapter Id="SAG.CrIcn.div.1">
<Title Id="SAG.CrIcn.mkr.1">Creating Icons for the Desktop</Title>
<Para Id="SAG.CrIcn.mkr.2">Desktop icons are associated with:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Action files and data types in File Manager and Application Manager</Para>
</ListItem>
<ListItem>
<Para>Front Panel controls</Para>
</ListItem>
<ListItem>
<Para>Minimized application windows</Para>
</ListItem>
<ListItem>
<Para>Graphics used by applications such as palettes and toolbars</Para>
</ListItem>
<ListItem>
<Para>Workspace backdrop</Para>
<InformalTable Id="SAG.CrIcn.itbl.1" Frame="All">
<TGroup Cols="1">
<ColSpec Colname="1" Colwidth="4.0 in">
<TBody>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Icon Image Files201'--><XRef Role="JumpText" Linkend="SAG.CrIcn.div.2"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Icon Associations204'--><XRef Role="JumpText" Linkend="SAG.CrIcn.div.8"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Icon Design Recommendations207'--><XRef Role="JumpText" Linkend="SAG.CrIcn.div.17"></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</ListItem>
</ItemizedList>
<Note>
<Para>The development environment documentation contains additional
information about desktop icons. See Chapter 4, &ldquo;Visual Design,&rdquo; in the <Emphasis>Style
Guide and Certification Checklist</Emphasis>.</Para>
</Note>
<Sect1 Id="SAG.CrIcn.div.2">
<Title Id="SAG.CrIcn.mkr.3">Icon Image Files</Title>
<Para>For the desktop to use an icon image, the icon image file must:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Be in the proper format.</Para>
</ListItem>
<ListItem>
<Para>Use the proper file-naming conventions.</Para>
</ListItem>
<ListItem>
<Para>Use the desktop size conventions.</Para>
</ListItem>
<ListItem>
<Para>Be located in a directory along the icon search path.</Para>
</ListItem>
<ListItem>
<Para>Be called by the desktop construct using the proper syntax. For example, if
you create a new control for the Front Panel, use the <Command>ICON</Command> field in the Front
Panel definition to specify the icon image to use for the control.</Para>
</ListItem>
</ItemizedList>
<Sect2 Id="SAG.CrIcn.div.3">
<Title>Icon File Formats<IndexTerm><Primary>icons</Primary><Secondary>search path, See icon search path&lt;$nopage></Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>servers, See icon servers&lt;nopage></Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>file formats</Secondary></IndexTerm><IndexTerm><Primary>bitmaps</Primary><Secondary>See also icons</Secondary></IndexTerm></Title>
<Para>For a color display, use X pixmap (XPM) format icon files, which typically have
a<Filename>.pm</Filename> suffix. Otherwise, use X bitmap (XBM) format files, which typically have
a <Filename>.bm</Filename> suffix. If transparency is used in the pixmap file, a mask file (<Filename>_m.bm</Filename>) is
generated when the <Filename>.bm</Filename> file is created. See
<!--Original XRef content: '&xd2;Icon Search Path&xd3; on page&numsp;122'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.Datab.mkr.13"> for
more information about how the desktop finds these files.</Para>
</Sect2>
<Sect2 Id="SAG.CrIcn.div.4">
<Title>Icon File Names<IndexTerm><Primary>icons</Primary><Secondary>file names</Secondary></IndexTerm><IndexTerm><Primary>file names, icon</Primary></IndexTerm></Title>
<Para>Each icon and backdrop image is stored as a separate file. Typically, an icon is
specified with the base part of its file name. For example, an icon might be
referenced with the name <ComputerOutput>mail</ComputerOutput> when the file is actually stored as:<IndexTerm>
<Primary>icons</Primary>
<Secondary>how files are found</Secondary>
</IndexTerm><IndexTerm>
<Primary>icons</Primary>
<Secondary>naming conventions</Secondary>
</IndexTerm><IndexTerm>
<Primary>.pm filename extension[pm filename]</Primary>
</IndexTerm><IndexTerm>
<Primary>.bm filename extension[bm filename]</Primary>
</IndexTerm><IndexTerm>
<Primary>bitmaps</Primary>
<Secondary>how files are found</Secondary>
</IndexTerm><IndexTerm>
<Primary>pixmaps</Primary>
<Secondary>how files are found</Secondary>
</IndexTerm><IndexTerm>
<Primary>2</Primary>
</IndexTerm><IndexTerm>
<Primary>images, See icons&lt;$nopage></Primary>
</IndexTerm>
</Para>
<ProgramListing>/usr/dt/appconfig/icons/<Symbol Role="Variable">language</Symbol>/mail.l.pm</ProgramListing>
<Para>The file-naming convention of adding suffixes helps group icons by size and
type. Icon names for desktop components are in these general formats:</Para>
<Para><Symbol Role="Variable">basename</Symbol><Filename>.</Filename><Symbol Role="Variable">size</Symbol><Filename>.</Filename><Symbol Role="Variable">format</Symbol></Para>
<Para>Or</Para>
<Para><Symbol Role="Variable">basename</Symbol><Filename>.</Filename><Symbol Role="Variable">format</Symbol></Para>
<Para>where:</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="78*">
<colspec colwidth="450*">
<TBody>
<Row>
<Entry><Para><Symbol Role="Variable">basename</Symbol></Para></Entry>
<Entry><Para>The image base name used to reference the image</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">size</Symbol></Para></Entry>
<Entry><Para>A letter indicating the size:
<Command>l</Command> (large),
<Command>m</Command> (medium),
<Command>s</Command> (small),
<Command>t</Command> (tiny)
</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">format</Symbol></Para></Entry>
<Entry><Para>File format:
<Command>pm</Command> (pixmap),
<Command>bm</Command> (bitmap)
</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</Sect2>
<Sect2 Id="SAG.CrIcn.div.5">
<Title Id="SAG.CrIcn.mkr.4">Icon Size Conventions<IndexTerm><Primary>icons</Primary><Secondary>size conventions</Secondary></IndexTerm><IndexTerm><Primary>sizes of icons</Primary></IndexTerm></Title>
<Para><IndexTerm>
<Primary>bitmaps</Primary>
<Secondary>naming conventions</Secondary>
</IndexTerm><IndexTerm>
<Primary>pixmaps</Primary>
<Secondary>naming conventions</Secondary>
</IndexTerm><!--Original XRef content: 'Table&numsp;12&hyphen;1'--><XRef Role="CodeOrFigureOrTable" Linkend="SAG.CrIcn.tbl.1"> shows the recommended pixel dimensions for desktop icons</Para>
<Table Id="SAG.CrIcn.tbl.1" Frame="Topbot">
<Title Id="SAG.CrIcn.mkr.5">Icon Sizes and File Names</Title>
<TGroup Cols="3">
<ColSpec Colname="1" Colwidth="1.25 in">
<ColSpec Colname="2" Colwidth="1.25 in">
<ColSpec Colname="3" Colwidth="1.375 in">
<THead>
<Row>
<Entry><Para><Literal>Icon Size</Literal></Para></Entry>
<Entry><Para><Literal>Bitmap Name</Literal></Para></Entry>
<Entry><Para><Literal>Pixmap Name</Literal></Para></Entry>
</Row>
</THead>
<TBody>
<Row>
<Entry><Para>16 by 16 (tiny)</Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.t.bm</Filename></Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.t.pm</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>24 by 24 (small)</Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.s.bm</Filename></Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.s.pm</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>32 by 32 (medium)</Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.m.bm</Filename></Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.m.pm</Filename></Para></Entry>
</Row>
<Row>
<Entry><Para>48 by 48 (large)</Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.l.bm</Filename></Para></Entry>
<Entry><Para><Symbol Role="Variable">name</Symbol><Filename>.l.pm</Filename></Para></Entry>
</Row>
</TBody>
</TGroup>
</Table>
<Para Id="SAG.CrIcn.mkr.6">.</Para>
<Para><!--Original XRef content: 'Table&numsp;12&hyphen;2'--><XRef Role="CodeOrFigureOrTable" Linkend="SAG.CrIcn.tbl.2"> shows the icon sizes used by the desktop components. In some
cases, the size of the icon used depends on the display resolution.</Para>
<Table Id="SAG.CrIcn.tbl.2" Frame="Topbot">
<Title Id="SAG.CrIcn.mkr.7">Desktop Components and Their Icon Sizes</Title>
<TGroup Cols="4" colsep="0" rowsep="0">
<colspec colwidth="2.38in">
<colspec colwidth="1.17in">
<colspec colwidth="1.23in">
<colspec colwidth="1.31in">
<THead>
<Row>
<Entry><Para><Literal>Desktop Component</Literal></Para></Entry>
<Entry><Para><Literal>High
Resolution</Literal></Para></Entry>
<Entry><Para><Literal>Medium
Resolution</Literal></Para></Entry>
<Entry><Para><Literal>Low
Resolution</Literal></Para></Entry>
</Row>
</THead>
<TBody>
<Row>
<Entry><Para>File Manager and Application Manager
(View by Name and Icon)</Para></Entry>
<Entry><Para>medium</Para></Entry>
<Entry><Para>medium</Para></Entry>
<Entry><Para>medium</Para></Entry>
</Row>
<Row>
<Entry><Para>File Manager and Application Manager
(View by Name and Small Icon)</Para></Entry>
<Entry><Para>tiny</Para></Entry>
<Entry><Para>tiny</Para></Entry>
<Entry><Para>tiny</Para></Entry>
</Row>
<Row>
<Entry><Para>Main Front Panel controls</Para></Entry>
<Entry><Para>large</Para></Entry>
<Entry><Para>large</Para></Entry>
<Entry><Para>medium</Para></Entry>
</Row>
<Row>
<Entry><Para>Front Panel subpanels</Para></Entry>
<Entry><Para>medium</Para></Entry>
<Entry><Para>medium</Para></Entry>
<Entry><Para>tiny</Para></Entry>
</Row>
<Row>
<Entry><Para>Front Panel switch controls</Para></Entry>
<Entry><Para>small</Para></Entry>
<Entry><Para>small</Para></Entry>
<Entry><Para>tiny</Para></Entry>
</Row>
<Row>
<Entry><Para>Minimized windows</Para></Entry>
<Entry><Para>large</Para></Entry>
<Entry><Para>large</Para></Entry>
<Entry><Para>medium</Para></Entry>
</Row>
</TBody>
</TGroup>
</Table>
<Para>For example, if you specify an icon named <ComputerOutput>mail</ComputerOutput> for a data type, have a color
display, and have set the File Manager preferences to small icons, the icon
image used is <Filename>mail.t.pm</Filename>.</Para>
</Sect2>
<Sect2 Id="SAG.CrIcn.div.6">
<Title>Icon Search Path<IndexTerm><Primary>bitmaps</Primary><Secondary>search path</Secondary></IndexTerm><IndexTerm><Primary>bitmaps</Primary><Secondary>how files are found</Secondary></IndexTerm><IndexTerm><Primary>pixmaps</Primary><Secondary>search path</Secondary></IndexTerm><IndexTerm><Primary>pixmaps</Primary><Secondary>how files are found</Secondary></IndexTerm><IndexTerm><Primary>search paths</Primary><Secondary>icons</Secondary></IndexTerm></Title>
<Para>The desktop finds an icon file, or image, by searching for the file in a list of
directories. This list of directories, called the <Symbol Role="Variable">icon s</Symbol><Emphasis>earch path</Emphasis>, is determined by
the value of several environment variables. Which variables are used and how
they are put together to create the icon search path are discussed in
<!--Original XRef content: '&xd2;Icon
Search Path&xd3; on page&numsp;122'--><XRef Role="HeadingAndPage" Linkend="SAG.Datab.mkr.13">.</Para>
<Para>The default search path is:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Built-in icons: <Filename>/usr/dt/appconfig/icons/</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
<ListItem>
<Para>System-wide icons: <Filename>/etc/dt/appconfig/icons/</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
<ListItem>
<Para>Personal icons: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/icons</Filename></Para>
</ListItem>
</ItemizedList>
</Sect2>
<Sect2 Id="SAG.CrIcn.div.7">
<Title>Accessing Icons across the Network</Title>
<Para>The desktop can access icons on remote systems. For information on creating
an icon server, see
<!--Original XRef content: '&xd2;Configuring Database, Icon, and Help Services&xd3; on
page&numsp;101'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.ClSrv.mkr.16">.</Para>
</Sect2>
</Sect1>
<Sect1 Id="SAG.CrIcn.div.8">
<Title Id="SAG.CrIcn.mkr.8">Icon Associations</Title>
<Para>To enable quicker object recognition, you can associate icons with:<IndexTerm>
<Primary>icons</Primary>
<Secondary>making associations</Secondary>
</IndexTerm>
</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Actions and data types</Para>
</ListItem>
<ListItem>
<Para>Controls in the Front Panel and subpanels</Para>
</ListItem>
<ListItem>
<Para>Minimized application windows</Para>
</ListItem>
</ItemizedList>
<Sect2 Id="SAG.CrIcn.div.9">
<Title>Specifying Icon Files</Title>
<Para>For icons used for actions, data types, and in the Front Panel or subpanels,
specify only the base name of the icon (no suffixes). The correct suffixes are
added automatically based on your display resolution, color support, and File
Manager view options (such as By Small Icons).</Para>
<Para>To override the search path, provide the complete path and name of the icon.</Para>
</Sect2>
<Sect2 Id="SAG.CrIcn.div.10" Role="Procedure">
<Title>To Associate an Icon with an Action or Data Type</Title>
<OrderedList>
<ListItem>
<Para>Specify the icon using the <Command>ICON</Command> field.</Para>
<Para>If you follow the appropriate naming conventions for icon files, specify only
the base name of the icon. The correct icon will be displayed based on the
resolution and color support of your display.<IndexTerm>
<Primary>icons</Primary>
<Secondary>associating with action or data type</Secondary>
</IndexTerm><IndexTerm>
<Primary>actions</Primary>
<Secondary>associating icon with</Secondary>
</IndexTerm><IndexTerm>
<Primary>data types</Primary>
<Secondary>associating icon with</Secondary>
</IndexTerm>
</Para>
</ListItem>
<ListItem>
<Para>Create the following icon sizes:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>Actions: large, medium, and tiny</Para>
</ListItem>
<ListItem>
<Para>Data types: medium and tiny</Para>
</ListItem>
</ItemizedList>
</ListItem>
</OrderedList>
<Sect3 Id="SAG.CrIcn.div.11">
<Title>Example of an Action Definition</Title>
<Para>The following example is an action definition for starting the Island Paint<Superscript>TM</Superscript>
drawing tool. The icons <Filename>Ipaint.l</Filename> and <Filename>Ipaint.s</Filename> are associated with the
action.</Para>
<programlisting>ACTION IslandPaintOpenDoc
{
WINDOW_TYPE NO-STDIO
ICON Ipaint
EXEC_STRING /usr/bin/IslandPaint &percnt;Arg_1&ldquo;File to open:&rdquo;&percnt;
}
</ProgramListing>
<Para>If you are using color icons, the desktop first appends<Filename>.pm</Filename> when looking for the
actual icon files. Otherwise (or if no match is found with<Filename>.pm</Filename>), the desktop
appends<Filename>.bm</Filename>.</Para>
<Sect4 Id="SAG.CrIcn.div.12">
<Title>Example of Data Type Definition</Title>
<Para>The following data type definition associates the icons <Filename>comprsd.l</Filename> and
<Filename>comprsd.s</Filename> with compressed files:</Para>
<programlisting>DATA_ATTRIBUTES COMPRESSED
{
ICON comprsd
ACTIONS Uncompress
DESCRIPTION A COMPRESSED file has been compressed by the \
'compress' command to take up less space.
}
</ProgramListing>
</Sect4>
</Sect3>
</Sect2>
<Sect2 Id="SAG.CrIcn.div.13" Role="Procedure">
<Title>To Display an Icon in a Front Panel Control</Title>
<OrderedList>
<ListItem>
<Para>Specify the image name using the <Command>ICON</Command> field.</Para>
<Para>If the control monitors a file (<Filename>MONITOR_TYPE</Filename> is set to mail or file), use the
<Command>ALTERNATE_ICON</Command> field to specify the icons used when the change is
detected.<IndexTerm>
<Primary>2</Primary>
</IndexTerm><IndexTerm>
<Primary>icons</Primary>
<Secondary>Front Panel</Secondary>
</IndexTerm><IndexTerm>
<Primary>Front Panel</Primary>
<Secondary>displaying icon in</Secondary>
</IndexTerm>
</Para>
<Para>You can also provide animation for buttons and drop zone controls.</Para>
</ListItem>
<ListItem>
<Para>Create the following icon sizes:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>Main Panel and subpanels: large, medium, and tiny</Para>
</ListItem>
<ListItem>
<Para>Workspace switch: small</Para>
</ListItem>
</ItemizedList>
</ListItem>
</OrderedList>
<Sect3 Id="SAG.CrIcn.div.14">
<Title>Example</Title>
<Para>The following control changes appearance when a file named <Command>report</Command> is placed
in the <Filename>/doc/ftp/pub/</Filename> directory. When the file is not there, the <Filename>NoReport.pm</Filename>
icon is displayed; when the file is there, <Filename>Report.pm</Filename> is displayed.</Para>
<programlisting>CONTROL MonitorReport
{
CONTAINER_NAME <Symbol Role="Variable">container_name</Symbol>
TYPE ICON
MONITOR_TYPE file
FILE_NAME /doc/ftp/pub/report
ICON NoReport
ALTERNATE_ICON Report
}
</ProgramListing>
</Sect3>
</Sect2>
<Sect2 Id="SAG.CrIcn.div.15" Role="Procedure">
<Title>To Associate an Icon with an Application Window</Title>
<OrderedList>
<ListItem>
<Para>Set the <ComputerOutput>iconImage</ComputerOutput> resource for Workspace Manager as follows:<IndexTerm>
<Primary>icons</Primary>
<Secondary>associating with application window</Secondary>
</IndexTerm><IndexTerm>
<Primary>application window, associating icon with</Primary>
</IndexTerm>
</Para>
<Para><Filename>Dtwm*</Filename><Symbol Role="Variable">clientname</Symbol><Command>*iconImage:</Command> <Symbol Role="Variable">icon_file_name</Symbol></Para>
<Para>To determine the correct value for <Symbol Role="Variable">clientname</Symbol>, open Application Manager
and double-click Window Properties in the Desktop_Tools application
group. When you select a window, its properties are listed. The<IndexTerm>
<Primary>WM_CLASS property</Primary>
</IndexTerm>
WM_CLASS
property displays the window's class name in quotes.</Para>
<Para>For more information about setting resources, see
<!--Original XRef content: '&xd2;Setting Application
Resources&xd3; on page&numsp;256'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.FACol.div.2">.</Para>
</ListItem>
<ListItem>
<Para>Choose Restart Workspace Manager from the Workspace menu.</Para>
</ListItem>
</OrderedList>
<Para>To verify that the icon has been recognized by Workspace Manager, minimize
the window whose icon you are trying to modify.</Para>
<Note>
<Para>Some applications do not allow their default window icon to be
overridden.</Para>
</Note>
</Sect2>
<Sect2 Id="SAG.CrIcn.div.16" Role="Procedure">
<Title>To Use File Manager as an Icon Browser<IndexTerm><Primary>icons</Primary><Secondary>browsing with File Manager</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>using File Manager as icon browser</Secondary></IndexTerm><IndexTerm><Primary>File Manager, using as icon browser</Primary></IndexTerm><IndexTerm><Primary>browsing icons using File Manager</Primary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Copy the file <Filename>/usr/dt/examples/types/</Filename><Symbol Role="Variable">language</Symbol><Filename>/IconBrowse.dt</Filename> to the
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/types/Iconbrowse.dt</Filename> directory.</Para>
</ListItem>
<ListItem>
<Para>Open Application Manager and double-click Reload Actions in the
Desktop_Tools application group.</Para>
</ListItem>
</OrderedList>
<Para>When you change to a directory that contains icons (<Filename>.bm</Filename> and<Filename>.pm</Filename> files), each
icon is displayed next to its name. For example, if you change to the
<Filename>/usr/dt/appconfig/icons/</Filename><Symbol Role="Variable">language</Symbol> directory, you will see many of the
desktop icons.</Para>
<Note>
<Para>Enabling icon browsing on low-memory systems may cause File
Manager to display directories more slowly.
</para>
<para>Images larger than 256 x 256 are not displayed in the default configuration.</Para>
</Note>
<Para>To disable icon browsing:</Para>
<OrderedList>
<ListItem>
<Para>Remove your personal copy of the <Filename>IconBrowse.dt</Filename> file.</Para>
</ListItem>
<ListItem>
<Para>Open Application Manager and double-click Reload Actions in the
Desktop_Tools application group.</Para>
</ListItem>
</OrderedList>
</Sect2>
</Sect1>
<Sect1 Id="SAG.CrIcn.div.17">
<Title Id="SAG.CrIcn.mkr.9">Icon Design Recommendations<IndexTerm><Primary>icons</Primary><Secondary>design recommendations</Secondary></IndexTerm></Title>
<Para>Use a common theme among related icons. For example, if you are designing
icons for an application, have purposeful similarities between the application's
icon and icons for data files.</Para>
<Para>Be sure the two-color version of any color icon you design is acceptable. If the
icon is displayed on a monochrome or grayscale display (or if there are not
enough colors available), the icon is automatically displayed in its two-color
form.</Para>
<Para>To conserve system color usage, try to limit icon color use to those provided by
the desktop.(Icons created using Icon Editor will be use only desktop colors.)</Para>
<Para>For the sizes used by the desktop components, see
<!--Original XRef content: 'Table&numsp;12&hyphen;1, &xd2;Icon Sizes and
File Names,&xd3; on page&numsp;203'--><XRef Role="TableAndPage" Linkend="SAG.CrIcn.mkr.5">.</Para>
<Sect2 Id="SAG.CrIcn.div.18">
<Title>Color Usage</Title>
<Para>Desktop icons use a palette of 22 colors including:<IndexTerm>
<Primary>color</Primary>
<Secondary>usage in icons</Secondary>
</IndexTerm><IndexTerm>
<Primary>icons</Primary>
<Secondary>color usage</Secondary>
</IndexTerm>
</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Eight static grays</Para>
</ListItem>
<ListItem>
<Para>Eight static colors: red, blue, green, cyan, magenta, yellow, black, and white</Para>
</ListItem>
<ListItem>
<Para>Six dynamic colors: foreground, background, top shadow, bottom shadow,
select, and transparent</Para>
</ListItem>
</ItemizedList>
<Para>This palette creates attractive, easy-to-read icons without overtaking color
resources needed by other applications. Most icons provided with the desktop
use grays accented with color.</Para>
<Para>The transparent color is useful for creating icons that have the illusion of being
nonrectangular because the color behind the icon shows through.</Para>
</Sect2>
</Sect1>
</Chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 06:16:56-->

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,859 @@
<!-- $XConsortium: ch14.sgm /main/9 1996/09/08 19:34:23 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->
<Chapter Id="SAG.WMCnf.div.1">
<Title Id="SAG.WMCnf.mkr.1">Customizing the Workspace Manager</Title>
<Para><IndexTerm>
<Primary>dtwm, See Workspace Manager&lt;$nopage></Primary>
</IndexTerm><IndexTerm>
<Primary>&lt;$nopage>Window Manager</Primary>
<Secondary>See also Workspace Manager</Secondary>
</IndexTerm><IndexTerm>
<Primary>Motif Window Manager, See Workspace Manager&lt;$nopage></Primary>
</IndexTerm>This chapter describes how to customize the desktop Workspace Manager.</Para>
<InformalTable Id="SAG.WMCnf.itbl.1" Frame="All">
<TGroup Cols="1">
<ColSpec Colname="1" Colwidth="4.0 in">
<TBody>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Workspace Manager Configuration Files242'--><XRef Role="JumpText" Linkend="SAG.WMCnf.div.3"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Customizing Workspaces244'--><XRef Role="JumpText" Linkend="SAG.WMCnf.div.8"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Workspace Manager Menus246'--><XRef Role="JumpText" Linkend="SAG.WMCnf.div.13"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Customizing Button Bindings249'--><XRef Role="JumpText" Linkend="SAG.WMCnf.div.18"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Customizing Key Bindings252'--><XRef Role="JumpText" Linkend="SAG.WMCnf.div.22"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Switching Between Default and Custom Behavior254'--><XRef Role="JumpText" Linkend="SAG.WMCnf.div.26"></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para><IndexTerm>
<Primary>Workspace Manager</Primary>
<Secondary>definition</Secondary>
</IndexTerm>The Workspace Manager is the window manager provided by the desktop.
Like other window managers, it controls:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>The appearance of window frame components</Para>
</ListItem>
<ListItem>
<Para>The behavior of windows, including their stacking order and focus behavior</Para>
</ListItem>
<ListItem>
<Para>Key bindings and button bindings</Para>
</ListItem>
<ListItem>
<Para>The appearance of minimized windows</Para>
</ListItem>
<ListItem>
<Para>Workspace and Window menus</Para>
</ListItem>
</ItemizedList>
<Para>In addition, the Workspace Manager controls these desktop components:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para><Emphasis>Workspaces</Emphasis>. The Workspace Manager controls the number of workspaces,
and keeps track of which windows are open in each workspace.</Para>
</ListItem>
<ListItem>
<Para><Emphasis>Workspace backdrops</Emphasis>. The user changes backdrops using Style Manager.
However, backdrop management is a function of the Workspace Manager.<IndexTerm><Primary>backdrops</Primary></IndexTerm><IndexTerm><Primary>workspaces</Primary><Secondary>backdrops, See backdrops</Secondary></IndexTerm>
</Para>
</ListItem>
<ListItem>
<Para><Emphasis><IndexTerm>
<Primary>Front Panel</Primary>
<Secondary>managed by Workspace Manager</Secondary>
</IndexTerm><IndexTerm>
<Primary>Workspace Manager</Primary>
<Secondary>managing Front Panel</Secondary>
</IndexTerm>The Front Panel</Emphasis>. Although the Front Panel uses its own configuration files, it
is created and managed by the Workspace Manager.</Para>
</ListItem>
</ItemizedList>
<Para>Many of these can be changed with Style Manager. Style Manager is able to
make often-used changes quickly, with little effort on your part. Other
resources must be set manually.</Para>
<Para>The Workspace Manager is <Command>dtwm</Command>. It is based on the Motif Window
Manager.</Para>
<Sect1 Id="SAG.WMCnf.div.2">
<Title>See Also</Title>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>For reference information about the Workspace Manager, see the <Filename>dtwm</Filename>(1)
and <Filename>dtwmrc(4)</Filename> man pages.</Para>
</ListItem>
<ListItem>
<Para>For information about setting Workspace Manager resources, see
<!--Original XRef content: '&xd2;Setting
Application Resources&xd3; on page&numsp;256'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.FACol.div.2">.</Para>
</ListItem>
<ListItem>
<Para>For information on Front Panel configuration files, see
<!--Original XRef content: 'Chapter&numsp;13,
&xd2;Advanced Front Panel Customization'--><XRef Role="ChapNumAndTitle" Linkend="SAG.FrPC.mkr.1">.</Para>
</ListItem>
</ItemizedList>
<Para>For additional information about setting resources, see
<!--Original XRef content: '&xd2;Setting Application
Resources&xd3; on page&numsp;256'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.FACol.div.2">.</Para>
</Sect1>
<Sect1 Id="SAG.WMCnf.div.3">
<Title Id="SAG.WMCnf.mkr.2">Workspace Manager Configuration Files<IndexTerm><Primary>Workspace Manager</Primary><Secondary>configuration files</Secondary></IndexTerm><IndexTerm><Primary>configuration files</Primary><Secondary>Workspace Manager</Secondary></IndexTerm><IndexTerm><Primary>configuration files</Primary><Secondary>Window Manager</Secondary></IndexTerm></Title>
<Para>The Workspace Manager gets information about the window menus,
workspace menus, button bindings, and key bindings from a configuration file.</Para>
<Para>It uses one of the following files:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Personal file: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/<IndexTerm><Primary>dtwmrc file</Primary></IndexTerm>
dtwmrc</Filename>
</Para>
</ListItem>
<ListItem>
<Para>System custom file: <Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/<IndexTerm>
<Primary>sys.dtwmrc file</Primary>
</IndexTerm>
sys.dtwmrc</Filename></Para>
</ListItem>
<ListItem>
<Para>Built-in file: <Command>/usr/dt/config/</Command><Symbol Role="Variable">language</Symbol><Filename>/sys.dtwmrc</Filename></Para>
</ListItem>
</ItemizedList>
<Para>The Workspace Manager searches for a configuration file in the order shown
above, and uses the first one it finds.</Para>
<Para>For users who use more than one session language, a personal, language-
dependent configuration file <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt</Filename>/<Symbol Role="Variable">language</Symbol>/<Command>dtwrmc</Command> can be
created that takes precedence over <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/dtwmrc</Filename>.</Para>
<Sect2 Id="SAG.WMCnf.div.4" Role="Procedure">
<Title Id="SAG.WMCnf.mkr.3">To Create or Modify a Personal Configuration File<IndexTerm><Primary>Workspace Manager</Primary><Secondary>personal customization</Secondary></IndexTerm></Title>
<Para>The personal Workspace Manager configuration file is
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/dtwmrc</Filename>. If this file exists, it is the file used.</Para>
<OrderedList>
<ListItem>
<Para>Double-click<IndexTerm>
<Primary>Edit Dtwmrc action</Primary>
</IndexTerm><IndexTerm>
<Primary>dtwmrc file</Primary>
<Secondary>editing</Secondary>
</IndexTerm>
Edit Dtwmrc in the Desktop_Tools application group.</Para>
<Para>If you already have a personal <Command>dtwmrc</Command> file, it is loaded into the editor. If
not, <Filename>sys.dtwmrc</Filename> is copied to <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/dtwmrc</Filename>, which is then
loaded into the editor.</Para>
</ListItem>
<ListItem>
<Para>Edit the file.</Para>
</ListItem>
<ListItem>
<Para>Exit the editor.</Para>
<Para>The file is saved as your personal <Command>dtwmrc</Command>, regardless of its original source.</Para>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.5" Role="Procedure">
<Title>To Create a System-Wide Configuration File<IndexTerm><Primary>Workspace Manager</Primary><Secondary>system-wide customization</Secondary></IndexTerm></Title>
<Para>The system-wide Workspace Manager configuration file is
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.dtwmrc</Filename>.</Para>
<OrderedList>
<ListItem>
<Para>Copy <Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/<IndexTerm>
<Primary>sys.dtwmrc file</Primary>
</IndexTerm>
sys.dtwmrc</Filename> to
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.dtwmrc</Filename>.</Para>
</ListItem>
</OrderedList>
<Note>
<Para>This file is not used if <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/dtwmrc</Filename> exists.</Para>
</Note>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.6" Role="Procedure">
<Title Id="SAG.WMCnf.mkr.4">To Include (Source In) Other Files<IndexTerm><Primary>Workspace Manager</Primary><Secondary>including other files</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Use the syntax:</Para>
<programlisting>include
{
<Symbol Role="Variable">path
path</Symbol>
&hellip;
}
<IndexTerm><Primary>include statement, in Workspace Manager files</Primary></IndexTerm>
</Programlisting>
</ListItem>
</OrderedList>
<Para>For example, the following lines source in the file /<Filename>users/ellen/mymenu</Filename>:</Para>
<programlisting>include
{
/users/ellen/mymenu
}
</ProgramListing>
<Para>Include statements are useful for providing additional functionality without
copying the entire configuration file. For example, a user might want to create
a new key binding without having to administer the entire configuration file.
The user can create a file <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/dtwmrc</Filename> with this content:</Para>
<programlisting>include
{
/etc/dt/config/C/sys.dtwmrc
}
Keys DtKeyBindings
{
Alt&lt;Key>F5 root f.menu Applications
}
Menu Applications
{
&ldquo;GraphicsApp&rdquo; f.exec &ldquo;/usr/bin/GraphicsApp/GApp&rdquo;
&hellip;
}
</ProgramListing>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.7" Role="Procedure">
<Title>To Restart the Workspace Manager<IndexTerm><Primary>Workspace Manager</Primary><Secondary>restarting</Secondary></IndexTerm></Title>
<Para>The Workspace Manager must be restarted in order for changes made to the
configuration file to take effect.</Para>
<OrderedList>
<ListItem>
<Para>Choose Restart Workspace Manager from the Workspace menu (press
mouse button 3 when the pointer is on the backdrop).</Para>
</ListItem>
</OrderedList>
</Sect2>
</Sect1>
<Sect1 Id="SAG.WMCnf.div.8">
<Title Id="SAG.WMCnf.mkr.5">Customizing Workspaces<IndexTerm><Primary>workspaces</Primary><Secondary>customizing</Secondary></IndexTerm></Title>
<Para>Most workspace customization, such as changing workspace names and the
number of workspaces, can be done by the user using the desktop's interface.
However, the Workspace Manager provides resources for setting system-wide
defaults.</Para>
<Sect2 Id="SAG.WMCnf.div.9" Role="Procedure">
<Title Id="SAG.WMCnf.mkr.6">To Change the Number of Workspaces on a System-Wide Basis<IndexTerm><Primary>workspaces</Primary><Secondary>number of</Secondary></IndexTerm></Title>
<Para>The default desktop configuration provides four workspaces. The user can add
and delete workspaces using the pop-up menu associated with the Workspace
switch.</Para>
<Para>The Workspace Manager provides a resource for changing the default number
of workspaces.</Para>
<OrderedList>
<ListItem>
<Para>Use the <Command>workspaceCount</Command> resource to set the number of workspaces:</Para>
<Para Remap="CodeIndent1"><ComputerOutput>Dtwm*workspaceCount: <Symbol Role="Variable">number</Symbol></ComputerOutput><IndexTerm><Primary>workspaceCount resource</Primary></IndexTerm>
</Para>
</ListItem>
</OrderedList>
<Para>For information about setting Workspace Manager resources, see
<!--Original XRef content: '&xd2;Setting
Application Resources&xd3; on page&numsp;256'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.FACol.div.2">.</Para>
<Para>For example, the following resource sets the number of workspaces to six:</Para>
<ProgramListing>Dtwm*workspaceCount: 6</ProgramListing>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.10" Role="Procedure">
<Title>To Provide System-Wide Workspace Names<IndexTerm><Primary>workspaces</Primary><Secondary>names</Secondary></IndexTerm></Title>
<Para>Internally, the workspaces are numbered by the numbering convention <Command>ws</Command><Symbol Role="Variable">n</Symbol>,
where <Symbol Role="Variable">n</Symbol> is 0, 1, 2, and so on. For example, the default four workspaces are
numbered internally <Filename>ws0</Filename> through <Filename>ws3</Filename>.</Para>
<OrderedList>
<ListItem>
<Para>Use the <Command>title</Command> resource to change the name of a specified workspace:<IndexTerm><Primary>title resource</Primary></IndexTerm>
</Para>
<programlisting>Dtwm*ws<Symbol Role="Variable">n</Symbol>: <Symbol Role="Variable">name</Symbol></programlisting>
<programlisting>Dtwm*ws<Symbol Role="Variable">n</Symbol>.title: <Symbol Role="Variable">name</Symbol></programlisting>
</ListItem>
</OrderedList>
<Para>For information about setting Workspace Manager resources, see
<!--Original XRef content: '&xd2;Setting
Application Resources&xd3; on page&numsp;256'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.FACol.div.2">.</Para>
<Para>For example, the following resources set the default four workspaces to the
specified names:</Para>
<programlisting>Dtwm*ws0*title: Anna
Dtwm*ws1*title: Don
Dtwm*ws2*title Julia
Dtwm*ws3*title Patti
</ProgramListing>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.11" Role="Procedure">
<Title>To Create Additional Backdrops<IndexTerm><Primary>backdrops</Primary><Secondary>adding</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Create the backdrop images. They can be bitmap or pixmap files.</Para>
</ListItem>
<ListItem>
<Para><IndexTerm>
<Primary>backdrops</Primary>
<Secondary>file locations</Secondary>
</IndexTerm>Place the backdrops in one of the following directories. (You may have to
create the directory.)</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>System-wide backdrops: <Filename>/etc/dt/backdrops</Filename></Para>
</ListItem>
<ListItem>
<Para>Personal backdrops: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/backdrops</Filename></Para>
</ListItem>
</ItemizedList>
</ListItem>
<ListItem>
<Para>Choose Restart Workspace Manager from the Workspace menu.</Para>
</ListItem>
</OrderedList>
<Para>The system-wide and personal backdrops are added to the built-in backdrops
in <Filename>/usr/dt/backdrops</Filename>.</Para>
<Para>You can replace an existing built-in backdrop by creating a personal or system-
wide backdrop with the same name.</Para>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.12" Role="Procedure">
<Title Id="SAG.WMCnf.mkr.7">To Replace the Backdrop With a Graphics Image<IndexTerm><Primary>backdrops</Primary><Secondary>using graphics image</Secondary></IndexTerm></Title>
<Para>The backdrops are layered over the display's<IndexTerm>
<Primary>root window</Primary>
</IndexTerm>
root window. The Style Manager
Backdrop dialog box provides a<IndexTerm>
<Primary>NoBackdrop setting</Primary>
</IndexTerm>
NoBackdrop setting in which the backdrop is
transparent.</Para>
<Para>There is only one root window behind all the workspace backdrops. Thus, a
graphics image placed on the root window persists across all workspaces. You
can specify which workspaces cover up the root window with a backdrop.
However, the image visible when NoBackdrop is in effect will be the same for
every workspace.</Para>
<OrderedList>
<ListItem>
<Para>Create the graphics image. It must be in a format for which a tool exists to
display the image on the root window. For example, if you intend to use
<Command>xsetroot</Command>, you must create a bitmap file.</Para>
</ListItem>
<ListItem>
<Para>If it doesn't already exist, create an executable file
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions/sessionetc.</Filename> The <Command>sessionetc</Command> file is run
each time the user logs in.</Para>
</ListItem>
<ListItem>
<Para>Place the command to display the image in the <Command>sessionetc</Command> file.</Para>
<Para>For example, the following command tiles the root window with the
specified bitmap:</Para>
<programlisting>xsetroot&numsp;-bitmap&numsp;/users/ellen/.dt/icons/root.bm</programlisting>
</ListItem>
</OrderedList>
</Sect2>
</Sect1>
<Sect1 Id="SAG.WMCnf.div.13">
<Title Id="SAG.WMCnf.mkr.8">Workspace Manager Menus<IndexTerm><Primary>menus</Primary><Secondary>Workspace Manager</Secondary></IndexTerm><IndexTerm><Primary>Workspace Manager</Primary><Secondary>menus</Secondary></IndexTerm></Title>
<Para>Workspace Manager has three default menus:</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="121*">
<colspec colwidth="407*">
<TBody>
<Row>
<Entry><Para>Workspace menu<IndexTerm><Primary>Workspace menu</Primary><Secondary>definition</Secondary></IndexTerm>
</Para></Entry>
<Entry><Para>Also called the root menu. Displayed when the user
presses mouse button 3 when the pointer is on the
backdrop. The menu is associated with the mouse
button through a button binding.</Para></Entry>
</Row>
<Row>
<Entry><Para>Window menu<IndexTerm><Primary>Window menu</Primary><Secondary>definition</Secondary></IndexTerm>
</Para></Entry>
<Entry><Para>The menu displayed when the user presses mouse
buttons 1 or 3 when the pointer is on the Window
menu button (upper left corner of the window frame).
The menu is associated with the button by the
<Command>windowMenu</Command> resource.<IndexTerm><Primary>windowMenu resource</Primary></IndexTerm>
</Para></Entry>
</Row>
<Row>
<Entry><Para>Front Panel menu<IndexTerm><Primary>Front Panel</Primary><Secondary>menu</Secondary></IndexTerm>
</Para></Entry>
<Entry><Para>The menu displayed when the user presses mouse
buttons 1 or 3 when the pointer is over the Front
Panel's Window menu button.</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Sect2 Id="SAG.WMCnf.div.14">
<Title Id="SAG.WMCnf.mkr.9">Workspace Manager Menu Syntax<IndexTerm><Primary>Window menu</Primary><Secondary>syntax</Secondary></IndexTerm><IndexTerm><Primary>Workspace menu</Primary><Secondary>syntax</Secondary></IndexTerm></Title>
<Para>Workspace Manager menus have the syntax:</Para>
<programlisting>Menu <Symbol Role="Variable">MenuName</Symbol>
{
<Symbol Role="Variable">selection1</Symbol> <Command>[</Command><Symbol Role="Variable">mnemonic</Symbol><Command>] [</Command><Symbol Role="Variable">accelerator</Symbol><Filename>]</Filename> <Symbol Role="Variable">function</Symbol> <Filename>[</Filename><Symbol Role="Variable">argument</Symbol><Filename>]</Filename>
<Symbol Role="Variable">selection2</Symbol> <Command>[</Command><Symbol Role="Variable">mnemonic</Symbol><Command>] [</Command><Symbol Role="Variable">accelerator</Symbol><Filename>]</Filename> <Symbol Role="Variable">function</Symbol> <Filename>[</Filename><Symbol Role="Variable">argument</Symbol><Filename>]</Filename>
&hellip;
}
</ProgramListing>
<Para>where:</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="67*">
<colspec colwidth="461*">
<TBody>
<Row>
<Entry><Para><Symbol Role="Variable">selection</Symbol></Para></Entry>
<Entry><Para>The text or bitmap that appears on the menu. If the text
includes spaces, enclose the text in quotation marks. For
bitmaps, use the syntax @/<Symbol Role="Variable">path</Symbol>.
</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">mnemonic</Symbol></Para></Entry>
<Entry><Para>A single character that acts as a keyboard shortcut when the
menu is displayed. It is specified in the form <Filename>_</Filename><Symbol Role="Variable">character</Symbol>.</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">accelerator</Symbol></Para></Entry>
<Entry><Para>A keyboard shortcut that is active whether or not the menu is
displayed. Accelerators have the syntax
<Symbol Role="Variable">modifier</Symbol><ComputerOutput>&lt;Key></ComputerOutput> <Symbol Role="Variable">Keyname</Symbol> where modifier is
<Command>Ctrl</Command>, <Command>Shift</Command>, <Command>Alt</Command>
(Extend char), or <Command>Lock</Command>. For a list of all possible key names,
refer to the <Command>keysymdef.h</Command> file in your &ldquo;X11 include&rdquo; directory.</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">function</Symbol><IndexTerm><Primary>Workspace Manager</Primary><Secondary>functions</Secondary></IndexTerm>
</Para></Entry>
<Entry><Para>The function to be performed when this selection is made.
Refer to the <Filename MoreInfo="RefEntry">dtwmrc(4)</Filename> man page for a list of functions.</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">argument</Symbol></Para></Entry>
<Entry><Para>Function arguments. Refer to the <Filename>dtwmrc(4)</Filename> man page for
more details.</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>For example, the following menu item labeled Restore normalizes the window.
When the menu is displayed, typing &ldquo;R&rdquo; will also restore the window. Pressing
Extend char F5 will also restore the window.</Para>
<programlisting>Restore _R Alt&lt;Key> F5 f.normalize
</ProgramListing>
<Note>
<Para>For complete information on Workspace Manager menu syntax, see the
<Filename MoreInfo="RefEntry">dtwmrc(4)</Filename> man page.</Para>
</Note>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.15" Role="Procedure">
<Title>To Modify the Existing Workspace (Root) Menu<IndexTerm><Primary>Workspace menu</Primary><Secondary>modifiying</Secondary></IndexTerm><IndexTerm><Primary>$nopage>root menu, See Workspace menu</Primary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Open the appropriate file for editing:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/dtwmrc</Filename></Para>
</ListItem>
<ListItem>
<Para>System-wide: <Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.dtwmrc</Filename></Para>
</ListItem>
</ItemizedList>
<Para>For information on creating these files, see
<!--Original XRef content: '&xd2;Workspace Manager
Configuration Files&xd3; on page&numsp;242'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.WMCnf.mkr.2">.</Para>
</ListItem>
<ListItem>
<Para>Edit the description of the Workspace menu.</Para>
<Para>The default Workspace menu is named<IndexTerm>
<Primary>DtRootMenu</Primary>
</IndexTerm>
DtRootMenu.</Para>
<programlisting>Menu DtRootMenu
{
&ldquo;Workspace Menu&rdquo; f.title
&ldquo;Shuffle Up&rdquo; f.circle_up
&ldquo;Shuffle Down&rdquo; f.circle_down
&hellip;
}
</programlisting>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.16" Role="Procedure">
<Title Id="SAG.WMCnf.mkr.10">To Create a New Workspace (Root) Menu<IndexTerm><Primary>Workspace menu</Primary><Secondary>creating</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Open the appropriate file for editing:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/dtwmrc</Filename></Para>
</ListItem>
<ListItem>
<Para>System-wide: <Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.dtwmrc</Filename></Para>
</ListItem>
</ItemizedList>
<Para>For information on creating these files, see
<!--Original XRef content: '&xd2;Workspace Manager
Configuration Files&xd3; on page&numsp;242'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.WMCnf.mkr.2">.</Para>
</ListItem>
<ListItem>
<Para>Create the new menu:</Para>
<programlisting>Menu <Symbol Role="Variable">menu_name</Symbol>
{
&hellip;
}
</programlisting>
<Para>See
<!--Original XRef content: '&xd2;Workspace Manager Menu Syntax&xd3; on page&numsp;247'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.WMCnf.mkr.9">.</Para>
</ListItem>
<ListItem>
<Para>Create or edit the button binding to display the new menu.</Para>
<Para>If the menu replaces the existing menu, edit the button binding that displays
the Workspace menu.</Para>
<programlisting>&lt;Btn3Down> root f.menu <Symbol Role="Variable">menu_name</Symbol>
</ProgramListing>
<Para>If the menu is an additional menu, create a new mouse button binding. For
example, the following button binding displays the menu when Shift-mouse
button 3 is pressed over the backdrop:</Para>
<programlisting>Shift&lt;Btn3Down> root f.menu <Symbol Role="Variable">menu_name</Symbol>
</ProgramListing>
</ListItem>
<ListItem>
<Para>Choose Restart Workspace Manager from the Workspace menu.</Para>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.17" Role="Procedure">
<Title Id="SAG.WMCnf.mkr.11">To Create a New Window Menu<IndexTerm><Primary>Window menu</Primary><Secondary>new</Secondary></IndexTerm></Title>
<Note>
<Para>The Window menu is built into the Workspace Manager, and ordinarily
is not customized. To keep window behavior consistent between applications,
you should avoid extensive modification to the Window menu.</Para>
</Note>
<OrderedList>
<ListItem>
<Para>Open the appropriate file for editing:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/dtwmrc</Filename></Para>
</ListItem>
<ListItem>
<Para>System-wide: <Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.dtwmrc</Filename></Para>
</ListItem>
</ItemizedList>
<Para>For information on creating these files, see
<!--Original XRef content: '&xd2;Workspace Manager
Configuration Files&xd3; on page&numsp;242'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.WMCnf.mkr.2">.</Para>
</ListItem>
<ListItem>
<Para>Create the new menu:</Para>
<programlisting>Menu <Symbol Role="Variable">menu_name</Symbol>
{
&hellip;
}
</programlisting>
</ListItem>
<ListItem>
<Para>Use the <Command>windowMenu</Command> resource to specify the new menu:</Para>
<programlisting>Dtwm*windowMenu: <Symbol Role="Variable">menu_name</Symbol></programlisting>
</ListItem>
<ListItem>
<Para>Choose Restart Workspace Manager from the Workspace menu.</Para>
</ListItem>
</OrderedList>
</Sect2>
</Sect1>
<Sect1 Id="SAG.WMCnf.div.18">
<Title Id="SAG.WMCnf.mkr.12">Customizing Button Bindings<IndexTerm><Primary>Workspace Manager</Primary><Secondary>button bindings</Secondary></IndexTerm><IndexTerm><Primary>button binding</Primary></IndexTerm><IndexTerm><Primary>mouse binding, See button binding</Primary></IndexTerm></Title>
<Para>A <Emphasis>button binding</Emphasis> associates a mouse button operation and possible keyboard
modifier key with a window manager function. Button bindings apply to all
workspaces.</Para>
<Para>The desktop default button bindings are defined in the Workspace Manager
configuration file in a button binding set named <Command><IndexTerm>
<Primary>DtButtonBindings</Primary>
</IndexTerm>DtButtonBindings</Command>:</Para>
<programlisting>Buttons DtButtonBindings
{
&hellip;
}
</ProgramListing>
<Sect2 Id="SAG.WMCnf.div.19">
<Title Id="SAG.WMCnf.mkr.13">Button Binding Syntax<IndexTerm><Primary>button binding</Primary><Secondary>syntax</Secondary></IndexTerm></Title>
<Para>The syntax for button bindings is:</Para>
<programlisting>Buttons <Symbol Role="Variable">ButtonBindingSetName</Symbol>
{
<Filename>[</Filename><Symbol Role="Variable">modifier</Symbol><Filename>]&lt;</Filename><Symbol Role="Variable">button_nameMouse_action</Symbol><Filename>></Filename> <Symbol Role="Variable">context function</Symbol> <Symbol Role="Variable">[argument</Symbol><Filename>]</Filename>
<Filename>[</Filename><Symbol Role="Variable">modifier</Symbol><Filename>]&lt;</Filename><Symbol Role="Variable">button_nameMouse_action</Symbol><Filename>></Filename> <Symbol Role="Variable">context function</Symbol> <Symbol Role="Variable">[argument</Symbol><Filename>]</Filename>
</ProgramListing>
<Para>where:</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="110*">
<colspec colwidth="418*">
<TBody>
<Row>
<Entry><Para><Symbol Role="Variable">button_name</Symbol></Para></Entry>
<Entry><Para><Filename>Btn1&mdash;</Filename>Left mouse button
<?Pub _newline><Filename>Btn2&mdash;</Filename>Middle button (3-button mouse) or both buttons (2-button
mouse)
<?Pub _newline><Filename>Btn3&mdash;</Filename>Right button
<?Pub _newline><Filename>Btn4&mdash;</Filename>Buttons 1 and 2 together on a 3-button mouse
<?Pub _newline><Filename>Btn5&mdash;</Filename>Buttons 2 and 3 together on a 3-button mouse</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">modifier</Symbol></Para></Entry>
<Entry><Para><Filename>Ctrl,</Filename> <Filename>Shift,</Filename> <Filename>Alt,</Filename> <Command>Lock</Command></Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">mouse_action</Symbol></Para></Entry>
<Entry><Para><Command>Down</Command>&mdash;Holding down a mouse button
<?Pub _newline><Command>Up</Command>&mdash;Releasing a mouse button
<?Pub _newline><Command>Click</Command>&mdash;Pressing and releasing a mouse button
<?Pub _newline><Filename>Click2</Filename>&mdash;Double-clicking a mouse button
<?Pub _newline><Command>Drag</Command>&mdash;Dragging the mouse while holding down the mouse button</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">context</Symbol></Para></Entry>
<Entry><Para>Indicates where the pointer must be for the binding to be effective.
If necessary, separate multiple contents with the &ldquo;<Filename>|</Filename>&rdquo; character.
<?Pub _newline><Command>root</Command>&mdash;The workspace window
<?Pub _newline><Command>window</Command>&mdash;Client window or window frame
<?Pub _newline><Filename>frame&mdash;</Filename>Window frame, excluding the contents
<?Pub _newline><Filename>icon&mdash;</Filename>Icon
<?Pub _newline><Filename>title&mdash;</Filename>Title bar
<?Pub _newline><Filename>app&mdash;</Filename>Client window (excluding the frame)</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">function</Symbol></Para></Entry>
<Entry><Para>One of the window manager functions. Refer to the <Filename MoreInfo="RefEntry">dtwmrc(4)</Filename>
man page for a list of valid functions.</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">argument</Symbol></Para></Entry>
<Entry><Para>Any window manager function arguments that are required. Refer
to the <Filename MoreInfo="RefEntry">dtwmrc(4)</Filename> man page for details.</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>For example, the following line causes the menu described in <Command>DtRootMenu</Command> to
be displayed when mouse button 3 is pressed while the pointer is in the
workspace window (but not within client windows).</Para>
<programlisting>&lt;Btn3Down> root f.menu DtRootMenu
</ProgramListing>
<Note>
<Para>For complete information on button binding syntax, see the <Filename MoreInfo="RefEntry">dtwmrc(4)</Filename>
man page.</Para>
</Note>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.20" Role="Procedure">
<Title>To Add a Button Binding<IndexTerm><Primary>button binding</Primary><Secondary>adding</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Open the appropriate file for editing:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/dtwmrc</Filename></Para>
</ListItem>
<ListItem>
<Para>System-wide: <Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.dtwmrc</Filename></Para>
</ListItem>
</ItemizedList>
<Para>For information on creating these files, see
<!--Original XRef content: '&xd2;Workspace Manager
Configuration Files&xd3; on page&numsp;242'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.WMCnf.mkr.2">.</Para>
</ListItem>
<ListItem>
<Para>Add the button binding to the <Command>DtButtonBindings</Command> definition.</Para>
<Para>Do not bind the same button to different functions for the click and press
operations, and do not bind more than one function to the same button and
context.</Para>
</ListItem>
<ListItem>
<Para>Choose Restart Workspace Manager from the Workspace menu.</Para>
</ListItem>
</OrderedList>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.21" Role="Procedure">
<Title Id="SAG.WMCnf.mkr.14">To Create a New Button Binding Set<IndexTerm><Primary>button binding</Primary><Secondary>creating new set</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Open the appropriate file for editing:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/dtwmrc</Filename></Para>
</ListItem>
<ListItem>
<Para>System-wide: <Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.dtwmrc</Filename></Para>
</ListItem>
</ItemizedList>
<Para>For information on creating these files, see
<!--Original XRef content: '&xd2;Workspace Manager
Configuration Files&xd3; on page&numsp;242'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.WMCnf.mkr.2">.</Para>
</ListItem>
<ListItem>
<Para>Create the new button binding set. See
<!--Original XRef content: '&xd2;Button Binding Syntax&xd3; on
page&numsp;250'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.WMCnf.mkr.13">.</Para>
</ListItem>
<ListItem>
<Para>Set the <Command><IndexTerm>
<Primary>buttonBindings resource</Primary>
</IndexTerm>buttonBindings</Command> resource to the new name:</Para>
<programlisting>Dtwm*buttonBindings: <Symbol Role="Variable">ButtonBindingsSetName</Symbol></programlisting>
</ListItem>
<ListItem>
<Para>Choose Restart Workspace Manager from the Workspace menu.</Para>
</ListItem>
</OrderedList>
<Note>
<Para>The new button bindings replace your existing button bindings. Copy
any button bindings you want to keep from <Command>DtButtonBindings</Command>.</Para>
</Note>
</Sect2>
</Sect1>
<Sect1 Id="SAG.WMCnf.div.22">
<Title Id="SAG.WMCnf.mkr.15">Customizing Key Bindings</Title>
<Para>A <Emphasis>keyboard binding</Emphasis>, also known as a <Emphasis>key binding</Emphasis>, associates combination of keys
with Workspace Manager functions. Key bindings apply to all workspaces.</Para>
<Note>
<Para>Be careful about using a common key combination as a keyboard
binding. For example, Shift-A normally puts the letter &ldquo;A&rdquo; into your current
window. If you bind Shift-A to a function, you lose its normal usage.</Para>
</Note>
<Sect2 Id="SAG.WMCnf.div.23">
<Title>Default Desktop Key Bindings<IndexTerm><Primary>key binding</Primary><Secondary>default</Secondary></IndexTerm></Title>
<Para>The desktop default key bindings are defined in the Workspace Manager
configuration file in a key binding set named <Command>DtKeyBindings</Command>:</Para>
<programlisting>Keys DtKeyBindings
{
&hellip;
}
</ProgramListing>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.24">
<Title Id="SAG.WMCnf.mkr.16">Key Binding Syntax<IndexTerm><Primary>key binding</Primary><Secondary>syntax</Secondary></IndexTerm></Title>
<Para>The syntax for key bindings is:</Para>
<programlisting>Keys <Symbol Role="Variable">KeyBindingSetName</Symbol>
{
[<Symbol Role="Variable">Modifiers</Symbol>]<Filename>&lt;Key></Filename><Symbol Role="Variable">key_name context function</Symbol> <Command>[</Command><Symbol Role="Variable">argument</Symbol><Filename>]</Filename>
[<Symbol Role="Variable">Modifiers</Symbol>]<Filename>&lt;Key></Filename><Symbol Role="Variable">key_name context function</Symbol> <Command>[</Command><Symbol Role="Variable">argument</Symbol><Filename>]</Filename>
&hellip;
}
</ProgramListing>
<Para>where:</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="81*">
<colspec colwidth="447*">
<TBody>
<Row>
<Entry><Para><Symbol Role="Variable">Modifiers</Symbol></Para></Entry>
<Entry><Para><Command>Ctrl</Command>, <Command>Shift</Command>. <Command>Alt</Command>, and <Command>Lock</Command>. Multiple modifiers are allowed;
separate them with spaces.</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">key_name</Symbol></Para></Entry>
<Entry><Para>The key to which the function is mapped. For keys with letters
or numbers, the <Symbol Role="Variable">key_name</Symbol> name is usually printed on the key.
For instance the name of the &ldquo;a&rdquo; key is &ldquo;a&rdquo;, and the &ldquo;2&rdquo; key is
named &ldquo;2&rdquo;. The &ldquo;Tab&rdquo; key is named &ldquo;Tab&rdquo;. The &ldquo;F3&rdquo; key is
named &ldquo;F3&rdquo;.</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>For other keys, the name is spelled out&mdash;for example, <Command>plus</Command> for the &ldquo;+&rdquo; key.
The file <Filename>keysymdef.h</Filename>, located in a system-dependent directory, contains
additional information about key names.</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="74*">
<colspec colwidth="454*">
<TBody>
<Row>
<Entry><Para><Symbol Role="Variable">context</Symbol></Para></Entry>
<Entry><Para>The element that must have the keyboard focus for this action
to be effective. These can be concatenated together if the
binding applies to more than one context. Multiple contexts are
separated by the &ldquo;<Filename>|</Filename>&rdquo; character.
<?Pub _newline><Filename>root&mdash;</Filename>Workspace backdrop
<?Pub _newline><Filename>window&mdash;</Filename>Client window
<?Pub _newline><Filename>icon&mdash;</Filename>Icon</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">function</Symbol></Para></Entry>
<Entry><Para>A window manager function. Refer to the <Filename MoreInfo="RefEntry">dtwmrc(4)</Filename> man
page for a list of valid functions.</Para></Entry>
</Row>
<Row>
<Entry><Para><Symbol Role="Variable">argument</Symbol></Para></Entry>
<Entry><Para>Any window manager function arguments that are required.
Refer to the <Filename MoreInfo="RefEntry">dtwmrc(4)</Filename> man page for details.</Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para>For example, the following key binding lets the user to switch the keyboard
focus to the next transient window in an application by pressing Alt+F6.</Para>
<programlisting>Alt&lt;Key>F6 window f.next_key transient
</ProgramListing>
<Note>
<Para>For complete information on key binding syntax, see the <Filename MoreInfo="RefEntry">dtwmrc(4)</Filename>
man page.</Para>
</Note>
</Sect2>
<Sect2 Id="SAG.WMCnf.div.25" Role="Procedure">
<Title Id="SAG.WMCnf.mkr.17">To Create a Custom Key Binding Set<IndexTerm><Primary>key binding</Primary><Secondary>creating new set</Secondary></IndexTerm></Title>
<OrderedList>
<ListItem>
<Para>Open the appropriate file for editing:</Para>
<ItemizedList Remap="Bullet2">
<ListItem>
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/dtwmrc</Filename></Para>
</ListItem>
<ListItem>
<Para>System-wide: <Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.dtwmrc</Filename></Para>
<Para>For information on creating these files, see
<!--Original XRef content: '&xd2;Workspace Manager
Configuration Files&xd3; on page&numsp;242'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.WMCnf.mkr.2">.</Para>
</ListItem>
</ItemizedList>
</ListItem>
<ListItem>
<Para>Create a new key binding set with a unique <Symbol Role="Variable">KeyBindingSetName</Symbol>. Use the
desktop default key binding set, <Command>DtKeyBindings</Command>, as a guide.</Para>
</ListItem>
<ListItem>
<Para>Set the <Command><IndexTerm>
<Primary>keyBindings resource</Primary>
</IndexTerm>keyBindings</Command> resource to the new set name:</Para>
<programlisting>Dtwm*keyBindings: <Symbol Role="Variable">KeyBindingSetName</Symbol></programlisting>
</ListItem>
<ListItem>
<Para>Choose Restart Workspace Manager from the Workspace menu.</Para>
</ListItem>
</OrderedList>
<Note>
<Para>The new key bindings replace your existing key bindings. Copy any
key bindings you want to keep from <Command>DtKeyBindings</Command> into your new set.</Para>
</Note>
</Sect2>
</Sect1>
<Sect1 Id="SAG.WMCnf.div.26">
<Title Id="SAG.WMCnf.mkr.18">Switching Between Default and Custom Behavior<IndexTerm><Primary>Workspace Manager</Primary><Secondary>changing to Motif</Secondary></IndexTerm></Title>
<Para>To toggle between Motif default and CDE desktop window behavior:</Para>
<OrderedList>
<ListItem>
<Para>Press Alt+Shift+Ctrl+!</Para>
</ListItem>
<ListItem>
<Para>Click OK in the dialog box.</Para>
</ListItem>
</OrderedList>
<Para>Switching to default behavior removes the Front Panel and any custom key
and button bindings.</Para>
</Sect1>
</Chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 06:16:56-->

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,995 @@
<!-- $XConsortium: ch16.sgm /main/11 1996/09/08 19:34:42 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->
<Chapter Id="SAG.I18N.div.1">
<Title Id="SAG.I18N.mkr.1">Configuring Localized Desktop Sessions<IndexTerm><Primary>National Language Support</Primary><Secondary>internationalizing</Secondary></IndexTerm></Title>
<Para>To configure localized desktop sessions, you will need to:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Set the LANG environment variable and other National Language Support
(NLS) environment variables</Para>
</ListItem>
<ListItem>
<Para>Access language-dependent message catalogs and resource files</Para>
</ListItem>
<ListItem>
<Para>Execute applications remotely across internationalized systems</Para>
<InformalTable Id="SAG.I18N.itbl.1" Frame="All">
<TGroup Cols="1">
<ColSpec Colname="1" Colwidth="4.0 in">
<TBody>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Managing the LANG Environment Variable276'--><XRef Role="JumpText" Linkend="SAG.I18N.div.2"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Finding Fonts278'--><XRef Role="JumpText" Linkend="SAG.I18N.div.9"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Localizing app-defaults Resource Files279'--><XRef Role="JumpText" Linkend="SAG.I18N.div.10"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Localizing Actions and Data Types279'--><XRef Role="JumpText" Linkend="SAG.I18N.div.11"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Localizing Icons and Bitmaps280'--><XRef Role="JumpText" Linkend="SAG.I18N.div.12"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Localizing Help Volumes281'--><XRef Role="JumpText" Linkend="SAG.I18N.div.15"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Localizing Message Catalogs282'--><XRef Role="JumpText" Linkend="SAG.I18N.div.16"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Executing Localized Desktop Applications Remotely282'--><XRef Role="JumpText" Linkend="SAG.I18N.div.17"></Para></Entry>
</Row>
<Row Rowsep="1">
<Entry><Para><!--Original XRef content: 'Resetting Your Keyboard Map282'--><XRef Role="JumpText" Linkend="SAG.I18N.div.18"></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</ListItem>
</ItemizedList>
<Sect1 Id="SAG.I18N.div.2">
<Title Id="SAG.I18N.mkr.2">Managing the LANG Environment Variable<IndexTerm><Primary>internationalization</Primary><Secondary>LANG variable</Secondary></IndexTerm><IndexTerm><Primary>LANG variable</Primary></IndexTerm></Title>
<Para>The LANG environment variable must be set for the desktop to use the
operating system's language-sensitive routines. The desktop supports:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Western Europe, Latin-based languages</Para>
</ListItem>
<ListItem>
<Para>Japanese</Para>
</ListItem>
<ListItem>
<Para>Traditional Chinese</Para>
</ListItem>
<ListItem>
<Para>Simplified Chinese</Para>
</ListItem>
<ListItem>
<Para>Korean</Para>
</ListItem>
</ItemizedList>
<Note>
<Para>Support for other languages may have been added by your desktop
vendor.</Para>
</Note>
<Para>You can set LANG to any value supported by the operating system. The
Options menu in the login screen displays the list of supported languages and
territories.</Para>
<Para>There are four ways to set LANG for the desktop:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>By editing a resource in the <Command>Xconfig</Command> file</Para>
</ListItem>
<ListItem>
<Para>Using the Options menu in the login screen</Para>
</ListItem>
<ListItem>
<Para>By creating an executable <Command>sh</Command> or <Command>ksh</Command> <Filename>Xsession.d</Filename> script. (See
<!--Original XRef content: '&xd2;Sourcing
Xsession.d Scripts&xd3; on page&numsp;26'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.SesMg.mkr.5"> for more information about using an
Xsession.d script.)</Para>
</ListItem>
<ListItem>
<Para>By editing the user's <Filename>.dtprofile</Filename> file</Para>
</ListItem>
</ItemizedList>
<Para>When LANG is set, the desktop uses the following language-dependent files to
determine the localized interface.</Para>
<InformalTable>
<TGroup Cols="2" colsep="0" rowsep="0">
<colspec colwidth="107*">
<colspec colwidth="421*">
<TBody>
<Row>
<Entry><Para><StructName Role="typedef">Colors</StructName></Para></Entry>
<Entry><Para><Filename>/usr/dt/palettes/desc</Filename><Symbol Role="Variable">.language</Symbol></Para></Entry>
</Row>
<Row>
<Entry><Para><Literal>Backdrops</Literal></Para></Entry>
<Entry><Para><Filename>/usr/dt/backdrops/desc</Filename><Symbol Role="Variable">.language</Symbol></Para></Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Sect2 Id="SAG.I18N.div.3">
<Title>Setting the Language for Multiple Users<IndexTerm><Primary>internationalization</Primary><Secondary>setting language</Secondary></IndexTerm><IndexTerm><Primary>language, setting using Xconfig file</Primary></IndexTerm><IndexTerm><Primary>Xconfig file</Primary><Secondary>setting language with</Secondary></IndexTerm></Title>
<Para>If you set the language by means of an <Command>Xconfig</Command> file, the login screen is
localized and LANG is set for all users. This is the only way to change LANG
for all displays in multi-display systems. (To modify <Command>Xconfig</Command>, copy
<Filename>/usr/dt/config/Xconfig</Filename> to <Command>/etc/dt/config/Xconfig.)</Command></Para>
<Para>The language is set by placing the following line in
<Filename>/etc/dt/config/Xconfig</Filename>:</Para>
<ProgramListing>dtlogin.<Symbol Role="Variable">host_display</Symbol>.language: <Symbol Role="Variable">language</Symbol></ProgramListing>
<Para>For example, the following line sets LANG to <Filename>Swedish_locale</Filename> on display
<ComputerOutput>my_host:0</ComputerOutput>.</Para>
<ProgramListing>dtlogin.my_host_0.language: Swedish_locale</ProgramListing>
<Para>The <Command>dtlogin</Command> client reads the appropriate message catalog for that language
and brings up the localized login screen. The <Command>dtlogin</Command> client then determines
the list of locales using the following resources in the
<Filename>/etc/dt/config/Xresources</Filename> resource file:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para><Filename>dtlogin*language</Filename></Para>
</ListItem>
<ListItem>
<Para><Filename>dtlogin*languageList</Filename></Para>
</ListItem>
<ListItem>
<Para><Filename>dtlogin*languageName</Filename></Para>
</ListItem>
</ItemizedList>
<Para>The <Command>Xconfig</Command> file may need to set the NLSPATH environment variable
appropriately for the chosen language. If this is not the case, or if you want to
set NLSPATH yourself, see
<!--Original XRef content: '&xd2;NLSPATH Environment Variable&xd3; on page&numsp;278'--><XRef Role="HeadingAndPage" Linkend="SAG.I18N.div.8">.</Para>
</Sect2>
<Sect2 Id="SAG.I18N.div.4">
<Title>Setting the Language for One Session</Title>
<Para>To set the language for one session, use the login screen Options menu. The
login screen is localized and LANG is set for the user. LANG returns to its
default value (set in <Command>dtlogin</Command>) at the conclusion of the session.</Para>
</Sect2>
<Sect2 Id="SAG.I18N.div.5">
<Title>Setting the Language for One User<IndexTerm><Primary>LANG variable</Primary><Secondary>in .dtprofile</Secondary></IndexTerm><IndexTerm><Primary>.dtprofile file</Primary><Secondary>setting LANG</Secondary></IndexTerm></Title>
<Para>A user can override the login's LANG setting within the
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename> file. The login screen is not localized, and LANG
is set for the user.</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>If you use <Command>sh</Command> or <Command>ksh</Command>:</Para>
<programlisting>LANG=<Symbol Role="Variable">language</Symbol>
export LANG</programlisting>
</ListItem>
<ListItem>
<Para>If you use <Command>csh</Command>:</Para>
<programlisting>setenv LANG <Symbol Role="Variable">language</Symbol></programlisting>
</ListItem>
</ItemizedList>
</Sect2>
<Sect2 Id="SAG.I18N.div.6">
<Title>LANG Environment Variable and Session Configuration</Title>
<Para><Command>The LANG environment variable changes the directory name that is searched for
your session configuration files.</Command></Para>
<Para><Command>The localized session configuration files are:</Command></Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para><Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/Xresources</Filename> (Login Manager resource file)</Para>
</ListItem>
<ListItem>
<Para><Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.font</Filename> (Session Manager resource file)</Para>
</ListItem>
<ListItem>
<Para><Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.resources</Filename> (Session Manager resource
file)</Para>
</ListItem>
<ListItem>
<Para><Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.session</Filename> (Session Manager executable
shell)</Para>
</ListItem>
<ListItem>
<Para><Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.dtwmrc</Filename> (Window Manager resource file)</Para>
</ListItem>
<ListItem>
<Para><Filename>/usr/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol><Filename>/dtwm.fp</Filename> (Window Manager Front
Panel)</Para>
</ListItem>
</ItemizedList>
</Sect2>
<Sect2 Id="SAG.I18N.div.7">
<Title>Setting Other NLS Environment Variables<IndexTerm><Primary>internationalization</Primary><Secondary>NLS environment variables</Secondary></IndexTerm><IndexTerm><Primary>NLS environment variables</Primary></IndexTerm></Title>
<Para>Besides LANG, there are other NLS environment variables such as LC_CTYPE
and LC_ALL. These variables are not affected by the <Command>dtlogin</Command> language
resource nor by the login screen Options menu. They must be set in the
following files:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>System-wide variables: <Filename>/etc/dt/config/Xsession.d</Filename></Para>
</ListItem>
<ListItem>
<Para>Personal variables: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename></Para>
</ListItem>
</ItemizedList>
<Sect3 Id="SAG.I18N.div.8">
<Title Id="SAG.I18N.mkr.3">NLSPATH Environment Variable<IndexTerm><Primary>message catalogs</Primary></IndexTerm></Title>
<Para>The NLSPATH environment variable determines the directory paths that
applications search for message catalogs. Both LANG and NLSPATH must be
set to use those message catalogs. Refer to
<!--Original XRef content: '&xd2;Localizing Message Catalogs&xd3; on
page&numsp;282'--><XRef Role="HeadingAndPage" Linkend="SAG.I18N.div.16"> for the location of localized messages. Most desktop clients will prefix
the path to NLSPATH upon startup.</Para>
</Sect3>
</Sect2>
</Sect1>
<Sect1 Id="SAG.I18N.div.9">
<Title Id="SAG.I18N.mkr.4">Finding Fonts<IndexTerm><Primary>internationalization</Primary><Secondary>fonts</Secondary></IndexTerm></Title>
<Para>Fonts included with the desktop are in the <Filename>/usr/lib/X11/fonts</Filename> directory.<IndexTerm>
<Primary>fonts</Primary>
<Secondary>primary directory</Secondary>
</IndexTerm>
Each directory contains a directory file, <ComputerOutput>fonts.dir</ComputerOutput>, and an alias file,
<ComputerOutput>fonts.alias</ComputerOutput>. See the <ComputerOutput>mkfontdir</ComputerOutput> man page for information on creating the
<ComputerOutput>fonts.dir</ComputerOutput> and <ComputerOutput>fonts.alias</ComputerOutput> files.<IndexTerm>
<Primary>fonts</Primary>
<Secondary>finding with directory file</Secondary>
</IndexTerm><IndexTerm>
<Primary>fonts</Primary>
<Secondary>finding with alias file</Secondary>
</IndexTerm><IndexTerm>
<Primary>fonts</Primary>
<Secondary>finding with mkfontdir command</Secondary>
</IndexTerm><IndexTerm>
<Primary>mkfontdir command, compiling files</Primary>
</IndexTerm>
</Para>
<Para>To list all fonts available at a server, user the <ComputerOutput>xlsfonts</ComputerOutput> command.<IndexTerm>
<Primary>xlsfonts command</Primary>
<Secondary>listing fonts at server</Secondary>
</IndexTerm><IndexTerm>
<Primary>fonts</Primary>
<Secondary>xlsfonts command</Secondary>
</IndexTerm><IndexTerm>
<Primary>xlsfonts command</Primary>
<Secondary>installation</Secondary>
</IndexTerm><IndexTerm>
<Primary>xlsfonts command</Primary>
<Secondary>listing fonts at server</Secondary>
</IndexTerm><IndexTerm>
<Primary>xlsfonts command</Primary>
<Secondary>installation</Secondary>
</IndexTerm>
To add or
delete fonts to the server, use the <ComputerOutput>xset</ComputerOutput> command.</Para>
</Sect1>
<Sect1 Id="SAG.I18N.div.9a">
<Title Id="SAG.I18N.mkr.4a">Managing User Defined Characters<IndexTerm><Primary>user defined characters</Primary><Secondary>managing</Secondary></IndexTerm><IndexTerm><Primary>localization</Primary><Secondary>user defined characters</Secondary></IndexTerm></Title>
<sect2>
<Title>Overview</title>
<para>In East Asian countries such as China, Korea, and Japan, Chinese
characters (called Hanzi in China, Hanja in Korea, and Kanji in Japan)
are used extensively. Because the number of Chinese characters
is very large (more than 50,000 in the largest Japanese Kanji dictionary)
the standard coded character sets for Chinese characters
(such as JIS X 0208, KS C 5601, and GB 2312) define only
the most frequently used characters.
</para>
<para>For ordinary writing purposes,
a standard character set is sufficient. Some cases, however, require the
use of non-standard characters. For example, for
Resident Registration in Japan, a person's
name and place name must be written in exactly the same characters
as used in previously hand-written registration forms. Another
example is the publication of ancient documents, such as Taoist or
Confucian classics. These documents contain many characters that
are now obsolete and not defined in the standard character sets.
Such non-standard characters are referred to as "User Defined Characters."<IndexTerm><Primary>user defined characters</Primary><Secondary>defined</Secondary></IndexTerm>
</para>
<sect3>
<Title>How UDCs Are Organized</title>
<para>User Defined Characters (UDCs) use either "empty" code points
(points in the code set that have no characters assigned to them) or
a Private Use Area
(if defined by the code set). In most cases, a system vendor will
supply a UDC area, which consists of one or more contiguous blocks
of code points that can be used for UDCs.<IndexTerm><Primary>user defined characters</Primary><Secondary>and UDC area</Secondary></IndexTerm>
</para>
<para>The basic procedure for creating a UDC is:
</para>
<orderedlist>
<listitem>
<para>Assign a code point in the UDC Area to the character to be defined.
</para>
</listitem>
<listitem>
<para>Create a glyph image (or a set of glyph images to define multiple font
sizes) for that character by using the UDC Font Editor,
<command>dtudcfonted</command>.
</para>
</listitem>
</orderedlist>
<para>Once a UDC is created, it can be propagated to other systems by using
the UDC Data Exchanger.
For data interchange consistency, UDC definitions should be unified
within an organization.
</para>
<para>Before attempting to create UDCs, you must
determine:
</para>
<itemizedlist>
<listitem>
<para>What code set is being used and what code
points are available for UDCs. To create UDCs, users
must know which code points to use.<IndexTerm><Primary>code set</Primary><Secondary>for user defined characters</Secondary></IndexTerm>
</para>
<para>When interchanging text data under the X Protocol,
compound text is used. In compound text, extended
segments can be used to transfer UDCs.
If you use extended segments for UDC transfer, you should define
the encoding name for the UDCs and how code points or glyph indexes
are transferred in the segments.
</para>
</listitem>
<listitem>
<para>How font files are organized and what glyph
indexes are used for UDCs. UDCs can be stored in
standard font files with empty glyph indexes or in
separate font files specific to UDCs. If separate files
are used, the system should be shipped with empty font
files for UDC. When editing an existing UDC, the user must
specify the font name and the glyph indexes for the UDC.
This means the user must know the relationship between
code points and glyph indexes.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Font Files</title>
<para>To display and print UDCs they must be stored in databases as
font files. UDC glyphs, like other character glyphs, are stored in font
files that are used in the X Window system. The font file formats
are PCF (Portable Compiled Format) and SNF (Server Natural Format),
which can be accessed by an X server. The
UDC Font Editor can also access font files in those formats.<IndexTerm><Primary>user defined characters</Primary><Secondary>font files for</Secondary></IndexTerm><IndexTerm><Primary>font files</Primary><Secondary>for user defined characters</Secondary></IndexTerm>
</para>
<para>When the X server displays a UDC, it refers to the UDC in the
associated font file. Likewise, when a UDC is printed,
the printer spooler refers to the UDC in the font file.
</para>
<para>Font files must be set up to be able to be used by the X Window
system. In other words, they must be placed in directories that
are defined in the Xserver's font path, and the management files
(such as <Symbol Role="Variable">fonts.dir</Symbol>) must be
placed in those directories.
The UDC Font Editor does not install font files,
and does not modify any resources such as
<Symbol Role="Variable">fonts.dir</Symbol> in the system.
</para>
<para>The UDC Font Editor
can use only UDC font files that are available in the
current locale and that are defined in the X NLS database. The X NLS
database is a database that defines what codeset and font set are used
for each locale. The UDC Font Editor
constructs UDC fonts in various point sizes and styles.
To add a new editable font, you must specify the
code set name and UDC area in the X NLS database.
</para>
<para>When the UDC Font Editor and the UDC Data Exchanger
look for font files, they first search
the <systemitem class="environvar">DTUDCFONTPATH</systemitem>
environment variable (which is a colon-separated list of directories
containing UDC font files) and then the directories
specified in the
<filename>/usr/dt/config/$LANG/fonts.list</filename> file. To set
font search directories for each locale, specify them in
the <filename>fonts.list</filename> file. (Do not forget the terminal colon.)
For example:
</para>
<programlisting>#
# fonts.list file example
#
/usr/lib/X11/fonts/misc:
/usr/dt/config/xfonts/ja:
</programlisting>
</sect3>
</sect2>
<sect2>
<Title>The UDC Font Editor<IndexTerm><Primary>user defined characters</Primary><Secondary>and UDC Font Editor</Secondary></IndexTerm><IndexTerm><Primary>UDC Font Editor</Primary></IndexTerm></title>
<para>The UDC Font Editor (<command>dtudcfonted</command>) allows you to create, edit,
and delete UDCs.
</para>
<para>For complete details on using the UDC Font Editor,
refer to the <command>dtudcfonted</command> man page.
</para>
<para>When you start the UDC Font Editor, the <literal>Font Selection</literal>
window appears.
</para>
<para>UDC font files are specified by XLFD (X Logical Font Description)
name. XLFDs are unique and descriptive font names that are used by clients
and applications. The various font attributes such as style and a
character set name are included in the XLFD. For convenience,
you can select the font file style, size, and UDC code area. The UDC code
area includes the code set number as specified in the X NLS database
and the range of UDC glyph indexes that can be used in the code set.
</para>
<para>To list the available UDC font files, select the code set, style, and
definition character size of the desired font in the selection item field.
Specifying a font and then selecting the <literal>Open</literal> button
displays the <literal>Character Edit</literal> window.
</para>
<sect3>
<title>Creating and Editing Characters</title><IndexTerm><Primary>user defined characters</Primary><Secondary>creating</Secondary></IndexTerm><IndexTerm><Primary>user defined characters</Primary><Secondary>editing</Secondary></IndexTerm>
<para>Character patterns are created or edited on the <literal>Character
Edit</literal> window.
</para>
<para>Select the code for the character to be edited from the
character list. This displays the associated character pattern
in the edit pane. If the character code has not been registered in
in the UDC area, nothing is displayed.
</para>
<para>If the character code has not been registered, add the code on the
<literal>Character Control</literal> window, or copy the pattern on the
<literal>Character Copy</literal> window. For details on how to add
character codes, see "Adding and Deleting Character Codes". For details
on how to copy character patterns, see "Copying Character Patterns".
</para>
<para>A set of drawing tools and <literal>Edit</literal> menu options
provide a complete set of operations for creating and editing
character patterns.
</para>
</sect3>
<sect3>
<title>Adding and Deleting Character Codes</title>
<IndexTerm><Primary>user defined characters</Primary><Secondary>adding character codes</Secondary></IndexTerm><IndexTerm><Primary>user defined characters</Primary><Secondary>deleting character codes</Secondary></IndexTerm><IndexTerm><Primary>character codes</Primary><Secondary>adding</Secondary></IndexTerm><IndexTerm><Primary>character codes</Primary><Secondary>deleting</Secondary></IndexTerm>
<para>Character codes are added and deleted on the <literal>Character
Control</literal> window, which is displayed by choosing
<literal>Add/Delete</literal> from the <literal>Character</literal> menu.
</para>
<para>To add a character code, specify its four hexadecimal digits within the
user-defined character area and click the <literal>Add</literal> button.
You can also add a range of characters
by specifying the codes for the first and last characters in the
range. Each new character code is added to the list of characters being edited on
the <literal>Character Edit</literal> window. The character to be edited
is the first character of the added character code (or the added
character code field). If already registered, the character pattern for
the specified character code is not changed.
</para>
<para>To delete a character code, specify its four hexadecimal digits within
the user-defined character area and click the <literal>Delete</literal> button.
You can also delete a range of characters
by specifying the codes for the first and last characters in the
range. The utility asks you to confirm each deletion.
</para>
<para>Deleting a character code removes it from the list of characters being
edited on the <literal>Character Edit</literal> window. The character
code following the deleted character code becomes the current editable
character code.
</para>
</sect3>
<sect3>
<title>Entering Character Codes Graphically<IndexTerm><Primary>character codes</Primary><Secondary>entering graphically</Secondary></IndexTerm></title>
<para>To enter a character code graphically, click the
<literal>Code</literal> button on the <literal>Character
Control</literal> window. The <literal>Character Code Input</literal>
window appears. On this window, click on the desired character, then
click <literal>Apply</literal> to insert the code for the
selected character in the code input field of the <literal>Character
Control</literal> window.
</para>
</sect3>
<sect3>
<title>Copying Character Patterns</title>
<IndexTerm><Primary>user defined characters</Primary><Secondary>copying character patterns</Secondary></IndexTerm>
<para>To copy character patterns already registered or created,
choose <literal>Copy</literal> from the <literal>Character</literal> menu.
The <literal>Character Copy</literal> window appears.
Copying adds the character code specified for the copy destination to
the character list on the Editing window.
</para>
<para>To copy a character pattern, select the character size and specify its
four-hexadecimal-digit code. (You can also copy a range by supplying
the codes for the first and last characters in the range.)
Then, specify the four-hexadecimal-digit code(s) for the
destination character(s) and click the <literal>Copy</literal> button.
</para>
<para>You can also perform composite copies, in which the dots in the source
character pattern are ORed with the dots in the destination character pattern.
</para>
</sect3>
</sect2>
<sect2>
<Title>The UDC Data Exchanger<IndexTerm><Primary>user defined characters</Primary><Secondary>and UDC Data Exchange utility</Secondary></IndexTerm><IndexTerm><Primary>user defined characters</Primary><Secondary>transferring to other systems</Secondary></IndexTerm><IndexTerm><Primary>UDC Data Exchange utility</Primary></IndexTerm></title>
<para>The UDC Data Exchanger (<command>dtudcexch</command>)
is a tool for exchanging
UDC glyph images between systems.
</para>
<para><command>dtudcexch</command> provides a
mechanism for distributing UDC glyph images among different systems.
Specifically, it allows UDC glyph images to be created on one system
using the UDC Font Editor (<command>dtudcfonted</command>) and then
propagated to other systems. <command>dtudcexch</command> stores the UDC
glyph images in a BDF (Bitmap Distribution Format) file, which is
transported to a target system. On the target system,
<command>dtudcexch</command> is run again, this time to extract the
images from the BDF file and add them to the appropriate font file.
</para>
<para><command>dtudcexch</command> provides both an export and an import
function. The export function reads the selected UDC
glyph images from a font file and stores them in a BDF file for transfer
to other systems. The import function reads all UDC glyph images in a
BDF file and adds them to a specified font file.
</para>
<para>When exporting, <command>dtudcexch</command> uses glyph indexes of the
UDC code area in the PCF/SNF font file to select the UDC glyph images. It
stores the converted images in the BDF-format file at the same glyph indexes.
When importing, <command>dtudcexch</command> adds the UDC glyph images to
the PCF/SNF font file at the same glyph indexes found in the BDF file.
The UDC code area information is defined in the X NLS database.
</para>
<para>To create different glyph indexes for the images on the target system,
you can edit the BDF file before you invoke the import function.
</para>
<para>For details on using the UDC Data Exchanger,
refer to the <command>dtudcexch</command>
man page.
</para>
</sect2>
</sect1>
<Sect1 Id="SAG.I18N.div.10">
<Title Id="SAG.I18N.mkr.5">Localizing app-defaults Resource Files<IndexTerm><Primary>internationalization</Primary><Secondary>app-defaults</Secondary></IndexTerm><IndexTerm><Primary>XUSERFILESEARCHPATH variable</Primary></IndexTerm><IndexTerm><Primary>resources</Primary><Secondary>language-dependent</Secondary></IndexTerm><IndexTerm><Primary>app-defaults</Primary><Secondary>language-dependent</Secondary></IndexTerm></Title>
<Para>The default location for the <Filename>app-defaults</Filename> file for the desktop clients is
<Filename>/usr/dt/app-defaults/</Filename><Symbol Role="Variable">language</Symbol>. For example, if LANG is set to
<Filename>Swedish_locale</Filename>, then applications will look for their <Filename>app-defaults</Filename> file in
<Filename>/usr/dt/app-defaults/Swedish_locale</Filename>. If LANG is not set, <Symbol Role="Variable">language</Symbol> is
ignored, and applications look for their <Filename>app-defaults</Filename> file in <Filename>/usr/app-
defaults/C</Filename>.</Para>
<Para>To change the location of <Filename>app-defaults</Filename>, use the XFILESEARCHPATH
environment variable. For example, to move <Filename>app-defaults</Filename> to <Filename>/users</Filename>, set
XFILESEARCHPATH to <Filename>/usr/app-defaults/</Filename><Symbol Role="Variable">language</Symbol><Filename>/</Filename><Symbol Role="Variable">classname</Symbol>.</Para>
<Para>If you set XFILESEARCHPATH in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename>, the value
applies to all desktop and X clients you run. Nonclients will not find their
resource files unless you link or copy them into the directory specified by
XFILESEARCHPATH.</Para>
</Sect1>
<Sect1 Id="SAG.I18N.div.11">
<Title Id="SAG.I18N.mkr.6">Localizing Actions and Data Types</Title>
<Note>
<Para>To customize a file in the <Filename>/usr/dt/appconfig</Filename> directory, copy the file
to the <Filename>/etc/dt/appconfig</Filename> directory prior to customizing.</Para>
</Note>
<Para>The search path for action and data-type definition files includes language-
dependent directories in:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/dt/types</Filename></Para>
</ListItem>
<ListItem>
<Para>System-wide: <Filename>/etc/dt/appconfig/types/</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
<ListItem>
<Para>Built-in: <Command>/usr/dt/appconfig/types/</Command><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
</ItemizedList>
<Para>The search path for Application Manager's configuration files is:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Personal: <Emphasis>Ho</Emphasis><Symbol Role="Variable">meDirectory</Symbol><Filename>/dt/appmanager</Filename></Para>
</ListItem>
<ListItem>
<Para>System-wide: <Filename>/etc/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
<ListItem>
<Para>Built-in: <Filename>/usr/dt/appconfig/appmanager/</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
</ItemizedList>
<Para>File and directory names in this directory are localized.</Para>
</Sect1>
<Sect1 Id="SAG.I18N.div.12">
<Title Id="SAG.I18N.mkr.7">Localizing Icons and Bitmaps<IndexTerm><Primary>localization</Primary><Secondary>icons</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>localized</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>non-English</Secondary></IndexTerm></Title>
<Para>To localize an icon, edit the icon with Icon Editor and save it in:</Para>
<ProgramListing>/etc/dt/appconfig/icons/<Symbol Role="Variable">language</Symbol></ProgramListing>
<Para>If you save it in a different directory, set the XMICONSEARCHPATH
environment variable to include the directory where you saved the icon. The
XMICONBMSEARCHPATH environment variable controls the path used to
search for icons.</Para>
</Sect1>
<Sect1 Id="SAG.I18N.div.13">
<Title Id="SAG.I18N.mkr.8">Localizing Backdrop Names<IndexTerm><Primary>icons</Primary><Secondary>localized</Secondary></IndexTerm></Title>
<Para>Localization of backdrops is done through the use of description files
(<ComputerOutput>desc</ComputerOutput>.<Symbol Role="Variable">language</Symbol> and <Filename>desc.backdrops</Filename>). No specific localized directory exists
(such as <ComputerOutput>/usr/dt/backdrops/</ComputerOutput><Symbol Role="Variable">language</Symbol>) for backdrop files. All locales use the
same set of backdrops files but have their own <Filename>desc.</Filename><Symbol Role="Variable">language</Symbol> file containing
the translated names of the backdrops.</Para>
<Para>The description file contains resource specifications for the backdrop names
that are translated. For example:</Para>
<programlisting>Backdrops*Corduroy.desc: Velours
Backdrops*DarkPaper.desc: PapierKraft
Backdrops*Foreground.desc: AvantPlan
</ProgramListing>
<Para>The <ComputerOutput>desc.</ComputerOutput><Symbol Role="Variable">language</Symbol> file is used to retrieve the description of the backdrops for
locale <Symbol Role="Variable">language</Symbol> in order to display the backdrop in the Style Manager. If there is
a description specification, it will be displayed in the Style Manager backdrops
list. Otherwise, the backdrop file name will be used.</Para>
<Para>Users can add their own backdrop descriptions in the
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/backdrops/desc.backdrops</Filename> file.
This file is used to
retrieve the backdrop descriptions for all backdrops added by the user
regardless of locale.</Para>
<Para>The search path for the <Command>description</Command> files is:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/backdrops/desc.backdrops</Filename></Para>
</ListItem>
<ListItem>
<Para>System-wide: <Filename>/etc/dt/backdrops/desc.</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
<ListItem>
<Para>Built-in: <Filename>/usr/dt/backdrops/desc.</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
</ItemizedList>
</Sect1>
<Sect1 Id="SAG.I18N.div.14">
<Title Id="SAG.I18N.mkr.9">Localizing Palette Names<IndexTerm><Primary>localization</Primary><Secondary>See also internationalization</Secondary></IndexTerm><IndexTerm><Primary>palettes</Primary><Secondary>localizing names</Secondary></IndexTerm><IndexTerm><Primary>localization</Primary><Secondary>palette names</Secondary></IndexTerm><IndexTerm><Primary>localization</Primary><Secondary>icons</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>localized</Secondary></IndexTerm><IndexTerm><Primary>icons</Primary><Secondary>non-English</Secondary></IndexTerm></Title>
<Para>Localization of palettes is done through the use of description files
(<ComputerOutput>desc</ComputerOutput>.<Symbol Role="Variable">language</Symbol> and <Filename>desc.palettes</Filename>). No specific localized directory exists
(such as <ComputerOutput>/usr/dt/palettes/</ComputerOutput><Symbol Role="Variable">language</Symbol>). All locales use the same set of palette
files but have their own <Filename>desc.palettes</Filename> file containing the translated names
of the palettes.</Para>
<Para>The description file contains resource specifications for the palette names that
are translated. For example:</Para>
<programlisting>Palettes*Cardamon.desc: Cardamone
Palettes*Cinnamon.desc: Cannelle
Palettes*Clove.desc: Brun
</ProgramListing>
<Para>The <ComputerOutput>desc.</ComputerOutput><Symbol Role="Variable">language</Symbol> file is used to retrieve the description of the palettes for
locale <Symbol Role="Variable">language</Symbol> in order to display the palette in the Style Manager list. If there
is a description specification it will be displayed in the Style Manager palettes
list. Otherwise, the palette file name will be used.</Para>
<Para>Users can add their own palette descirptions in the
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/palettes/desc.palettes</Filename> file. This file is used to
retrieve the palette descriptions for all palettes added by the user regardless of
locale.</Para>
<Para>The search path for the description files is:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/palettes/desc.palettes</Filename></Para>
</ListItem>
<ListItem>
<Para>System-wide: <Filename>/etc/dt/palettes/desc.</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
<ListItem>
<Para>Built-in: <Filename>/usr/dt/palettes/desc.</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
</ItemizedList>
</Sect1>
<Sect1 Id="SAG.I18N.div.14a">
<Title Id="SAG.I18N.mkr.9a">Localizing an Infolib<IndexTerm><Primary>infolibs</Primary><Secondary>localizing</Secondary></IndexTerm><IndexTerm><Primary>localization</Primary><Secondary>infolibs</Secondary></IndexTerm></Title>
<Para>An infolib contains one or more bookcases, each of which contains one or more books
that can be browsed and searched with the Information Manager. In this hierarchy,
only the infolibs have associated desktop actions. As desktop entities, infolibs can be opened
by dragging and dropping them on the Information Manager control. When an infolib
is opened, the Information Manager displays the Book List window, showing
all the bookcases contained in the infolib.
</para>
<para>The default path for infolibs is set by the
<systemitem class="environvar">DTINFOLIBPATH</systemitem> environment variable.
(The standard CDE desktop path is <filename>/usr/dt/dtinfo/cde.dti</filename>.)
The <Symbol Role="Variable">name</Symbol><filename>.oli</filename> file
found at the first directory level of an infolib contains the abbreviated name for the
infolib. Localizations of an infolib are found in subdirectories beneath the first directory
level and are named according to the NLS mask %<Symbol Role="Variable">L</Symbol>
(or %<Symbol Role="Variable">l</Symbol>_%<Symbol Role="Variable">t</Symbol>.%<Symbol Role="Variable">c</Symbol>.)
In the Information Manager's Book List window, each bookcase in an infolib appears with
the localized string or title stored in the <filename>bookcase.map</filename> file
found in the bookcase's subdirectory.
</para>
</Sect1>
<Sect1 Id="SAG.I18N.div.15">
<Title Id="SAG.I18N.mkr.10">Localizing Help Volumes<IndexTerm><Primary>help volumes</Primary><Secondary>localizing</Secondary></IndexTerm></Title>
<Para>If you have localized a help volume, you must store it in one of the following
directories. The first help volume found is the one used. The directories are
searched in the following order:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Personal: <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/help</Filename></Para>
</ListItem>
<ListItem>
<Para>System-wide: <Filename>/etc/dt/appconfig/help/</Filename><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
<ListItem>
<Para>Built-in: <Symbol Role="Variable">/usr/dt/appconfig/help/</Symbol><Symbol Role="Variable">language</Symbol></Para>
</ListItem>
</ItemizedList>
</Sect1>
<Sect1 Id="SAG.I18N.div.16">
<Title Id="SAG.I18N.mkr.11">Localizing Message Catalogs<IndexTerm><Primary>localization</Primary><Secondary>message catalogs</Secondary></IndexTerm></Title>
<Para>If you have localized a message catalog, store it in the following directory:</Para>
<Para><Filename>/usr/dt/lib/nls/msg/</Filename><Symbol Role="Variable">language</Symbol>.</Para>
<Para>These directories contain the <Filename>*.cat</Filename> files.</Para>
</Sect1>
<Sect1 Id="SAG.I18N.div.17">
<Title Id="SAG.I18N.mkr.12">Executing Localized Desktop Applications Remotely<IndexTerm><Primary>remote execution</Primary><Secondary>native language support</Secondary></IndexTerm><IndexTerm><Primary>NLS remote execution</Primary></IndexTerm></Title>
<Para>You can invoke localized desktop applications on any remote execution host
that has a similarly localized desktop installation. The values of the NLS-
related environment variables on the host that is invoking the application are
passed to the remote host when the application is started. However, the
environment variables do not contain any host information.</Para>
</Sect1>
<Sect1 Id="SAG.I18N.div.18">
<Title Id="SAG.I18N.mkr.13">Resetting Your Keyboard Map<IndexTerm><Primary>keyboard map, resetting</Primary></IndexTerm><IndexTerm><Primary>internationalization</Primary><Secondary>troubleshooting</Secondary></IndexTerm></Title>
<Para>If you see unexpected characters and behaviors, or characters cannot be
displayed or typed, you might need to reset or install your keyboard map or
change your input method.</Para>
<Para Id="SAG.I18N.mkr.14">The input method is determined by the LC_CTYPE, LANG, or LC_ALL
environment variables, or the language specified by the <ComputerOutput>-lang</ComputerOutput> option.<IndexTerm><Primary>input method, internationalization</Primary></IndexTerm>
</Para>
<Para>For example, if the user wants to open a terminal with the C locale within a
POSIX shell, such as:</Para>
<programlisting>LANG=C dtterm
</ProgramListing>
<Para>This new terminal uses the C locale including the C input method and fonts. If
you are using a language-specific keyboard, the input method may not accept
any extended characters for input. When using the C locale with a language-
specific keyboard, users need to set the LC_CTYPE (or LANG or LC_ALL)
environment variable to an appropriate value before invoking the terminal.
</Para>
<Para>For example, to use the C locale with the German keyboard, type:
</Para>
<programlisting>LANG=C LC_CTYPE=DeDE dtterm
</ProgramListing>
<Para>If the X server has been reset and keymaps have been initialized, you can reset
the proper keyboard map at the server using the <ComputerOutput>xmodmap</ComputerOutput> command.
</Para>
</Sect1>
<Sect1 Id="SAG.I18N.div.19">
<Title Id="SAG.I18N.mkr.14a">Selecting an Input Method Server<IndexTerm><Primary>input method server</Primary><Secondary>selecting</Secondary></IndexTerm></Title>
<Para>Asian users can select which input method server (IMS) to use either at
session startup or at any time within a session (by using the Style
Manager's Internationalization control). IMS selection is
allowed only if <systemitem class="environvar">LANG</systemitem>
is set to an Asian language (Japanese, Korean, Chinese traditional, or
Chinese simplified).
</para>
<para>Once an IMS has been selected, users can set the IMS selection mode, which
determines whether they will be prompted
for an IMS at the next login or will automatically use the currently selected IMS.
</para>
<para>The IMS selection and IMS selection mode are stored in the file:<IndexTerm><Primary>input method server</Primary><Secondary>selection file</Secondary></IndexTerm>
<programlisting><Symbol Role="Variable">$HOME</Symbol>/.dt/ims/[<Symbol Role="Variable">display_name</Symbol>/]<Symbol Role="Variable">CDE_locale_name</Symbol>
</programlisting>
</para>
<para>The format of the IMS selection file is:
</para>
<programlisting>@SelectMode: 0 <lineannotation>(Ask at login), or</lineannotation>
1 <lineannotation>(Resume current input method)</lineannotation>
@ImsName: <Symbol Role="Variable">ims_name</Symbol>
@HostName: <Symbol Role="Variable">host_name</Symbol>
</programlisting>
<sect2 Id="SAG.I18N.div.20">
<Title Id="SAG.I18N.mkr.15">At Session Startup<IndexTerm><Primary>input method server</Primary><Secondary>selecting at session startup</Secondary></IndexTerm></title>
<para>To allow users to select an IMS prior to session startup, set the
<systemitem class="environvar">DTSTARTIMS</systemitem> environment variable to
<systemitem class="constant">TRUE</systemitem>. Setting
<systemitem class="environvar">DTSTARTIMS</systemitem> to
<systemitem class="constant">TRUE</systemitem> causes
the Session Manager to execute the
<filename>/usr/dt/config/Xsession.d/0020.dtims</filename> script.
This script checks <systemitem class="environvar">LANG</systemitem>.
If <systemitem class="environvar">LANG</systemitem> is set to an Asian
language, the script invokes the <command>dtimsstart</command>
program. <command>dtimsstart</command> displays an Input Method
Selection dialog from which the user can select which IMS to use.
The user can choose an IMS running either on the local host or on a remote
host.
</para>
<para>To set the selection mode, the user can use the Style Manager I18N control
(described below) or use <command>DtActionInvoke</command> to execute the
<Symbol>DtImsMode</Symbol> action in <literal>Desktop_Tools</literal> in the
Application Manager. The <Symbol>DtImsMode</Symbol> action
displays a dialog that lets the user choose either
<literal>Ask at Login</literal> or <literal>Resume current input method</literal>.
</para>
<para>The name of the selected IMS and its host and the selection mode
are recorded in the IMS selection file.
</para>
</sect2>
<sect2 Id="SAG.I18N.div.21">
<Title Id="SAG.I18N.mkr.16">Within a Session<IndexTerm><Primary>input method server</Primary><Secondary>selecting within a session</Secondary></IndexTerm></title>
<para>At any point within a session, a user can select which IMS to use by clicking the
the Style Manager I18N control. (This control appears only if
<systemitem class="environvar">LANG</systemitem> is set to an Asian
language.) The Input Method Selection dialog is displayed. If there is a current IMS,
the dialog shows its name as well as the server host on which it is running.
The user can choose an IMS that is running either on the local host or on a remote
host.
</para>
<para>To define the hosts on which an IMS can be found, you can configure the
the <literal>imServerHosts</literal> application resource. The Style
Manager uses this resource to identify which hosts to present for user
IMS selection. It contains a comma-separated list of host names.
</para>
<para>In addition to selecting the IMS, the user can set the selection mode to either
<literal>Ask at Login</literal> or <literal>Resume current input method</literal>.
</para>
<para>The name of the selected IMS and its host and the selection mode
are recorded in the IMS selection file.
</para>
</sect2>
<sect2 Id="SAG.I18N.div.22">
<Title Id="SAG.I18N.mkr.17">Setting the IMS Configuration Files<IndexTerm><Primary>input method server</Primary><Secondary>configuration files</Secondary></IndexTerm></title>
<para>In addition to the IMS selection file (described above), IMS configuration is
defined by:
</para>
<itemizedlist>
<listitem>
<para>The Locale Entry file
</para>
</listitem>
<listitem>
<para>The IMS Entry file
</para>
</listitem>
</itemizedlist>
<sect3 Id="SAG.I18N.div.23">
<Title Id="SAG.I18N.mkr.18">Locale Entry File<IndexTerm><Primary>input method server</Primary><Secondary>Locale Entry file</Secondary></IndexTerm><IndexTerm><Primary>Locale Entry file</Primary></IndexTerm></title>
<para>The Locale Entry file lists the IMSs that support a given locale.
Its location is <filename>/usr/dt/config/ims/</filename><Symbol Role="Variable">locale_name</Symbol>
and it takes the format:
</para>
<programlisting>@Default: <Symbol Role="Variable">ims_name</Symbol>
<Symbol Role="Variable">ims_name</Symbol>: <Symbol Role="Variable">label_string</Symbol>
&hellip;
</programlisting>
<para>The following shows a sample IMS listing for the
locale <literal>ja_JP.SJIS</literal>:
</para>
<programlisting>@Default: xjim
xjim: HP XJIM
atok8: ATOK8
vje: VJE-gamma
egbridge: EGBridge
none: No Input Method
</programlisting>
</sect3>
<sect3 Id="SAG.I18N.div.24">
<Title Id="SAG.I18N.mkr.19">IMS Entry File<IndexTerm><Primary>input method server</Primary><Secondary>IMS Entry file</Secondary></IndexTerm><IndexTerm><Primary>IMS Entry file</Primary></IndexTerm></title>
<para>The IMS Entry file describes the attributes of an IMS.
Its location is <filename>/usr/dt/config/ims/</filename>
<Symbol Role="Variable">ims_name</Symbol> and it takes the format:
</para>
<programlisting><symbol role="variable">attribute_name</symbol>: <symbol role="variable">attribute_value</symbol>
</programlisting>
<para>where <symbol role="variable">attribute_name</symbol> is:
</para>
<variablelist>
<varlistentry><term><literal>protocols</literal></term>
<listitem>
<para>A String attribute that identifies the supported XIM protocols. The
valid protocols are XIM, Ximp, and Xsi. This attribute is required.
</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>server_name</literal></term>
<listitem>
<para>A String attribute that identifies the server on which the IMS runs.
This attribute is used for XMODIFIERS and is required.
</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>cmd_path</literal></term>
<listitem>
<para>A Path attribute that specifies the absolute path of the the IMS's
executable file. It is a a built-in keyword used for local IM built in
Xlib, which does not need a separate process. This attribute is
required.
</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>cmd_param</literal></term>
<listitem>
<para>A String attribute that supplies a command line option for the IMS
server. The default is NULL.
</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>env_set</literal></term>
<listitem>
<para>A String attribute that specifies the environment variables to be set,
with the exception of XMODIFIERS. The default is NULL.
</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>env_unset</literal></term>
<listitem>
<para>A String attribute that specifies the environment variables to be unset,
with the exception of XMODIFIERS. The default is NULL.
</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>env_pass</literal></term>
<listitem>
<para>A String attribute that specifies the environment variables to be passed
to a remotely executed IMS, with the exception of LANG, DISPLAY, and
XMODIFIERS. The default is NULL.
</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>has_window</literal></term>
<listitem>
<para>A Bool attribute that indicates whether the IMS has its own main window
appearance or not. The default is False.
</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>no_server</literal></term>
<listitem>
<para>A Bool attribute that indicates whether <command>dtimsstart</command>
should start the IMS or not. True should be given for the local IM, since it
does not require any server process started by
<command>dtimsstart</command>. The default is False.
</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>no_remote</literal></term>
<listitem>
<para>A Bool attribute that indicates whether the IMS allows remote execution
or not. The default is False.
</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>no_option</literal></term>
<listitem>
<para>A Bool attribute that indicates whether the IMS allows the command line
option or not. If True, any options specified by
<literal>-imsopt</literal> are ignored, though the value of the
<literal>cmd_param</literal> attribute is always applied regardless of
this value. True should be given for the local IM. The default is False.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>Note that where multiple values are allowed, they must be specified as a
space-separated list. If multiple entries with the same attribute name
appear in the file, only the last one is used.
</para>
<para>The following shows the contents a sample IMS entry file
<filename>/usr/dt/config/ims/</filename><Symbol Role="Variable">xjim</Symbol>.
</para>
<programlisting>protocols: XIM Ximp
server_name: xjim
cmd_path: /usr/bin/X11/xjim
cmd_param: -iconic
env_set:
env_unset:
env_pass:
has_window: true
</programlisting>
</sect3>
</sect2>
</sect1>
<Sect1 Id="SAG.I18N.div.20a">
<Title Id="SAG.I18N.mkr.15a">Setting Input Method Style<IndexTerm><Primary>input method style</Primary><Secondary>setting</Secondary></IndexTerm></Title>
<para>The Style Manager I18N control allows the user to set the input method style,
which determines how pre-editing will occur. The order in which
pre-edit styles will be used is stored in the <Symbol>XmNpreeditType</Symbol>
resource of <command>VendorShell</command>. <Symbol>XmNpreeditType</Symbol>
records the preferred order of pre-edit styles as a comma-separated list.
For example:
</para>
<programlisting>OnTheSpot,OverTheSpot,OffTheSpot,Root
</programlisting>
<para>By using the <literal>Move-Up</literal> and <literal>Move-Down</literal>
buttons on the dialog displayed by the I18N control,
the user can reorder the pre-edit styles within the list.
</para>
</sect1>
</chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 06:16:56-->

View File

@@ -0,0 +1,136 @@
<!-- $XConsortium: preface.sgm /main/7 1996/09/08 19:34:52 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. -->
<Preface Id="SAG.Pref.div.1">
<Title>Preface</Title>
<Para>This manual covers advanced tasks in customizing the appearance and
behavior of the Common Desktop Environment (CDE). It includes chapters on:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>Customizing system initialization, login, and session initiation</Para>
</ListItem>
<ListItem>
<Para>Adding applications and providing interface representations for
applications and their data</Para>
</ListItem>
<ListItem>
<Para>Configuring desktop processes, applications, and data across the network</Para>
</ListItem>
<ListItem>
<Para>Customizing desktop services such as window management, printing,
colors, and fonts</Para>
</ListItem>
</ItemizedList>
<Sect1 Id="SAG.Pref.div.2">
<Title>Who Should Use This Book</Title>
<Para>The audiences for this book include:</Para>
<ItemizedList Remap="Bullet1">
<ListItem>
<Para>System administrators. Many of the tasks in this book require root
permission.</Para>
</ListItem>
<ListItem>
<Para>Advanced users who want to perform customizations that cannot be
accomplished using the desktop user interface. The desktop provides user-
specific locations for many of its configuration files.</Para>
</ListItem>
</ItemizedList>
</Sect1>
<Sect1 Id="SAG.Pref.div.3">
<Title>How This Book Is Organized</Title>
<Para>This manual includes the following chapters:</Para>
<Para><!--Original XRef content: 'Chapter&numsp;1, &xd2;Configuring Login Manager'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.LogMg.div.1">, covers how to configure the
appearance and behavior of the desktop Login Manager.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;2, &xd2;Configuring Session Manager'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.SesMg.div.1">, covers how the desktop stores
and retrieves sessions, and how to customize session startup.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;3, &xd2;Adding and Administering Applications'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.CnfAM.mkr.1">, covers how
Application Manager gathers applications, and explains how to add
applications.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;4, &xd2;Registering an Application'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.RegAp.div.1">, covers how to create a registration
package for an application.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;5, &xd2;Configuring the Desktop in a Network'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.ClSrv.div.1">, covers how to distribute
desktop services, applications, and data across a network.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;6, &xd2;Configuring and Administering Printing from the Desktop'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.PrCnf.div.1">, covers how to add and remove desktop printers, and how to specify the
default printer.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;7, &xd2;Desktop Search Paths'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.Datab.div.1">, covers how the desktop finds
applications, help files, icons, and other desktop data across the network.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;8, &xd2;Introduction to Actions and Data Types'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.IntAc.div.1">, introduces the concepts
of actions and data types, and explains how they are used to provide a user
interface for applications.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;9, &xd2;Creating Actions and Data Types Using Create Action'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.dtCrA.div.1">, covers
how to use the Create Action application to create actions and data types.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;10, &xd2;Creating Actions Manually'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.CrAct.div.1">, covers how to create action
definitions by editing a database configuration file.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;11, &xd2;Creating Data Types Manually'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.CrDT.div.1">, covers how to create data type
definitions by editing a database configuration file.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;12, &xd2;Creating Icons for the Desktop'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.CrIcn.div.1">, covers how to use the Icon
Editor, and naming conventions, sizes, and search paths for desktop icons.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;13, &xd2;Advanced Front Panel Customization'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.FrPC.div.1">, covers creating new
system-wide controls and subpanels, and other panel customizations.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;14, &xd2;Customizing the Workspace Manager'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.WMCnf.div.1">, covers customizing
windows, mouse button bindings, keyboard bindings, and Workspace
Manager menus.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;15, &xd2;Administering Application Resources, Fonts, and Colors'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.FACol.div.1">, covers how to set application resources, and how the desktop uses fonts and
colors.</Para>
<Para><!--Original XRef content: 'Chapter&numsp;16, &xd2;Configuring Localized Desktop Sessions'--><XRef Role="ChapNumAndTitleLead-in" Linkend="SAG.I18N.div.1">, covers system
administration tasks for systems running international sessions.</Para>
</Sect1>
<Sect1 Id="SAG.Pref.div.4">
<title>What DocBook SGML Markup Means</title>
<para>This book is written in the Structured Generalized Markup Language (SGML)
using the DocBook Document Type Definition (DTD). The following table
describes the DocBook markup used for various semantic elements.
</para>
<table id="SAG.pref.tbl.1" frame="topbot">
<title id="SAG.pref.mkr.1">DocBook SGML Markup</title>
<tgroup cols="3" colsep="0" rowsep="0">
<colspec colname="1" colwidth="1.2 in">
<colspec colname="2" colwidth="1.89 in">
<colspec colname="3" colwidth="2.23 in">
<thead>
<row>
<entry><para><literal>Markup Appearance</literal></para></entry>
<entry><para><literal>Semantic Element(s)</literal></para></entry>
<entry><para><literal>Example</literal></para></entry>
</row>
</thead>
<tbody>
<row>
<entry><para><command>AaBbCc123</command></para></entry>
<entry><para>The names of commands.</para></entry>
<entry><para>Use the <command>ls</command> to list files.</para></entry>
</row>
<row>
<entry><para><literal>AaBbCc123</literal></para></entry>
<entry><para>The names of command options.</para></entry>
<entry><para>Use <command>ls</command><literal>&minus;a</literal> to list all files.</para></entry>
</row>
<row>
<entry><para><symbol role="Variable">AaBbCc123</symbol></para></entry>
<entry><para>Command-line placeholder: replace with a real name or value.</para></entry>
<entry><para>To delete a file, type <command>rm</command>
<symbol role="Variable">filename</symbol>.</para></entry>
</row>
<row>
<entry><para><filename>AaBbCc123</filename></para></entry>
<entry><para>The names of files and directories.</para></entry>
<entry><para>Edit your <filename>.login</filename> file.</para></entry>
</row>
<row>
<entry><para><emphasis>AaBbCc123</emphasis></para></entry>
<entry><para>Book titles, new words or terms, or words to be emphasized.</para></entry>
<entry><para>Read Chapter 6 in the <emphasis>User's Guide</emphasis>.
<?Pub _newline>These are called <emphasis>class</emphasis> options.
<?Pub _newline>You <emphasis>must</emphasis> be root to do this.</para></entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>
</Preface>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 06:16:56-->