[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

HP DECwindows Motif for OpenVMS
Release Notes


Previous Contents Index


Chapter 5
Documentation Release Notes

This chapter briefly describes corrections to the DECwindows Motif documentation. For a complete listing of additions and changes to the DECwindows Motif documentation set, see the HP DECwindows Motif for OpenVMS Documentation Overview.

5.1 Getting Started With the New Desktop

This section contains documentation corrections to the Getting Started With the New Desktop manual.

5.1.1 Corrected File Specification

V1.2--5

A file specification for a command procedure in Getting Started With the New Desktop (part number AA-QUW1A-TE) is incorrect. The file specification appears in Section 3.4.9, paragraph 5, as follows:

"Optional DECwindows applications, such as DECwindows Notes, may not provide any information and therefore are not restarted. For such cases, there is a command procedure called disk$:[user.DT]SESSIONETC.COM that you can use to start any applications that cannot be restarted automatically. This procedure is analogous to the DECW$LOGIN.COM procedure in the traditional DECwindows environment."

The correct file specification is:

disk$:[user.DT.SESSIONS]SESSIONETC.COM

5.2 Using DECwindows Motif for OpenVMS

This section contains documentation corrections to the Using DECwindows Motif for OpenVMS manual.

5.2.1 Corrections to the Example for Changing a Logo

V1.2

The example "Changing Your Logo" in the Using DECwindows Motif for OpenVMS is incorrect. To correct the problem, change the following code example in step one:


$ COPY SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS_SETUP.TEMPLATE -
_$ SYS$SPECIFIC:[SYSMANAGER]DECW$PRIVATE_APPS_SETUP.COM/LOG

The code example should read as follows:


$ COPY SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS_SETUP.TEMPLATE -
_$ SYS$SPECIFIC:[SYSMGR]DECW$PRIVATE_APPS_SETUP.COM/LOG

5.3 DECwindows Motif for OpenVMS Applications Guide

This section contains documentation corrections and enhancements to the DECwindows Motif for OpenVMS Applications Guide manual.

5.3.1 Clarifications to the Finish Printing Option

V1.2--3

In DECwindows Motif for OpenVMS Applications Guide, the section called "Printing Information" in the chapter on DECterm provides information about the Print menu. To further clarify the information in the Finish Printing section, note the following:

Selecting the Finish Printing option on the Print menu closes the print job and toggles Auto Print mode back to Normal Print mode.

5.3.2 Correction to Adding Target Screen Options to Application Menu Items Example

V1.2

The example "Adding Target Screen Options to Application Menu Items" in DECwindows Motif for OpenVMS Applications Guide is incorrect. To correct the problem, remove the first occurrence of the following line:


$ select_qualifiers:

5.4 DECwindows Motif for OpenVMS Guide to Non-C Bindings

This section contains documentation enhancements and corrections to the DECwindows Motif for OpenVMS Guide to Non-C Bindings manual.

5.4.1 Access to GET_CHAR_STRUCT Function Correction

V1.2--3

The access related to the char_struct argument for the XLIB GET_CHAR_STRUCT function is incorrectly documented in the DECwindows Motif for OpenVMS Guide to Non-C Bindings. The correct access is write.

5.5 DECwindows Motif Guide to Application Programming

This section contains documentation corrections to the DECwindows Motif Guide to Application Programming manual.

5.5.1 Location of UIL Source Code for the OpenVMS DECburger Sample Application

V1.2--3

In the DECwindows Motif Guide to Application Programming manual, the introduction to the section in Chapter 4 called "Creating the Help Widget with UIL" does not clearly state that the complete UIL source code for the OpenVMS DECburger application is included in DECW$EXAMPLES on OpenVMS systems.

5.5.2 Corrections to the Help Widget Documentation

V1.2--3

In the DECwindows Motif Guide to Application Programming manual, the following corrections should be noted:

  • The title of Example 4--7, "Help Widget Implementation---C Language Module", DECBURGER.C should be added to the title as follows:
    "Help Widget Implementation---C Language Module (DECburger.C)"
  • The title of Example 4-8 should read as follows:
    "Help Widget Implementation---Callbacks (DECburger.C continued)"
  • The title of Section 4.10, "Using the Toolkit Help Widget Creation Routine," does not accurately reflect the contents of this section. The title should read, "Using UIL to Create the Help Widget".
  • The introductory paragraph to Example 4--9 in the section called "Using the Toolkit Help Widget Creation Routine" is incomplete. The information should state the following:
  • "The code in Example 4--9 is included in DECburger.C but is commented and will not be compiled when the example program is built."
    The implementation in this example is not complete; it requires some sections from Examples 4-7 and 4-8.

5.6 DECwindows Extensions to Motif

This section contains documentation corrections to the DECwindows Extensions to Motif manual.

5.6.1 Corrected List of DXmNlayoutDirection Resource Constants

V1.2--3

In the DECwindows Extensions to Motif, the section on the DXmNlayoutDirection Resource in Chapter 2 lists the following constants:

  • DXmLAYOUT_LEFT_DOWN
  • DXmLAYOUT_LEFT_UP
  • DXmLAYOUT_RIGHT_DOWN
  • DXmLAYOUT_RIGHT_UP

Note that the following constants are not currently available for the DXmNlayoutDirection resource:

  • DXmLAYOUT_LEFT_UP
  • DXmLAYOUT_RIGHT_UP

Also note that the introduction to Table 2--1 is incorrect. Table 2--1 describes the effect of the constants DXmLAYOUT_LEFT_DOWN and DXmLAYOUT_RIGHT_DOWN on the functions.

V1.2

In Section 2.2 of the DECwindows Extensions to Motif manual, the description of DXmChildren indicates that the routine can be used to learn the length of widget_list.

The documentation is incorrect. The sentence should read, "You can use the DXmNumChildren routine to learn the length of the widget list returned by DXmChildren."


Appendix A
OSF/Motif Release 1.2 Release Notes

The release notes in this document are based on Chapter 3 of the OSF/Motif Release Notes for Release 1.2 and include a few other notes relevant to programmers developing Motif applications. Most of the notes describe changes made for Release 1.2. The first two notes discuss performance improvements and information about backward compatibility.

These release notes support the Motif software currently provided with the HP DECwindows Motif for OpenVMS product.

A.1 Performance Improvements

The Open Software Foundation (OSF) set as its goal for OSF/Motif Release 1.2 to improve performance where possible and, at a minimum, to not allow it to degrade below the performance of OSF/Motif Release 1.1.

Performance testing was done in three areas:

  • Aspects obvious to end users
  • Data space usage
  • Memory leakage

The performance of user-perceptible events such as posting and unposting dialog boxes and pop-up menus are comparable or better than the performance for OSF/Motif Release 1.1.4. A significant improvement was made for scrolling inside a Scrolled Text region that contains a large amount of test.

Data space usage has improved throughout the OSF/Motif Toolkit, particularly for the Text widget. In some cases, data space usage has been reduced by as much as 40%. Also, the memory used for the text in a Text widget is now correctly reduced when that text is replaced by a smaller amount of text.

Memory leakage has been reduced to a minimum for multiple creates and destroys of all Toolkit widgets. Although the Motif tests showed small memory leaks, the OSF believes that this amount of memory is required as part of the startup overhead and is not a true memory leak.

The OSF did find some memory leaks that they plan to fix in a future release. Three widgets---File Selection Box, Command, and Drawn Button - leak approximately 500 bytes of memory per instance.

A.2 Backward Compatibility

The OSF tested OSF/Motif Release 1.2 for both link-time compatibility as well as visual and behavioral compatibility.

A.2.1 Visual and Behavioral Compatibility

The OSF ran automated tests that compared current visuals with those recorded using OSF/Motif Release 1.1.4 libraries. Once all differences between the Release 1.2 and Release 1.1.4 versions were accounted for, the visuals were rerecorded using Release 1.2 visuals. These new recorded visuals were used in all subsequent tests.

The OSF believes that Motif Release 1.2 is visually and behaviorally compatible with Release 1.1.4. However, they have made extensive improvements to the Traversal and Geometry Management algorithms that result in some differences between those versions. These differences reflect efforts to fix defects in the earlier release.

For example, one such modification involves the new policy in which an initial size set for a manager widget in an application is now honored by the Toolkit. In OSF/Motif Release 1.1, applications set the initial size for a manager widget, but did not, in fact, use that size. In Release 1.2, Motif now uses that size setting and the initial layout is changed accordingly.

A.3 Changes and New Features for OSF/Motif Release 1.2

This section summarizes changes and new features that the OSF has made to OSF/Motif Release 1.2. Detailed information about these modifications is contained in the Motif reference pages and the Motif Release 1.2 revisions of following books:

  • OSF/Motif Style Guide
  • OSF/Motif Programmer's Guide

The following sections discuss the OSF/Motif Release 1.2 enhancements.

A.3.1 General Toolkit Changes

This section discusses the changes made to the overall OSF/Motif Release 1.2 Toolkit.

A.3.1.1 Include File Changes

The following header files that were in OSF/Motif Release 1.1 are obsolete in Release 1.2:

ExtObject.h
Traversal.h
VaSimple.h
VendorE.h
VendorEP.h

A new public header file, XmAll.h , has been added to OSF/Motif Release 1.2. This header file includes all the documented header files.

A.3.2 Change in XT Translations

As a result of fixing a problem in the XT translation code (Patch 25 for X11 R5), the translations in Xt are now handled strictly and no longer accept any possible match as they did before. This change has caused a change in the behavior of the QATS and Motif VTS test suites, which now make incorrect assumptions for certain keyboards, such as those that have the arrow keys defined in the keypad. Other Motif applications might be affected as well.

You can avoid this problem by creating a file to redefine the bindings for the keys in question and then passing that file to the xmodmap utility.

The following example changes the bindings for the keypad keys that match the arrow keys so that only the arrow keys are produced, not the keypad numbers. The new definitions allow the application to use modifiers with the arrow keys.


!
! Always force:
!   KP_2 = Down
!   KP_8 = Up
!   KP_4 = Left
!   KP_6 = Right
keycode 120 = Down
keycode 76  = Up
keycode 98  = Left
keycode 100 = Right

A.3.3 ANSI C Compliance

All references to caddr_t have been changed to XtPointer . This change affects all callback routines and any other routines that reference caddr_t . The OSF made this change so that OSF/Motif Release 1.2 would be compliant with the ANSI C specification.

A.3.4 Display and Screen Specific Data

Motif now has an XmDisplay object that supports per-display data and resources. An XmScreen object has been added that supports per-screen data and resources.

A.3.5 Drag and Drop

OSF/Motif Release 1.2 supports the drag and drop metaphor for data interchange. The drag-and-drop specification has been fully implemented. See the Release 1.2 version of the OSF/Motif Programmer's Guide for information on the drag and drop interface.

Note

If you want to use Btn2 to have pop-up menus pop up, drag and drop will not function properly. You need to disable drag and drop in such instances.

A.3.6 Tear-Off Menus

With tear-off menus, the user can retain menus on the display area for subsequent selections. Each tearable menupane is a tear-off button. When the mouse drag button is pressed on the tear-off button, the pane tears off and can be dragged and then placed by releasing the mouse drag button. The window manager surrounds the tear-off menupane with a menu button and a title. Shifting focus to a torn-off menu's windowpane follows the standard window manager policy.

Tear-off behavior is enabled by setting the XmNtearOffModel resource to XmTEAR_OFF_ENABLED . (The default is XmTEAR_OFF_DISABLED ).

Note that there is no resource converter preregistered by XmNtearOffModel . To allow the tear-off function to be enabled through the resource database, an application must register its own resource converter for the XmNtearOffModel resource using the XmRepTypeInstallTearOffModelConverter function.

The converter is not automatically installed because many applications use map or cascading callbacks to dynamically set the sensitivity of items within their menus. However, if a tear-off menu is mapped, the sensitivity of its menu items must be changed immediately to reflect changes in other application states. Existing applications are unlikely to change menu item sensitivity in this manner. Thus, allowing their menus to be torn off could result in operations being enabled at unexpected times. If a user activates one of these menu items, the application can crash or the persistent data can be corrupted.

A.3.7 Insensitive Visuals

Motif provides visual indications to show whether a component can respond to input from users. Labels and buttons have had this behavior in previous Motif releases. In OSF/Motif Release 1.2, this behavior has been extended to the following widgets:

XmArrowButton
XmList
XmScrollBar
XmText
XmTextField

A.3.8 Other Visual Changes

OSF/Motif Release 1.2 has made other visual changes as follows:

  • Several pixels have changed in the three-dimensional beveled look.
  • Minor changes have been made to the color generation routines. In particular, the new XmScreen object contains resources that allow for tailoring the generation of default colors. Some of the default values for thresholds have been adjusted to produce more contrast on color monitors.
  • Motif now adds a location cursor to surround all items in a List whenever a List widget has the focus and the current keyboard item is not visible.
  • There are minor layout differences because of fixes in geometry management.

A.3.9 Titles for Frames

In OSF/Motif Release 1.2, you can specify a Title widget in a Frame widget. The release has added the following new constraint resources for specifying the position and alignment of the title in the Frame:

XmNchildHorizontalAlignment
XmNchildHorizontalSpacing
XmNchildType
XmNchildVerticalAlignment

A.3.10 Audible Warning

The VendorShell has a new resource, XmNaudibleWarning , that can specify whether an audible cue should accompany a warning message. Text widgets determine the value for this resource from the value of XmNaudibleWarning .

A.3.11 Color Enhancements

The following three resources have been added to the XmScreen widget so that users can specify the default background color and thresholds for shadow calculation:

XmNlightThreshold
XmNdarkThreshold
XmNforegroundThreshold

Motif has added the XmChangeColor function that changes the background and other colors for a specified widget.

A.3.12 Baseline Alignment

Motif has added two functions for baseline alignment. The XmWidgetGetBaselines function determines the position of the widget's text baseline. The XmWidgetGetDisplayRect function determines the size and position of the bounding box for the widget's character string.

A.3.13 Expanded Traversal Set

In OSF/Motif Release 1.2, you can use more widgets to support traversal using the keyboard. For example, inside a tab group, users can now use the arrow keys to traverse to all control descendants that are not contained within a nested tab group and that are eligible to receive focus, even if the controls are not direct children of the tab group.

A.3.14 Two-Dimensional Menu Traversal

With OSF/Motif Release 1.2, the left, right, up, and down traversal arrows now navigate within a menupane. The up and down arrow keys wrap between columns. The right and left arrow keys post the previous or next menupane when they are pressed in the rightmost and leftmost column of the menupane, respectively.

A.3.15 Input Focus

OSF/Motif Release 1.2 has added the XmNinitialFocus resource to the Manager class. This resource specifies the first widget to receive input focus. This resource can only specify a widget; it is ignored for all pop-up menus, menubars, option menus, and pull-down menus.

A.3.16 Traversal Access Functions

OSF/Motif Release 1.2 has added the following new functions to support better interaction with keyboard traversal:

XmGetFocusWidget
XmGetTabGroup
XmGetVisibility
XmIsTraversable
XmIsVisible

The XmTrackingLocate function has been modified to do the following:

  • Field all events, not just a button press.
  • Return on any keystroke or button press.
  • Be called for nonsensitive widgets.

In addition, the XmTrackingEvent function has been added. This function is similar to XmTrackingLocate , except that it returns a pointer to the X event.

A.3.17 Virtual Keys

OSF/Motif Release 1.2 has added the XmTranslateKey function that allows applications to override the default XtKeyProc to handle Motif virtual keys.

Motif defines two new virtual keysyms :

osfPageLeft
osfPageRight

You must have the X11 Release 5 XKeysymDB installed in /usr/lib/X11 to use these new virtual keys. Otherwise you get a warning message on application startup. Specify the following information in the XKeysymDB file:

osfPageLeft :1004FF40
osfPageUp :1004FF41
osfPageDown :1004FF42
osfPageRight :1004FF43

To comply with the OSF/Motif Style Guide, the default binding for osfMenu has been changed from <key>F4 to Shift<key>F10 .

In X11 Release 5, the HP keysyms in the XKeysymDB file have the prefix HP. This prefix is not reflected in the HP bindings file in the /bindings directory. If you are using an X11 Release 5 XKeysymDB file, you might see warning messages at application startup. To eliminate these warning messages, add the hp prefix as follows to the appropriate lines in the file:

osfDelete : <key>hpDeleteChar
osfInsert : <key>hpInsertChar
osfPrimaryPaste : <key>hpInsertLine
osfQuickPaste : <key>hpDeleteLine

OSF/Motif Release 1.2 has a new client, xmbind , that sets up the virtual bindings for use by Motif applications. Since virtual binding is automatically set up at Motif Window Manager (MWM) startup, you only need to use xmbind if MWM is not used or if you need to change the virtual bindings without restarting MWM.

Virtual bindings can now be specified by individual vendors. If there is no .motifbind file in the home directory, you can use the xmbind.alias file to provide a mapping from the server vendor name to the bindings file. You can set up user vendor bindings as well as system-wide vendor bindings.


Previous Next Contents Index