[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

HP DECwindows Motif for OpenVMS
Release Notes


Previous Contents Index

4.2.3.1 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.2.3.2 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.3 OSF/Motif Toolkit (Xm)

This section describes restrictions and corrections related to the OSF/Motif Toolkit (Xm).

4.3.1 OSF/Motif Release 1.2.2 and X11 Release 5 and Greater Shareable Libraries

V1.2

Because the OSF/Motif Release 1.2.2 Toolkit and the OSF/Motif Release 1.1.3 Toolkit are not binary compatible, applications must link with one toolkit or the other. Applications based on OSF/Motif Release 1.2.2 can only link against OSF/Motif 1.2.2-based and X11 R5-based shareable libraries. Applications based on OSF/Motif Release 1.1.3 can only link against OSF/Motif 1.1.3-based and X11 R4-based shareable libraries.

To provide both OSF/Motif Release 1.2.2-based and OSF/Motif Release 1.1.3-based shareable libraries, the Release 1.1.3-based libraries have the same file names as in DECwindows Motif Version 1.1, and the Release 1.2.2-based libraries contain a suffix of either "R5" or "12".

Shareable libraries that work with either the OSF/Motif Release 1.1.3 Toolkit or the OSF/Motif Release 1.2.2 Toolkit do not have a suffix. These libraries are as follows:

V1.2--6

  • CDA$ACCESS.EXE
  • DECW$D2DXLIBSHR.EXE
  • DECW$XEXTLIBSHR.EXE
  • DECW$XLIBSHR.EXE
  • XIE$SHRLIB.EXE

Shareable libraries that are linked with Release 5 and greater of the Xt Toolkit have a suffix of "R5". Libraries based on the XUI Toolkit have no R5 equivalent libraries and should not be included in a linker options file based on X11R5, X11R6.6, or OSF/Motif Release 1.2.2. Table 4-1 lists these file names.

Note

The DECW$XLIBSHR.EXE file is the X11R5 version, not the X11R4 version of Xlib.

Table 4-1 Names of Shareable Libraries Based on X11R5 or Greater
Names of Files Based on R4 Names of Files Based on R5 or Greater
DECW$DWTLIBSHR.EXE (None)
DECW$DWTSHR.EXE (None)
DECW$XMULIBSHR.EXE DECW$XMULIBSHRR5.EXE
DECW$XTRAPLIBSHR.EXE DECW$XTRAPLIBSHRR5.EXE
DECW$XTSHR.EXE DECW$XTLIBSHRR5.EXE

Releases 5 and greater do not provide an equivalent file for DECW$DWTLIBSHR.EXE or DECW$DWTSHR.EXE. Applications that are built for Releases 5 and beyond cannot link against these files.

Shareable libraries that are linked with OSF/Motif Release 1.2.2 have a suffix of "12". They should be linked only with libraries compatible with X11R5 or X11R6.6, and OSF/Motif Release 1.2.2. Table 4-2 lists these file names.

Table 4-2 Names of Shareable Libraries Based on OSF/Motif Release 1.2.2
Names of Files Based on Release 1.1.3 Names of Files Based on Release 1.2.2
DDIF$VIEWSHR.EXE DDIF$VIEWSHR12.EXE
DECW$BKRSHR.EXE DECW$BKRSHR12.EXE
DECW$DXMLIBSHR.EXE DECW$DXMLIBSHR12.EXE
DECW$MAILSHR.EXE DECW$MAILSHR12.EXE
(None) DECW$MRMLIBSHR12.EXE
DECW$PRINTWGTSHR.EXE (None)
DECW$TERMINALSHR.EXE DECW$TERMINALSHR12.EXE
DECW$XMLIBSHR.EXE DECW$XMLIBSHR12.EXE
DGIT$LIBSHR.EXE DGIT$LIBSHR12.EXE
IMG$SHRLIB.EXE IMG$SHRLIB12.EXE
LWK$DXMSHR.EXE LWK$DXMSHR12.EXE
XNL$SHR.EXE XNL$SHR12.EXE

There is no DECW$PRINTWGTSHR12.EXE file; the Print Widget is part of the DECW$DXMLIBSHR12.EXE file.

The DECW$MRMLIBSHR12.EXE file is a new image that includes Motif Resource Manager (Mrm) routines that were formerly part of the DECW$XMLIBSHR.EXE file. Any program based on OSF/Motif Release 1.2.2 that calls Mrm routines to access .UID files should link with this library.

For example, a typical linker options file for a program based on OSF/Motif Release 1.1.3 might be as follows:


SYS$SHARE:DECW$XLIBSHR/SHARE
SYS$SHARE:DECW$XTSHR/SHARE
SYS$SHARE:DECW$DWTLIBSHR/SHARE
SYS$SHARE:DECW$XMLIBSHR/SHARE
SYS$SHARE:DECW$DXMLIBSHR/SHARE

To link this program with OSF/Motif Release 1.2.2, the linker options file should be changed to:


SYS$SHARE:DECW$XLIBSHR/SHARE
SYS$SHARE:DECW$XTLIBSHRR5/SHARE
SYS$SHARE:DECW$XMLIBSHR12/SHARE
SYS$SHARE:DECW$MRMLIBSHR12/SHARE
SYS$SHARE:DECW$DXMLIBSHR12/SHARE

These changes eliminate the reference to the XUI Toolkit (DECW$DWTLIBSHR.EXE) and links with the Motif Resource Manager (DECW$MRMLIBSHR12.EXE).

4.3.2 OSF/Motif Release 1.2.2 Callable UIL Compiler

V1.2--6

The OSF/Motif Release 1.2.2 Toolkit contains a callable User Interface Language (UIL) compiler. You can link against this image by including the following in your link options:


SYS$SHARE:DECW$UILSHR/SHARE

For information about the callable interface, see the OSF/Motif Programmer's Guide published by Prentice Hall.

4.3.3 OSF/Motif Release 1.1.3 Programming Support and XUI

The following sections describe issues related to building OSF/Motif Release 1.1.3 applications in the OpenVMS Alpha and OpenVMS I64 environments.

4.3.3.1 Building Release 1.1.3 Applications in the OpenVMS Alpha Environment (Alpha Only)

V1.2

The X Window and OSF/Motif libraries that are shipped with DECwindows Motif Versions 1.2 and later are incompatible with those shipped with previous versions. Run-time compatibility has been preserved but backwards programming compatibility has not. As a result, support for programming in the XUI or Motif Release 1.1.3 environment that was provided in previous versions of DECwindows Motif is not available in DECwindows Motif Versions 1.2 or later.

If you have legacy applications built against Motif Release 1.1.3, you can choose to preserve the Release 1.1.3 programming environment during DECwindows Motif installation. The installation procedure gives you the option of saving the programming files that already exist on your system. If you choose to save these files, they are moved to subdirectories where you can access them for programming. Specifically, the installation creates a subdirectory called [.DECW$113] in each of the directories listed in Table 4-3 and moves the previous files into the new subdirectory.

For more information about saving the programming files, see the HP DECwindows Motif for OpenVMS Installation Guide.

Table 4-3 Directories for Previous XUI or Motif Programming Environment
Directory Contents New Location
DECW$INCLUDE C header files SYS$SYSROOT:[DECW$INCLUDE.DECW$113]
SYS$SYSTEM UIL compiler SYS$SYSROOT:[SYSEXE.DECW$113]
SYS$LIBRARY Non-C language bindings SYS$SYSROOT:[SYSLIB.DECW$113]

To program with these files, include the new [.DECW$113] subdirectories in the search path for each of the logical names. For example, perform the following:

  • Change the definition of DECW$INCLUDE as follows:


    $ SHOW LOGICAL DECW$INCLUDE
       "DECW$INCLUDE" = "SYS$SYSROOT:[DECW$INCLUDE]" (DECW$LOGICAL_NAMES)
            = "SYS$SYSROOT:[DECW$INCLUDE.EXTENSIONS]"
    
    $ DEFINE/EXECUTIVE/TABLE=DECW$LOGICAL_NAMES DECW$INCLUDE -
     SYS$SYSROOT:[DECW$INCLUDE.DECW$113], -
     SYS$SYSROOT:[DECW$INCLUDE], -
     SYS$SYSROOT:[DECW$INCLUDE.EXTENSIONS]
    

Place the new [.DECW$113] subdirectory first in the search list, since many of the files that have been updated for this release have the same name as the files that were moved to the [.DECW$113] subdirectory. Thus, the files in [.DECW$113] are used for software development.

If DECW$INCLUDE is redefined in the SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COM command procedure, then modify the previous instructions accordingly.

To use the UIL compiler for XUI or OSF/Motif Release 1.1.3, perform the following steps:

  1. Create a file called
    SYS$SYSROOT:[SYSEXE.DECW$113]DECW$UILCOMPILER.CLD that contains the following text:


    define type trace_keywords
     keyword tokens
     keyword symbols
    
    define type warning_keywords
     keyword nowarnings
     keyword noinformationals
    
    define type version_keywords
     keyword V1, syntax=xui_uil
     keyword V2, syntax=xui_uil, default
     keyword MOTIF11, syntax=motif_uil
    
    define syntax xui_uil
     image decw$uilcompiler
    
    define syntax motif_uil
     image decw$uilmotif
    
    define verb uil
     image decw$uilcompiler
     parameter p1, label=source_file,
      prompt="File", value(required,noconcatenate,type=$infile)
     qualifier trace, label=trace_qual,
      value(list,noconcatenate,type=trace_keywords), nonnegatable
     qualifier warnings, label=warnings_qual,
      value(list,noconcatenate,type=warning_keywords)
     qualifier list, label=listing_file,
      batch, value(type=$outfile)
     qualifier machine, label=machine_qual,
     qualifier output, label=resource_file,
      default, value(type=$outfile)
     qualifier version, label=version_qual, default,
      value(type=version_keywords),
      nonnegatable
     qualifier XUI, default, nonnegatable, syntax=xui_uil
     qualifier MOTIF, nonnegatable, syntax=motif_uil
    
     qualifier widget_meta_description, label=widget_qual,
      value(required, noconcatenate, type=$infile)
    
     disallow XUI and MOTIF
    
  2. Set the DCL command table to use the XUI UIL compiler as follows:


    $ SET COMMAND SYS$SYSROOT:[SYSEXE.DECW$113]DECW$UILCOMPILER.CLD
    

Note

If you want to revert back to the previous UIL command definition, execute the following command:


$ SET COMMAND SYS$LIBRARY:DECW$UILCOMPILER.CLD

4.3.3.2 Building Release 1.1.3 Applications in the OpenVMS I64 Environment (I64 Only)

V1.5

Note that although DECwindows Motif for OpenVMS Version 1.5 includes an updated set of OSF/Motif Release 1.1.3 shareable libraries, it does not include a Release 1.1.3-based UIL compiler or set of related C header files on the OpenVMS I64 platform (as consistent with recent releases of DECwindows Motif for OpenVMS Alpha).

To perform a native build of one or more applications based on the Release 1.1.3 images in the OpenVMS I64 environment:

  1. Compile your application source files using the C header files (.H) from a previous, saved version of the OSF/Motif Release 1.1.3 environment on an OpenVMS Alpha system.
  2. Link against the ported shareable images. Note that the ported image names do not have a suffix such as "R5" or "12". For example, for Release 1.1.3-based builds, you should link against DECW$XTSHR and DECW$XMLIBSHR rather than DECW$XTLIBSHRR5 and DECW$XMLIBSHR12.
  3. Do one of the following:
    • If you do not need to make UIL changes, run your application(s) with UID files copied from an OpenVMS Alpha system to the OpenVMS I64 run-time environment.
    • If changes are necessary, use the UIL compiler from a previous, saved version of the OSF/Motif Release 1.1.3 programming environment on an OpenVMS Alpha system, and copy the resulting UID files to the OpenVMS I64 run-time environment.

4.3.3.3 Additional Motif Release 1.1.3 Compilation and Run-time Restrictions

V1.2--3

You will encounter problems if you save the previous (Release 1.1.3) programming environment and attempt to run an OSF/Motif Release 1.1.3 (Xlib Release 4) application created on a system running DECwindows Motif Version 1.2 or later from an executable on a Motif Release 1.1.3 target system. That is, if you build an application on a system running DECwindows Motif Version 1.2 or later, the image is linked with Xlib Release 5, by default. If you attempt to run that executable on a system where OSF/Motif Release 1.1.3 is installed, the result is an ident mismatch fatal error.

In addition, the OSF/Motif Release 1.1.3 and Release 1.2.2 UIL compilers produce different output; they have different structures and are therefore not compatible. Use the appropriate UIL compiler to produce the correct UID file.

To prevent these issues from occurring, do the following:

  1. Rename the Release 1.1.3 executable compiler, DECW$UILMOTIF.EXE, to DECW$UILMOTIF113.EXE and keep the file in the SYS$COMMON directory. By doing this, the name of the Release 1.2.2 compiler, DECW$UILMOTIF.EXE, does not conflict with the previous compiler.
  2. Copy the DECW$XLIBSHR.EXE file (Xlib Release 4) to the SYS$COMMON:[SYSEXE.DECW$113] directory.
    The Xlib Release 5 or greater versions of Xlib have the same name; however, a logical name is defined to use the Release 4 version when the programs are linked. The changes in minor ident of DECW$XLIBSHR.EXE between DECwindows Motif Version 1.2 and later versions of DECwindows caused a loss of backward compatibility with native Release 1.1.3 systems.
  3. If you save the previous programming environment during installation, create the following two files and copy them to the SYS$COMMON:[SYSEXE.DECW$113] directory:
    • DECW$UILCOMPILER113.CLD
      This file enables UIL/OSF Motif and UIL/XUI to function for either XUI or OSF/Motif Release 1.1.3 if you select DECW$UILMOTIF113.EXE for OSF/Motif Release 1.1.3 or DECW$UILCOMPILER.EXE for XUI.
    • DECW$DEFINE113_LOGICALS.COM
      This file points to the saved header files, which in turn point to the Xlib Release 4 version of the DECW$XLIBSHR.EXE file.
  4. An application must be run on the same version (or higher) of the operating system as the version where it is linked. For example, an application that is linked on a OpenVMS Version 7.3--2 system must be run on an OpenVMS 7.3--2 (or higher) system.

4.3.4 Memory Leaks in Cascade and Toggle Buttons Corrected (Alpha Only)

V1.5

Previously, when creating and subsequently destroying cascade or toggle buttons (or their gadgets) on systems running DECwindows Motif for OpenVMS Version 1.2--4 and higher, unused graphics context objects were be left behind. These objects resulted in memory leaks in both the client and server that persisted until the client was terminated.

The problem occurred when widgets associated one graphics context with normal state and another with the armed state. Under normal use, most widgets share the same colors, and therefore, share a pair of graphics contexts. The memory leaks were only significant if many such widgets with differing background colors or selected text were created and destroyed.

This problem has been corrected in DECwindows Motif for OpenVMS Version 1.5.

4.3.5 Memory Leaks in Bulletin Boards Corrected (Alpha Only)

V1.5

Previously on systems running DECwindows Motif for OpenVMS Version 1.2--4 or later, when a BulletinBoard widget was created and the default font list was used for the XmNbuttonFontList, XmNlabelFontList, or XmNtextFontList resources, the reference count to the font list entry was cached incorrectly. This prevented the memory used for the font list from being freed when the font list was no longer required.

This problem only occurred when the bulletin board was created as a descendant of another bulletin board or vendor shell widget whose own default font lists were later changed.

This problem has been corrected in DECwindows Motif for OpenVMS Version 1.5.

4.3.6 Compile-Time Incompatibilities in Motif Header Files

V1.2--3

Several macro definitions are removed from the Motif header files in the OSF/Motif programming support. The changes affect the following header files:

  • DECW$INCLUDE:XMP.H
    The following definitions are removed:
    • #define XmLONGBITS sizeof(Cardinal)*8
    • #define XmHALFLONGBITS (XmLONGBITS/2)

    These macros are replaced in the same header file with the following macro:
    • XmOFFSETBITS

    Update the code to call the XmOFFSETBITS macro.
  • DECW$INCLUDE:TEXTP.H
    The following definitions are removed:
    • #define MAXINT 2147483647
      /* Biggest number that can fit in long */
    • #define NODELTA MAXINT

    The definition of MAXINT is operating-system dependent. Include this definition in applications in one of the following ways:
    • Include the appropriate system-header file
    • Define the constant

4.3.7 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

HP supplies access to the _Xm routines by copying them into the shareable image transfer vector for the OSF/Motif Release 1.2.2 Toolkit. HP 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.3.8 UID Files for Example Programs

V1.2

The UID files used by the Motif example programs must be located in either the current directory, DECW$SYSTEM_DEFAULTS, or your DECW$USER_DEFAULTS directory. DECwindows Motif does not support accessing remote UID files using the DECNET (DECnet or DECnet-Plus) transport. As a result, the default directories do not support a node name specification. Entering a node name in the UID directory specification fails to start the application and results in an error similar to the following:


X Toolkit Warning: I18NOpenFile: Could not open file decburger.uid - MrmNOT_FOUND
can't open hierarchy

The UID files can be copied from the DECW$EXAMPLES directory. To access a remote UID file, either copy the file to a local node on the cluster, or use Distributed File System (DFS) to mount the disk that contains the file on the cluster.

4.3.9 Motif Text Widget Translations

V1.0

To implement virtual bindings, it is necessary for HP to modify the default XmText and XmTextField translation manager syntax. Specifically, the following syntax line is removed:


Shift ~Ctrl ~Meta ~Alt <Key>osfDelete:   cut-clipboard()

If you use virtual bindings in which the osfCut virtual keysym is not bound, no key sequence is bound to the cut-clipboard action by default. To work around this limitation, override the XmText and XmTextField translations in your DECW$XDEFAULTS.DAT file.

4.3.10 Restrictions on Mixing Motif and XUI Widgets

V1.0

Mixing Motif and XUI widgets is restricted. The problem results from the fact that both XUI and Motif have their own Vendor Shell widget class. If an application is linked against XUI and not Motif, the XUI Vendor Shell widget class is used in order to maintain compatibility with DECwindows XUI. If an application is linked against Motif, the Motif Vendor Shell widget class is used. Motif widgets require the Motif Vendor Shell; XUI widgets are compatible with the Motif Vendor Shell. The problem occurs when an XUI-only application dynamically activates (using LIB$FIND_IMAGE_SYMBOL) a shareable image that uses Motif. The toolkit makes the decision to use the XUI Vendor Shell when the toolkit is initialized and the Motif widgets in the dynamically activated shareable image do not work.

The workaround is to add the application image name to the DECW$USE_XM_VENDOR_SHELL logical name. This logical name contains a comma-separated list of image names for which the toolkit is to use the Motif Vendor Shell. The value of DECW$USE_XM_VENDOR_SHELL logical name defaults to NOTES$MAIN. To add additional image names to this logical name, enter the following:


$ DEFINE DECW$USE_XM_VENDOR_SHELL "NOTES$MAIN,-
_$ yourimage1,yourimage2,..."

Note that DECW$USE_XM_VENDOR_SHELL does not affect applications that use Motif since they are already using the Motif Vendor Shell.


Previous Next Contents Index