# Preface

The Common Desktop Environment: Programmer's Overview provides a high-level view of the Common Desktop Environment development environment and the developer documentation set. Read this book first before starting application design and development.

In this manual, the terms (the) Common Desktop Environment and the
desktop are used interchangeably.

Outside of the Preface, this manual omits the Common Desktop Environment prefix when referring to a Common Desktop Environment development or run-time environment manual. For example, the Common Desktop Environment: Programmer's Overview is referred to as the Programmer's Overview.

## Who Should Use This Book

Read the Programmer's Overview if you are:

- An application developer who wants to develop a new Common Desktop Environment application, or integrate an existing
  Motif ® or
  OPEN LOOK® application into the desktop

- A manager, architect, or project lead interested in designing a project involving applications that will run on the Common Desktop Environment desktop

For the remainder of this manual, Motif is referred to as Motif®.

## How This Book Is Organized

The Programmer's Overview is divided into two parts. Part I contains an architectural overview of the Common Desktop Environment, including high- level information on both the run-time and development environments. Part II contains information useful to know before developing an application, and describes the development environment components.

This section provides brief descriptions of the chapters and appendixes contained in this manual.

RDMAP.archo.mkr.1, presents an overview of the Common Desktop Environment architecture.

RDMAP.consi.mkr.1, discusses information you should know about the environment before you start to develop an application.

RDMAP.devap.mkr.1, presents information specific to developing a Common Desktop Environment application, such as naming conventions and guidelines to follow.

RDMAP.port.mkr.1, discusses issues pertaining to writing portable and maintainable applications.

RDMAP.BIntg.mkr.1, summarizes how to make your application launch-integrated (that is, started by double-clicking an icon on the desktop).

RDMAP.recin.mkr.1, provides overviews of all components and guidelines that you should use so your application has the same look and feel as, and interoperates well with, other Common Desktop Environment desktop applications.

RDMAP.optin.mkr.1, provides overviews of the components to incorporate into your application as needed for added functionality.

RDMAP.compr.mkr.1, lists in alphabetical order all development environment components and guidelines, with associated library, header files, and documentation.

## Related Books

For information on
Motif, see:

- Motif Programmer's Guide, Release 1.2, by Open Software Foundation, 11 Cambridge Center, Cambridge, MA 02142, published by PTR Prentice Hall, Englewood Cliffs, NJ 07632

- Motif Programmer's Reference, Release 1.2, by Open Software Foundation, 11 Cambridge Center, Cambridge, MA 02142, published by PTR Prentice Hall, Englewood Cliffs, NJ 07632

- Motif Reference Guide, by Douglas A. Young, published by PTR Prentice Hall, Englewood Cliffs, NJ 07632

- Motif 1.2 Style Guide, by Open Software Foundation, 11 Cambridge Center, Cambridge, MA 02142, published by PTR Prentice Hall, Englewood Cliffs, NJ 07632

The Common Desktop Environment: Style Guide and Certification Checklist is an extension of the Motif 1.2 Style Guide to the Common Desktop Environment.

- OSF Application Environment Specification (AES) User Environment Volume, Revision C, by Open Software Foundation, 11 Cambridge Center, Cambridge, MA 02142, published by PTR Prentice Hall, Englewood Cliffs, NJ 07632

Motif 1.2 IEEE Std 1295 standard, which you can order from: IEEE Service Center, 445 Hoes Lane, P.O. Box 1331, Piscataway, NJ 08855

For information on POSIX
, see the IEEE Std 1003.1-1990 standard, which you can order from: IEEE Service Center, 445 Hoes Lane, P.O. Box 1331, Piscataway, NJ 08855

For information on
Xlib, see:

- Xlib Programming Manual for Version 11 (Volume 1) by Adrian Nye, published by O'Reilly & Associates, Sebastopol, CA, 95472

- Xlib Reference Manual for Version 11 (Volume 2), published by O'Reilly & Associates, Sebastopol, CA, 95472

