# Compaq DECwindows Motif
for OpenVMS
Release Notes

Previous | Contents | Index

#### 4.2.2.1.2 Impact on Java Applications

The Java Development Kit (JDK) for OpenVMS Version 1.2.2-1 contains two shareable images (JAVA$FONT_MANAGER_SHR.EXE and JAVA$FONT_MANAGER_G_SHR.EXE) that link against the Display PostScript (XPDS) libraries. As a result, all Java applications built with this kit that use Display PostScript capabilities will fail in the DECwindows Version 1.2--6 environment.

Note that this restriction only applies to the Version 1.2.2-1 kit. The Java machine for the 1.1* series, as well as all releases of the JDK subsequent to Version 1.2.2-1, are not dependent on the Adobe Display PostScript software or its libraries.

### 4.2.2.2 Using Multithreading and Upcalls (Alpha Only)

V1.2--6

The transports used to communicate to the DECwindows Server do not currently support the use of multiple kernel threads. Consequently, DECwindows Motif client applications that use multiple kernel threads multiple threads with upcalls enabled are not supported. This restriction applies even if the application restricts DECwindows calls to a single thread.

### 4.2.2.3 Problems Using the DECW$INCLUDE:INTRINSIC.H File

V1.2--5

The DECwindows header file, DECW$INCLUDE:INTRINSIC.H, redefines the globalref macro to be extern when using the DEC C compiler, even when the /STANDARD=VAXC compiler switch is specified. This could have a wide impact on user applications.

This redefinition in INTRINSIC.H is required because DECwindows needs to ensure that references to data located in the DECwindows shared images by user-written applications use the same extern model that was used when the DECwindows shared images were compiled.

To workaround this problem, rather than having your application use globalref and globaldef for its own variables, use the following preprocessor directive:

    #pragma extern_model strict_refdef

This workaround has the advantage of being strictly ANSI compliant. This pragma directive is described in the DEC C User's Guide for OpenVMS Systems manual.

### 4.2.2.4 DECW$WML.EXE Looks in Current Directory For DECW$WML_TOKENS.DAT

1.2--4

The program SYS$SYSTEM:DECW$WML.EXE can be used to customize the parsing of UIL files. It reads a list of tokens from the file DECW$WML_TOKENS.DAT. In previous versions of DECwindows Motif, this tokens file was always read from SYS$LIBRARY. However, starting with DECwindows Motif Version 1.2--4 for OpenVMS, DECW$WML.EXE first looks for this file in the current directory before looking for it in SYS$LIBRARY. This allows a customized tokens file to be used.

### 4.2.2.5 DECW$COMPARE_VERSIONS Command File Limitation

1.2--4

The DECW$COMPARE_VERSIONS command file compares version identifications using two-digit years. Therefore, it will not compare version identifiers correctly for images generated in the year 2000 and later with version identifiers for images generated before the year 2000.

### 4.2.2.6 Use of _Xm Routines

V1.2

The OSF/Motif Toolkit libraries contain many undocumented routines, which are prefixed with _Xm. These routines are intended to be used only by the standard Motif widgets. OSF reserves the right to modify the API or functionality of these routines, or to delete them altogether in future releases.

Caution Compaq supplies access to the _Xm routines by copying them into the shareable image transfer vector for the OSF/Motif Release 1.2.2 Toolkit. Compaq does not document or support these routines or guarantee their continued existence in future releases. Application developers who use these routines do so at their own risk.

### 4.2.2.7 Compiling Applications Written in Fortran (Alpha Only)

V1.1

On OpenVMS Alpha systems, some of the include files used for writing DECwindows Motif applications in Fortran, such as the DECW$MOTIF.FOR file, contain structure definitions that cause memory layout changes, depending on the compiler switches used.

You can do one of the following:

- Use the CDEC$ OPTIONS in the source code so that your Fortran programs work correctly with the DECwindows Motif run-time libraries:
  - Before you include DECwindows Motif files in your program, add the following statement:

        CDEC$ OPTIONS /ALIGN=RECORDS=NATURAL

  - Following the INCLUDE statement, add the following statement:

        CDEC$ END OPTIONS

    For example:

        CDEC$ OPTIONS /ALIGN=RECORDS=NATURAL
        INCLUDE "DECW$MOTIF.FOR"
        CDEC$ END OPTIONS

