Previous | Contents | Index |
If the Hold Screen key response time is too slow, add the following lines to your DECW$TERMINAL_DEFAULT.DAT file:
DECW$TERMINAL.main.terminal.syncFrequency: 1 DECW$TERMINAL.main.terminal.batchScrollCount: 1 |
Using this resource can affect the performance of the DECterm window.
The actual impact on performance varies from site to site. You can
trade off scrolling speed to hold-screen response time. A faster
hold-screen response results in a slower scrolling speed. The default
values for these resources are 10 and 0, respectively.
5.4 Managing DECwindows Motif for OpenVMS Systems
This section contains documentation enhancements and corrections to the
Managing DECwindows Motif for OpenVMS Systems manual.
5.4.1 Global Symbols
V1.2--3
The following additional global symbols are available in the Compaq DECwindows Motif for OpenVMS product:
For information about using these symbols, refer to Section 3.4.1.1 in
these Release Notes. Refer to the chapter "Using DECwindows"
in Managing DECwindows Motif for OpenVMS Systems for the complete list of global symbols.
5.4.2 Security Options
In the Session Manager Security Options dialog box, place the node name within quotation marks if the name contains any of the following:
Session Manager automatically adds quotation marks to the node name if they are needed, unless the node name begins with a double quotation mark. If the node name begins with a double quotation mark, Session Manager assumes that the user has already quoted the node name and does not change it.
Within a quoted string, a double quotation mark should be replaced by two double quotation marks (" "). For example, the quoted string "DEC:.zko."my node"" should be changed to the following:
("DEC:.zko.""my node"""). |
By default, if there is no DECwindows Motif license registered for the SYSTEM account, DECwindows does not display customized login logos. This is a problem on systems with DECwindows Motif personal-use licenses that do not include SYSTEM on the list of authorized DECwindows users.
To display a customized logo without a DECwindows Motif license for SYSTEM, add the following definition to the SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COM file:
$ DECW$LOGINLOGOSUB == "TRUE" |
If the SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COM file does not exist, copy it from the file SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.TEMPLATE. |
After editing the setup file, restart DECwindows Motif using the following command:
$ @SYS$MANAGER:DECW$STARTUP RESTART |
DECwindows Motif login starts the logo process as a subprocess instead
of as a detached process. The license check sees that the logo process
is a child of the login process and that the X connection is opened.
5.4.4 Enabling and Disabling Access Control
DECwindows Motif does not enable access control by default. Instead, it uses the access control set by the server. The DECwindows X11 display server enables access control at startup time.
To force the DECwindows Session Manager to enable or disable access control explicitly at login time, you can define one of the following logical names:
$ DEFINE/SYSTEM/EXECUTIVE DECW$LOGIN_ACCESS_CONTROL ENABLE $ DEFINE/SYSTEM/EXECUTIVE DECW$LOGIN_ACCESS_CONTROL DISABLE |
If the logical name is not defined, or if it is defined to some other value, such as "SERVER", DECwindows login neither enables nor disables access control.
In most cases, it should not be necessary to define the logical name.
5.5 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.
5.5.1 GET_CHAR_STRUCT Function
V1.2--3
The access related to the char_struct argument for the XLIB
GET_CHAR_STRUCT function is incorrectly documented. The correct access
is write.
5.6 VMS DECwindows Guide to Xlib (Release 4) Programming: VAX Binding
V1.2
Example 1-1 in the VMS DECwindows Guide to Xlib (Release 4) Programming: VAX Binding is incorrect. To correct the problem, change the following two lines in the section "Create the WINDOW_1 window":
WINDOW_1X = (X$WIDTH_OF_SCREEN(DPY) - WINDOW_1W) / 2 WINDOW_1Y = (X$HEIGHT_OF_SCREEN(DPY) - WINDOW_1H) / 2 |
The example should read as follows:
WINDOW_1X = (X$WIDTH_OF_SCREEN(SCREEN) - WINDOW_1W) / 2 WINDOW_1Y = (X$HEIGHT_OF_SCREEN(SCREEN) - WINDOW_1H) / 2 |
Example 3-1 in the VMS DECwindows Guide to Xlib (Release 4) Programming: VAX Binding is incorrect. To correct the problem, change the following two lines:
WINDOW_1X = (X$DISPLAY_WIDTH_OF_SCREEN(SCREEN) - WINDOW_1W) / 2 WINDOW_1Y = (X$DISPLAY_HEIGHT_OF_SCREEN(SCREEN) - WINDOW_1H) / 2 |
The example should read as follows:
WINDOW_1X = (X$DISPLAY_WIDTH_OF_SCREEN(DPY) - WINDOW_1W) / 2 WINDOW_1Y = (X$DISPLAY_HEIGHT_OF_SCREEN(DPY) - WINDOW_1H) / 2 |
This section lists documentation corrections and enhancements for the
DECwindows Extensions to Motif document.
5.7.1 DXmNlayoutDirection Resource Constants
V1.2--3
The section on DXmNlayoutDirection Resource in Chapter 2 lists the following constants:
Note that the following constants are not currently available for the DXmNlayoutDirection resource:
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."
5.8 DECwindows Motif Guide to Application Programming
This section lists documentation corrections and enhancements for the
DECwindows Motif Guide to Application Programming manual.
5.8.1 UIL Source Code for the OpenVMS DECburger Application
V1.2--3
The introduction to the section in Chapter 4 called "Creating the
Help Widget with UIL", which introduces Example 4--6, "UIL
Help Widget Implementation," does not clearly state that the
complete UIL source code for the OpenVMS DECburger application is
included in DECW$EXAMPLES on OpenVMS systems.
5.8.2 Help Widget Implementation Code
V1.2--3
In 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)"
5.8.3 Help Widget Implementation---Callbacks
V1.2--3
The title of Example 4-8 should read as follows:
"Help Widget Implementation---Callbacks (DECburger.C
continued)"
5.8.4 Using UIL to Create the Help Widget
V1.2--3
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.
To summarize, the documentation should state the following information:
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 OSF/Motif applications. Most of the notes describe changes made for OSF/Motif Release 1.2. The first two notes discuss performance improvements and information about backward compatibility.
These release notes support the OSF/Motif software currently provided
with the Compaq DECwindows Motif for OpenVMS product.
A.1 Performance Improvements
The Open Software Foundation 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:
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:
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:
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 |
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.
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. |
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:
OSF/Motif Release 1.2 has made other visual changes as follows:
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:
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:
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:
The XmTrackingLocate function has been modified to do the following:
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:
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 |