For information on
Xt, see:

- X Toolkit Intrinsics Programming Manual, (Volume 4) by Adrian Nye and Tim O'Reilly, published by O'Reilly and Associates, Sebastopol, CA 95472.

- X Toolkit Intrinsics Reference Manual, (Volume 5) edited by Tim O'Reilly, published by O'Reilly and Associates, Sebastopol, CA 95472.

For more information on
ToolTalk®, see:

- The ToolTalk Service: An Inter-Operability Solution, published by SunSoft Press and PTR Prentice Hall, Englewood Cliffs, NJ 07632, ISBN 0-13-088717-X

- ToolTalk and Open Protocols: Inter-Application Communication, by Astrid Julienne and Brian Holtz, published by SunSoft Press and PTR Prentice Hall, Englewood Cliffs, NJ 07632, ISBN 013-031055-7

In addition to the Programmer's Overview, the
development environment documentation set consists of:

- Common Desktop Environment: Style Guide and Certification Checklist

- Common Desktop Environment: Application Builder User's Guide

- Common Desktop Environment: Programmer's Guide

- Common Desktop Environment: Help System Author's and Programmer's Guide

- Common Desktop Environment: ToolTalk Messaging Overview

- Common Desktop Environment: Internationalization Programmer's Guide

- Common Desktop Environment: Desktop KornShell User's Guide

- Common Desktop Environment: Information System Author's and Programmer's Guide

- Common Desktop Environment: Glossary

- Online man pages

For more information on these development environment books, see the following section, RDMAP.pref.mkr.3.

The run-time environment documentation set consists of:

- Common Desktop Environment: User's Guide

- Common Desktop Environment: Advanced User's and System Administrator's Guide

- Online help volumes

The Advanced User's and System Administrator's Guide contains information to help you integrate an application into the desktop.

## Development Environment Documentation

This section provides an overview of each manual—except for the Programmer's Overview—in the developer documentation set.

### Common Desktop Environment: Style Guide and Certification Checklist

The Common Desktop Environment: Style Guide and Certification Checklist provides application design style guidelines and the list of requirements for Common Desktop Environment application-level certification. These requirements consist of the Motif requirements with Common Desktop Environment-specific additions.

The checklist describes keys using a model keyboard mechanism. It assumes that your application is being designed for a left-to-right language environment in an English-language locale. Wherever keyboard input is specified, the keys are indicated by the engravings on the Motif model keyboard. Mouse buttons are described using a virtual button mechanism to better describe behavior independent from the number of buttons on the mouse.

This book provides information to assist the application designer in developing consistent applications and behaviors within the applications.

### Common Desktop Environment: Application Builder User's Guide

The Common Desktop Environment Application Builder (also called App Builder) is an interactive tool for developing Common Desktop Environment applications. It provides features that facilitate both the construction of an application graphical user interface (GUI) and the incorporation of the desktop's many useful desktop services (such as Help, ToolTalk, Drag and Drop). The Common Desktop Environment: Application Builder User's Guide explains how to create an interface by dragging and dropping “objects” from a palette. It also explains how to make connections between objects in the interface, how to use the application framework editor to easily integrate desktop services, how to generate C code, and how to add application code to the App Builder output to produce a finished application.

### Common Desktop Environment: Programmer's Guide

The Common Desktop Environment: Programmer's Guide has two parts. Each part provides a detailed description of elements of the Common Desktop Environment, a conceptual diagram, and a task-oriented description of how to use each element, complete with code examples.

Part I, “Recommended Integration,” provides an overview of basic integration, and describes how to integrate new applications with the Session Manager, fonts, and drag and drop. It also discusses displaying error messages.

Part II, “Optional Integration,” describes how to integrate new applications with the Workspace Manager, Common Desktop Environment Motif widgets, actions, data types, and Calendar.

