119 lines
4.6 KiB
Plaintext
119 lines
4.6 KiB
Plaintext
/* $XConsortium: README /main/3 1996/07/15 14:05:55 drk $ */
|
|
The Template Application
|
|
------------------------
|
|
This is a template Dt application. It illustrates how to write
|
|
a simple application integrated with the Dt desktop.
|
|
|
|
The application provides a simple airbrush drawing facility using
|
|
Motif. It defines a new file type '*.template' which contains a list
|
|
of x, y coordinates for the drawn points. The application and data
|
|
format favor simplicity over performance, and could obviously
|
|
be improved.
|
|
|
|
Actions
|
|
-------
|
|
A set of actions are provided to allow integration into the Dt desktop:
|
|
|
|
TemplateNew (labeled New) - to create a new Template data file.
|
|
TemplateOpen (labeled Open) - to open an existing Template data file.
|
|
TemplatePrint (labeled Print) - to Print a Template data file.
|
|
|
|
Datatypes
|
|
---------
|
|
The template data file is described by the datatype TemplateData, defined
|
|
in C/template.dt
|
|
|
|
Icons
|
|
-----
|
|
A minimal set of icons are provided to integrate with the Dt desktop. The
|
|
application group icons, window manager icon, Action icons and data file
|
|
icons are identical. In a more sophisticated application, these would
|
|
most likely be similar, but visually differentiated in some way.
|
|
|
|
Help
|
|
----
|
|
A simple help file is provided. This can be displayed from within the
|
|
application using the Help viewer widget (by selecting 'Overview' in the
|
|
'Help' menu. It can also be view using the dthelpview tool.
|
|
|
|
Message Catalog
|
|
---------------
|
|
All user-visible text in the application is loaded from the message catalog
|
|
template.cat.
|
|
|
|
Example file
|
|
------------
|
|
As recommended in the Programmer's Guide, an example.template file is
|
|
provided.
|
|
|
|
App-defaults file
|
|
-----------------
|
|
The app-defaults file 'Template' contains resources to set the initial
|
|
size of the application window.
|
|
|
|
The Application Package
|
|
-----------------------
|
|
The Makefile provided will build the application binary ("templatebin") and
|
|
associated files. It then copies these into the newly created application
|
|
package directory hierarchy ("template"). The ./dt/ subdirectory hierarchy
|
|
is a Dt standard and is described in the Programmer's Guide. The other
|
|
directories (bin, app-defaults, msg) are not standard directories and may
|
|
vary for your application and installation script.
|
|
|
|
The binary templatebin will function on its own, however to fully install
|
|
the application and integrate with the Dt desktop you will need to write a
|
|
platform-specific installation script. The installation script will
|
|
typically need to be run with root privileges.
|
|
|
|
This script should be written to ensure that the binary, app-defaults and
|
|
message catalog get installed correctly on your target system, and are
|
|
available in the appropriate user or system search paths.
|
|
|
|
This script should also install the ToolTalk ptype into the system by
|
|
running the command 'tt_type_comp -d system template.ptype'.
|
|
|
|
NOTE: There is a bug in the system that may prevent tt_type_comp from
|
|
notifying an existing desktop session that new types have been added.
|
|
The symptom of this bug will be that the application will fail with the
|
|
following error message:
|
|
|
|
templatebin: ttmedia_ptype_declare failed
|
|
|
|
If this occurs, a workaround is to send SIGUSR2 to the running ttsession
|
|
process, like so:
|
|
|
|
$ /usr/bin/ps -e | grep ttsess
|
|
7850 console 0:08 ttsessio
|
|
$ kill -USR2 7850
|
|
|
|
This will cause ttsession to reread its types files. See ttsession(1)
|
|
for further information. An alternative workaround is to logout from
|
|
the desktop and restart.
|
|
If you choose to test the templatebin binary before integrating it with
|
|
the Dt desktop, you will need to set the following (this assumes you
|
|
have built out of /usr/dt/examples/template):
|
|
|
|
export XMICONBMSEARCHPATH=$XMICONBMSEARCHPATH:/usr/dt/examples/template/template/dt/appconfig/icons/C/%B:
|
|
|
|
export XMICONSEARCHPATH=$XMICONSEARCHPATH:/usr/dt/examples/template/template/dt/appconfig/icons/C/%B:
|
|
|
|
export DTHELPSEARCHPATH=$DTHELPSEARCHPATH:/usr/dt/examples/template/template/dt/appconfig/help/C/%H.sdl:
|
|
|
|
The installation script should be written to ensure that the bin, app-defaults
|
|
and message catalog get installed correctly on your target system, and
|
|
|
|
The final step of the installation script should be to execute
|
|
'dtappintegrate -s template'. This will ensure that the desktop
|
|
files under the ./dt/ subdirectory are installed correctly and
|
|
inserted into the appropriate Dt system and user paths.
|
|
|
|
Localization
|
|
------------
|
|
The application is ready for localization. This directory contains
|
|
the non-localizable portions of the application.
|
|
|
|
The ./C/ directory contains the localizable portions of the application
|
|
in US English. Some or all of these files should be translated and
|
|
placed in a separate locale-specific directory.
|
|
|