- Use the Fortran compiler switch, /ALIGN=RECORDS=NATURAL, when you compile your programs.

### 4.2.2.8 Compiling Applications Written in C

V1.0

During the VAX C layered-product installation procedure, you have the option of extracting the VAX C definition files (.h files) or leaving the .h files in the text library. If you extract the definition files, you can use #include control lines of the following form:

    #include <filename.h>

The DECwindows header files assume that the .h files were extracted. They contain #include <module_name.h> notation for the included files. The DECwindows programming documentation also makes this assumption.

VAX C should, therefore, be installed using the option to extract the library modules.

If you have already installed VAX C and you did not extract the .h files, the DECwindows sample C programs do not work. To correct this problem, reinstall VAX C and extract the .h files.

With DEC C, the header files do not need to be extracted from the text library if you define the DECC$TEXT_LIBRARY logical name as follows:

    $ DEFINE DECC$TEXT_LIBRARY SYS$LIBRARY:DECC$RTLDEF.TLB

# 4.3 CDA

This section contains programming information about the CDA application and run-time services.

## 4.3.1 Changes and Enhancements

The following notes describe changes and enhancements made to the CDA application and run-time services.

### 4.3.1.1 Drag-and-Drop Feature Available

V1.2

The drag-and-drop feature, which lets you move or copy information between widgets, is implemented in the widgets listed in Table 4-1.

Table 4-1 Drag-and-Drop Widgets
Widget | Drag Operation | Drop Operation
--- | --- | ---
XmText | copy and move | copy and move
XmTextField | copy and move | copy and move
XmLabel | copy |
XmPushButton | copy |
XmToggleButton | copy |
XmList | copy |

For information about how to include additional drag-and-drop functionality in applications and for an example of a drag-and-drop program, see the Open Software Foundation: OSF/Motif Programmer's Guide, Revision 1.2 manual.

### 4.3.1.2 Changes to the Programming Interface

V1.2

This section describes the changes to the programming interface for this version of CDA Run-Time Services.

This version provides a new set of header files that define CDA constants, types, and routines using portable naming conventions. By using these new naming conventions, you can use a wider variety of C compilers to minimize the amount of system-specific code in your CDA applications.

The names of the new set of header files are the same as the names of the previous set of header files, except that the dollar sign ($) has been removed. For example, the cda$msg.h include file is now called cdamsg.h. Other examples include the following: The DDIF$K_DSC_MAJOR_VERSION symbol is now declared as DDIF_K_DSC_MAJOR_VERSION, and the CDA$_NORMAL status value is now defined as CDA_NORMAL.

The previous set of header files is also included in this version, but these files will no longer be updated. Changes introduced since the release of DECwindows Motif Version 1.1 (for example, the new definitions for audio support), are available only in the new set of header files. To use the new CDA features, change the file names in your source code.

The new set of header files supplements the previous set of header files. If you want to write ANSI-compliant applications using CDA definitions and CDA Toolkit calls, use the new set of header files. However, you can continue to use the header files that define symbols containing the dollar sign ($) provided you choose a non-ANSI compilation mode.

By using the previous set of header files, you can successfully build existing source code that uses the previous naming conventions.

See Table 4-2 for a list of new header file names.

Table 4-2 New Header File Names
Previous Name | New Name
--- | ---
cda$def.h | cdadef.h
cda$msg.h | cdamsg.h
ddif$def.h | ddifdef.h
dtif$def.h | dtifdef.h
cda$ptp.h | cdaptp.h
cda$typ.h | cdatyp.h
dvr$msg.h | dvrmsg.h
dvr$cc_def.h | dvrccdef.h
dvr$cc_ptp.h | dvrccptp.h
dvr$decw_def.h | dvrwdef.h
dvr$decw_ptp.h | dvrwptp.h

### 4.3.1.3 Changes to External Reference Processing

V1.2

CDA Run-Time Services supports relative file specifications for external references. Relative references are also supported: that is, a reference where the directory path is not fully specified but is relative to the directory path of the parent document.