The Programmer's Guide provides an introduction to the application program interfaces (APIs) for the components referred to in the descriptions of Parts I and II above, with cross-references to the relevant man pages. Details are covered in the man pages.

### Common Desktop Environment: Help System Author's and Programmer's Guide

The Common Desktop Environment: Help System Author's and Programmer's Guide describes how to develop online help for application software. It covers how to create help topics and how to integrate online help into a Motif application.

The audience for this book includes:

- Authors who design, create, and view online help information

- Developers who want to create software applications that provide a fully integrated help facility

This book has four parts. Part I describes the collaborative role that authors and developers undertake to design application help. Part II provides information for authors organizing and writing online help. Part III describes the Help System application programmer's toolkit. Part IV contains information for both authors and programmers about preparing online help for different language environments.

### Common Desktop Environment: ToolTalk Messaging Overview

The Common Desktop Environment: ToolTalk Messaging Overview describes the ToolTalk components, commands, and error messages offered as convenience routines to enable your application to conform to Media Exchange and Desktop Services message set conventions. This manual is for developers who create or maintain applications that use the ToolTalk service to interoperate with other applications.

The ToolTalk Messaging Overview does not describe general ToolTalk functionality. For detailed information about the ToolTalk service, refer to The ToolTalk Service: An Inter-Operability Solution. For tips and techniques to help make using ToolTalk easier, read ToolTalk and Open Protocols: Inter-Application Communication. Both of these books are listed in RDMAP.pref.mkr.2.

### Common Desktop Environment: Internationalization Programmer's Guide

The Common Desktop Environment: Internationalization Programmer's Guide provides information for internationalizing an application so that it can be easily localized to support various languages and cultural conventions in a consistent user interface.

Specifically, this guide:

- Provides guidelines and hints for developers on how to write applications for worldwide distribution

- Provides an overall view of internationalization topics that span different layers within the desktop

- Provides pointers to reference and more detailed documentation. In some cases, standard documentation is referenced.

This guide is not intended to duplicate the existing reference or conceptual documentation, but rather to provide guidelines and conventions on specific internationalization topics. It focuses on internationalization topics and not on any specific component or layer in an open software environment.

### Common Desktop Environment: Desktop KornShell User's Guide

The Common Desktop Environment: Desktop KornShell User's Guide describes how to create Motif applications with Desktop KornShell (`dtksh`) scripts. It contains several example scripts of increasing complexity, in addition to the basic information a developer needs to get started.

This guide is intended for developers who find a shell-style scripting environment suitable for a particular task. It assumes a knowledge of KornShell programming, Motif, the Xt Intrinsics, and, to a lesser extent, Xlib.

### Common Desktop Environment: Information System Author's and Programmer's Guide

The Common Desktop Environment: Information System Author's and Programmer's Guide describes how to develop and integrate on-line documentation. This manual is addressed to two audiences: the documentation author, who develops the documentation content; and the programmer, who integrates the documentation with the CDE documentation browser, `dtinfo`.

### Common Desktop Environment: Glossary

The Common Desktop Environment: Glossary provides a comprehensive list of terms used in the Common Desktop Environment. The Glossary is the source and reference base for all users of the desktop. Because the audience for this glossary consists of many different types of users—from end users to developers to translators—the format for a glossary definition may include information about the audience, where the term originated, and the Common Desktop Environment component that uses the term in its graphical user interface.

## What DocBook SGML Markup Means

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.

## DocBook SGML Markup

`Markup Appearance` | `Semantic Element(s)` | `Example`
`AaBbCc123` | The names of commands. | Use the `ls` command to list files.
`AaBbCc123` | The names of command options. | Use `ls` `−a` to list all files.
AaBbCc123 | Command-line placeholder: replace with a real name or value. | To delete a file, type `rm` filename.
`AaBbCc123` | The names of files and directories. | Edit your `.login` file.
AaBbCc123 | Book titles, new words or terms, or words to be emphasized. | Read Chapter 6 in User's Guide. These are called class options. You must be root to do this.