[an error occurred while processing this directive]
HP OpenVMS Systems Documentation |
HP DECwindows Motif for OpenVMS
|
Previous | Contents | Index |
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
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
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
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.
The DECW$XLIBSHR.EXE file is the X11R5 version, not the X11R4 version of Xlib. |
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.
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
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.
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:
$ 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:
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 |
$ SET COMMAND SYS$SYSROOT:[SYSEXE.DECW$113]DECW$UILCOMPILER.CLD |
If you want to revert back to the previous UIL command definition, execute the following command:
|
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:
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:
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:
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.
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. |
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
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
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 |