### 4.3.1.4 Message for Style Guide Fallback

V1.2

The following message is displayed when a local style guide cannot be found:

> STYGDEFBK, Fallback to nonlocale-specific style guide: file-spec

Level: Informational
Explanation: Since the locale-specific style guide cannot be found, the nonlocale-specific version of the style guide is used.

### 4.3.1.5 Using Logical Names with CONVERT Commands

V1.2

During a document conversion, if a logical name is used to specify the directory of the primary document and the document file extension is omitted, external references that contain relative file specifications cause the conversion to fail.

This failure occurs because the back-end converter examines the converter processing options, although the front-end converter opens the input file. Because the converter software cannot predict what default file extension the front-end converter might apply, it uses the OpenVMS file services to resolve the logical name and to find the actual file specification so that the directory can be parsed and extended with a relative specification.

The conversion fails only when the external reference uses a format such as the following:

    sys$login:mydoc

In this case, the reference will not be resolved. The reference is resolved in all other cases. For example:

    sys$login:mydoc.doc
    disk$:[smith]mydoc
    disk$:[smith]mydoc.doc

### 4.3.1.6 Restructuring Shareable Images

V1.2

The CDA Viewer includes two shareable images to allow installation on systems where DECwindows is not installed.

In DECwindows Motif Version 1.2 for OpenVMS software, shareable images that use the X services were renamed. Table 4-3 lists the shareable images in the various versions of the CDA Viewer.

Table 4-3 Names of Shareable Images
CDA Version | Image Name | Description
--- | --- | ---
Version 1.6 | CDA$ACCESS | CDA Run-Time Services shareable image.
| DDIF$VIEWSHR | Callable viewer widget.
Version 1.7 | CDA$ACCESS | CDA Run-Time Services shareable image.
| DDIF$VIEWSHR DDIF$DECW_VIEWSHR DDIF$CC_VIEWSHR | The DDIF$DECW_VIEWSHR widget is a callable viewer widget that uses the LIB$FIND_IMAGE_SYMBOL routine to invoke the DDIF$DECW_VIEWSHR (DECwindows interface) and DDIF$CC_VIEWSHR (character-cell interface) widgets.
Version 1.8A or later | CDA$ACCESS | CDA Run-Time Services shareable image.
| DDIF$VIEWSHR12 | The DDIF$VIEWSHR12 widget is a callable viewer widget that uses LIB$FIND_IMAGE_SYMBOL to invoke the DDIF$DECW_VIEWSHR12 (DECwindows interface) and DDIF$CC_VIEWSHR (character-cell interface) widgets.

By using the LIB$FIND_IMAGE_SYMBOL routine to reference the entry points to the DDIF$DECW_VIEWSHR, DDIF$DECW_VIEWSHR12, and DDIF$CC_VIEWSHR images, an application can dynamically determine whether it can execute in a given environment. The DDIF$VIEW.EXE application now replaces this routine.

The previous DDIF$VIEWSHR.EXE shareable image is still included to maintain compatibility with applications linked against it. However, new applications (and previous applications that take advantage of new features) should use the new shareable images.

# 4.4 DECterm

This section contains information about DECterm programming.

## 4.4.1 Changes and Enhancements

The following notes describe changes and enhancements made to the DECterm application.

### 4.4.1.1 ReGIS Input Cursors

V1.2--3

DECterm supports the following input cursors: cross-hair, rubber-band line, diamond, and rubber-band rectangle. To select input cursors use the S(C(In)) command. Table 4-4 shows the values of n.

Table 4-4 ReGIS Input Cursors---Cursor styles and Values
Cursor Style | Variable n
--- | ---
Cross-hair | Omitted
Cross-hair (default) | 0
Diamond | 1
Cross-hair | 2
Rubber-band line | 3
Rubber-band rectangle | 4

Note If a shape other than the diamond cursor is desired when n is equal to 1, define the logical name DECW$DECTERM_REGIS_CURSOR to be one of the numbers defined in the SYS$LIBRARY:DECW$CURSOR.H file.

### 4.4.1.2 Page-Movement Escape Sequences

V1.2

The following page-movement escape sequences are implemented in DECterm:

        NP       <CSI> Pn U       Next Page
        PP       <CSI> Pn V       Previous Page
        PPA      <CSI> Pn P       Page Position Absolute
        PPB      <CSI> Pn R       Page Position Backward
        PPR      <CSI> Pn Q       Page Position Relative

Note that "Pn" is the number of pages to move; the exception is PPA, where "Pn" is the actual page number.

Note DECterm does not support cursor coupling; the cursor is always bound to the current (displayed) page.

### 4.4.1.3 DECCRA Sequence

V1.2

DECterm supports the DECCRA (Copy Rectangular Area) sequence in a limited way. The entire page needs to be copied at once, and either the source or the destination page must be the current page (for example, you cannot copy from one off-screen page to another).

### 4.4.1.4 DECLFKC Sequence

V1.2

Since DECterm does not have a user interface to redefine the F5 (Break) key, the DECLFKC (Local Function Key Control) sequence redefines the F5 key when "0" (all keys) is used to select which key is to be modified.

## 4.4.2 Corrections

The following notes describe the resolution of any problems specific to the DECterm application that previously resulted in an error or required a workaround.

### 4.4.2.1 CREATE/TERM/WAIT SHOW PROCESS No Longer Disrupts SYS$INPUT

V1.2--6

Issuing the CREATE/TERMINAL/WAIT SHOW PROCESS command from a command procedure no longer disrupts the definition of SYS$INPUT.

# 4.5 DECTPU for DECwindows Motif

This section contains information about DECTPU for DECwindows Motif programming.

## 4.5.1 Problems and Restrictions

The following notes describe known problems and restrictions that currently exist with the DECTPU for DECwindows Motif.

### 4.5.1.1 Small Display Monitors and DECTPU

V1.0

When running DECTPU for DECwindows Motif on small display monitors, the main window can be less than fully visible.

To correct this condition, follow these steps:

1. Add the following resources to your DECTPU X resource file:

       Tpu.Tpu$MainWindow.X:                             0
       Tpu.Tpu$MainWindow.Y:                             0
       Tpu.Tpu$MainWindow.Rows:                          21
       Tpu*condensedFont:                                on
       Tpu*fontSetSelection:                             1

2. Copy the resource file from SYS$LIBRARY:EVE.DAT and add the previous lines.
3. Use the logical name TPU$DEFAULTS to point at the new resource file.
   The following example invokes the EVE DECwindows Motif user interface using the X resource file names eve_small_window.dat in your login directory to edit the file LOGIN.COM.

       $  DEFINE TPU$DEFAULTS SYS$LOGIN:EVE_SMALL_WINDOW.DAT
       $  EDIT/TPU/INTER=DECWINDOWS LOGIN.COM

# 4.6 DECwindows Extensions to Motif

This section contains information about the extensions to the Motif Toolkit.

## 4.6.1 Changes and Enhancements

The following notes describe changes and enhancements made to the DECwindows Extensions to Motif.

### 4.6.1.1 SVN Widget Supports Extended Selection

V1.2--6

The Structured Visual Navigation (SVN) widget now allows users to extend a range of selection using the Shift+Down-Arrow key sequence. Note that this change has also been applied to the sample program SVNMSAMPLE.C.

### 4.6.1.2 DXmCSText Input Method Support

V1.2

X11 R5 input method support is added to the DXmCSText widget. Specify input methods using the vendor shell XmNinputMethod resource. However, to maintain backward compatibility, the existing input method resources DXmNinputMethod and DXmNinputMethodType are still available.

## 4.6.2 Problems and Restrictions

The following notes describe known problems and restrictions that currently exist with the DECwindows Extensions to Motif.

### 4.6.2.1 DXmFormSpaceButtonsEqually Restriction

V1.1

The convenience routine DXmFormSpaceButtonsEqually sizes and spaces all widgets or gadgets equally if they have a subclass of XmLabel or XmLabelGadget. The results are undefined if a widget or gadget is not a subclass of XmLabel or XmLabelGadget.

Previous | Next | Contents | Index