ptx/XWM V4.6.3 is the DYNIX/ptx® implementation of X Window SystemTM X11R6.5.1 and OSF/Motif® V2.1.30. It replaces all previous ptx/WINDOWS products.
ptx/XWM consists of two products:
ptx/XWM V4.6.3 installed on DYNIX/ptx V4.6 requires that the following products be installed:
DYNIX/ptx V4.6.1 or later
ptx/BaseComms V1.3.0 or later
ptx/LAN V4.8.0 or later
ptx/TCP/IP V4.7.1 or later
ptx/XVM V4.6.3 installed on DYNIX/ptx V4.5 requires that the following products be installed:
DYNIX/ptx V4.5.2 or later
ptx/BaseComms V1.2.0 or later
ptx/LAN V4.7.1 or later
ptx/TCP/IP V4.6.2 or later
ptx/XWM applications can be used with any of the following X display servers:
X terminal
Workstation
PC with X display-server software
ATTENTION ptx/XWM does not include an X display server.
ptx/XWM complies with the following standards:
ANSI C.
X Window System Version 11 Release 6 (X11R6.5).
X/Open Portability Guide, Issue 4 (XPG4), as validated by the Verification Suite for Windows (VSW5).
OSF/Motif Release V2.1.30, validated with the OSF/Motif Validation Test Suite (VTS Release 1.1), with no waivers.
AES/UE from the Open Software Foundation, Inc.
C2 Security Level, added to the ptx/XWM implementation of xdm.
The Inter-Client Communication Conventions Manual (ICCCM) standard, which defines the interaction of X client programs.
When compiling, linking, or running new applications, the new ptx/XWM X11R6 libraries are used by default. The older X11R5 and Motif 1.2 libraries are provided for runtime compatibility with older binaries. If you need to link exclusively with the older X11R5 and Motif 1.2 libraries, they are provided in /usr/X11R5/lib.
You do not need to make any changes to your environment to do the following:
Use the new shared libraries for runtime or linking of new binaries.
Use the old runtime libraries for old binaries.
ATTENTION The -Wc,+abi-socket option can no longer be used to create a .o file; however, it can still be used to link old object files with X11R5 libraries.
The cc option -L/usr/X11R5/lib is used to link old object files compiled using ptx/WINDOWS V4.2.x or V4.4.x with the old X11R5 and Motif 1.2 libraries.
To continue linking with the X11R5 ABI+ libraries using -Wc,+abi-socket, set the environment variable __SEQUENT_CC__ to -L/usr/X11R5/lib.
ATTENTION Do not compile new *.o object files using ptx/XWM V4.6.2 (X11R6.5 and Motif 2.1) header files and then use -L/usr/X11R5/lib to link the new binary with older ptx/WINDOWS V4.4.1 (X11R5 and Motif 1.2) libraries. The resulting binary can produce unpredictable results and is not supported. You may see warnings or errors when attempting to create this link, but such warnings and errors are not guaranteed. The -L/usr/X11R5/lib option should be used only when linking old *.o object files compiled with ptx/WINDOWS V4.2.x or V4.4.x.
The -L/usr/X11R5/lib option can be specified either on the cc command line or with the _SEQUENT_CC_ environment variable.
The valid cc command-line options are as follows:
-L/usr/X11R5/lib -Wc,+abi-socket
-L/usr/X11R5/lib -Wc,+bsd-socket
The environment variable is set as follows (the examples are for the C shell):
setenv _SEQUENT_CC_ "-L/usr/X11R5/lib -Wc,+abi-socket"
setenv _SEQUENT_CC_ "-L/usr/X11R5/lib -Wc,+bsd-socket"
We recommend that you use one of the above pairs of options/environment variables (either ABI or BSD) for linking because they use one of the following files if a compile is attempted:
Because the cc option pair specified in these files defines an illegal socket version to force a compiler error, the command-line options and environment variables described above are recommended over the single default option (-L/usr/X11R5/lib) or environment variable (setenv LD_LIBRARY_PATH /usr/X11R5/lib).
If you are creating a new binary, or using one of the above option/environment variable pairs to link old *.o object files to create a binary, it is often useful to run ldd to determine the shared libraries to which your binary is dynamically linking at run time:
ldd binary_name
The X11R5 libraries must be linked dynamically. Makefiles or scripts that link with X11R5 libraries in the directory /usr/X11R5/lib and attempt to link any libraries statically with -Bstatic must also specify -Bdynamic for the X11R5 libraries.
To link X11R5 libraries, you must either specify a cc command line option or set an environment variable as described in the previous section. In addition, either allow the dynamic libraries to be linked by default, or, if any other libraries are linked statically with -Bstatic, use -Bdynamic before linking the Motif and X11 libraries. Following are some examples.
Link all libraries dynamically by default:
cc ... -luserlib1 ... -lMrm -lXm -lXt -lXext -lX11 ...
Link initial libraries statically and the remaining libraries dynamically:
cc ... -Bstatic -luserlib1 ... -Bdynamic -lMrm -lXm
-lXt -lXext -lX11 ...
Link libraries before and after the X11R5 libraries statically; link the X11R5 libraries dynamically:
cc ... -Bstatic -luserlib1 ... -Bdynamic -lMrm -lXm
-lXt -lXext -lX11 -Bstatic ...
Refer to the DYNIX/ptx and Layered Products Software Installation Release Notes for information about installing ptx/XWM. If ptx/WINDOWS is currently installed on your system, be sure to review the upgrade issues, described under "ptx/XWM" in Chapter 2 of the DYNIX/ptx and Layered Products Software Installation Release Notes, before you begin the installation.
This release of ptx/XWM contains an upgraded version of X11R6. The new version, X11R6.5.1 fixes 77 defects found in the previous version, X11R6.5.0.
This release of ptx/XWM includes upgraded versions of both X11R6 and Motif. The new version X11R6.5 fixes 100 defects found in the previous version, X11R6.4. The new version Motif 2.1.30 fixes 122 defects found in the previous version, Motif 2.1.20.
This release also includes a new Motif program, mgdiff, which is a graphical file comparison and merging tool based on the diff command.
This release of ptx/XWM included Motif 2.1.20, which fixed 112 defects found in the previous version, Motif 2.1.10.
This release of ptx/XWM provides bug fixes and support for threads.
The following changes have been made to support threads:
Motif is thread-safe.
The Motif Xm and Mrm libraries are thread-safe enabled. This means that the libraries themselves are thread-safe and a multi-threaded application need not do explicit locking when accessing these libraries.
Xlib supports multi-threaded access to a single display connection. Xlib functions lock the display structure, causing other threads calling Xlib functions to be suspended until the first thread unlocks. Threads inside Xlib that are waiting to read to or write from the X server do not keep the display locked. For example, a thread hanging on XNextEvent will not prevent other threads from doing output to the server.
The entire Xt library is thread-safe. It allows one thread at a time to enter the library and protects global data as necessary from concurrent use.
A new header file /usr/include/X11/Xthreads.h provides a platform-independent interface to threads functions on various systems. Include it instead of the system threads header file. Use the macros defined in it instead of the system threads functions.
/usr/include/X11/Xos_r.h is a new header file to promote portable source code using thread-safe implementations of getpwnam, getpwuid, gethostbyname, gethostbyaddr, and getservbyname. It is not required by any X Consortium standard.
Multi-threaded programs can often just include Threads.tmpl in their Imakefile to get the correct compile-time defines and libraries. This applies to programs that use imake to generate the Makefile.
The following X11 functions are provided to support threads. See the man pages for details.
XInitThreads
XLockDisplay
XUnlockDisplay
XtAppSetExitFlag
XtAppGetExitFlag
XtToolkitThreadInitialize
The following X11 functions are affected when Xlib has been initialized for threads. See the man pages for details.
In previous releases of ptx/XWM and ptx/WINDOWS, it was recommended that the NBLK* and NFILE tunable parameters be increased. In DYNIX/ptx V4.5, the manner in which these parameters are calculated was changed. It is no longer necessary to increase these parameters for ptx/XWM; however, you still may choose to do so. For details, see the ptx/XWM Administration Guide.
The ptx/XWM V4.5.3 release contains the same content and defect fixes as ptx/XVM V4.6.3. The difference is that ptx/XWM V4.5.3 is intended to be installed only on the DYNIX/ptx V4.4.7 system. This is because the ptx/XWM V4.5.3 libraries are not built with threads support and are therefore not intended to be installed on DYNIX/ptx V4.5 or V4.6. Use ptx/XWM V4.6.3 when installing on DYNIX/ptx V4.5 or V4.6.
ptx/XWM continues to use the versions of xdm and xterm that were provided with ptx/WINDOWS V4.4.1. These versions have been customized to work properly on NUMA systems.
The following xdm features were added in the X11R6 release and are not supported in ptx/XWM:
The choiceTimeout resource, which controls how long to wait for a display to respond after the user selects a host from the chooser.
The greeter library, which allows xdm to load different dynamic libraries at run time to provide different login window interfaces.
The greeterLib resource, which controls the name of the greeter library.
The ability to use the user's login password to obtain the initial Kerberos tickets and store them in a local credentials cache file.
In a future release, both xdm and xterm will be replaced with X11R6 versions that include the ptx/XWM customizations.
Many files and utilities have been modified in Motif 2.1 and X11R6, as described later in these release notes. Following are some additional changes that you should be aware of:
Default $HOME/.Xdefaults file
The X11R5 .Xdefaults user configuration file was renamed in X11R6 to .Xresources. The ptx/XWM default $HOME/.Xdefaults file (/usr/admin.ptx/etc/base.dir/.Xdefaults), which was used when creating new user accounts, will be removed during the ptx/XWM installation. If you have made any modifications to the default /usr/admin.ptx/etc/base.dir/.Xdefaults file, be sure to save it before you begin the ptx/XWM installation. When the installation is complete, you can merge your changes into the new /usr/admin.ptx/etc/base.dir/.Xresources file.
Users who have a $HOME/.Xdefaults file in their home directories can continue to use the file; it will work in the same manner as in previous releases of ptx/WINDOWS.
Default .mwmrc files
The default $HOME/.mwmrc file (/usr/admin.ptx/etc/base.dir/.mwmrc) and the system-wide .mwmrc file (/usr/lib/X11/system.mwmrc) have been replaced by the Motif 2.1 version of .mwmrc. The new .mwmrc file renames certain menu items, particuarly on the root menu. Also the DefaultWindowsMenu is commented out in the file so that users get the built-in default menu.
If you want to modify the .mwmrc file for your site, be sure to make the changes in both /usr/admin.ptx/etc/base.dir/.mwmrc and /usr/lib/X11/system.mwmrc.
NewWindowsUser utility
This utility has been removed. Use ptx/ADMIN to add new users to your system.
A new icon directory, /usr/include/X11/icons, is now available.
When you compile source code that includes ptx/XWM X11 and Motif header files, you must define -DSVR4.
X11R6 includes the following new features and implementation changes:
Support for new standards
Support for other extensions
Improved support for Internationalization
Changes to libraries
Changes to the font server and font library
New and modified commands
For details about these changes, see Chapter 2.
Motif 2.1 contains the following new features and changes:
Window manager enhancements
New widgets and enhancements to existing widgets, including convergence with CDE
Extensibility framework to ease application and widget development, including the Traits mechanism and documented Xme functions
Support for the new X Print Services library (libXp)
General toolkit enhancements, including Uniform Transfer Module (UTM) functions for simplified data transfer
Performance and memory usage improvements
Internationalization enhancements for vertical text, "on-the-spot" input, and user defined characters for Asian languages
For details about these changes, see Chapter 3.
Table 1-1 lists source incompatibilities that exist between Motif 1.2 and Motif 2.1. When porting source code to Motif 2.1, you must replace or remove the Motif 1.2 header files specified in the table.
Motif 1.2 |
Motif 2.1 Replacement |
#include <Xm/ColorObj.h> |
#include <Xm/ColorObjP.h> |
#include <Xm/CutPasteP.h> |
#include <Xm/CutPaste.h> |
#include <Xm/Editres.h> |
Obsolete; remove and attempt to compile |
#include <Xm/WorldP.h> |
Obsolete; remove and attempt to compile |
#include <Xm/RCUtilsP.h> |
#include <Xm/RCLayoutP.h> or #include <Xm/RCMenuP.h> |
ptx/XWM V4.6.3 contains X11R6.5.1, which fixes 77 defects found in X116.5.0.
The following problems have also been fixed:
ptx/XWM V4.6.2 contains X11R6.5.0, which fixes 100 defects found in X116.4. This release of ptx/XWM also includes Motif 2.1.30, which fixes 122 defects found in Motif 2.1.20.
The following problems have also been fixed:
ptx/XWM V4.6.1 contains Motif 2.1.20. This version of Motif fixes 112 defects that existed in Motif 2.1.10. The fixes affect the Xm library, the uil compiler, and the mwm window manager.
The following problems have also been fixed:
Over 800 bugs that existed in X11R5 have been fixed in the X11R6 through X11R6.4 releases. Over 500 bugs that existed in Motif 1.2.5 have been fixed in Motif 2.1.10.
The ptx/XWM V4.6.0 release has fixed 53 additional problems in X11R6 and Motif 2.1, including the following.
Workaround.
When you are searching for man pages with multiple topics, the Manual Page selection on the xman Options menu does not find the man page if it is not the main topic.
The Apropos selection on the xman Options menu lists all topics that share the man page. For example, the commands bitmap, bmtoa, and atobm share a man page. The main topic of the page (the topic listed in the title line) is bitmap. If atobm is entered as the search string, Manual Page does not find the man page. Apropos works correctly.
Workaround. Use Apropos to find the main topic for the man page. Then use that topic for a new search using Manual Page.
The built-in bindings and the default /usr/lib/X11/system.mwmrc file bind the f.maximize action to function key F10. On X terminals with fewer than ten function keys, the following error message appears when mwm is started:
mwm: Invalid accelerator specification on line 7 of specification string
Workaround. Change the system.mwmrc file to map f.maximize to a key that appears on all X terminal keyboards.
When mwm is killed or dies unexpectedly, it is possible that no window will have the keyboard focus.
Workaround. To get the focus in an xterm window, move the mouse pointer to that window and press Ctrl-mouse_button-1. This brings up the xterm Main Options menu. Select Secure Keyboard from this menu to get the keyboard focus. After restarting the window manager, release the keyboard focus from that window by again selecting Secure Keyboard from the Main Options menu in that window.
Or, to stop mwm without losing focus, type one of the following commands:
$ kill SIGINT mwm_pid
$ kill -1 mwm_pid
The man pages for many of the toolkit clients state that when reverse video is turned on, the foreground and background are swapped. This is misleading, because if a color resource is set to something other than the default, it may not be affected by reverse video.
For example, in xterm, if the foreground is set to blue and the background is not explicitly set (the default is white), use of reverse video will result in an xterm with a black background and a blue foreground. The problem occurs no matter how reverse video is turned on (for example, with the -rv or -r command line options, or by setting the reverseVideo resource to "on" in a defaults file).
Workaround. When xterm is displayed, pop up the VT Options menu. With the pointer in the xterm window, press Ctrl-mouse_button-2 and then select the menu item Enable Reverse Video.
Typically xdm sends a ping packet every 5 minutes and the timeout period is five minutes. If the TELNET session or the NCD 2.4 setup window is up for more than five minutes, the NCD will not respond to the xdm ping and xdm may close the session. If it is up for more than ten minutes, xdm will close the session.
Workaround. Increase the pingInterval and pingTimeout resources. For more information, refer to the xdm(1) man page.
You can also avoid losing an xdm session by setting certain X display server xdm (XDMCP) parameters. For example, for NCD X terminals, use the following parameters:
NCD 2.4: Dead Session Detection: Off NCD 2.4: Action on Failure: Persist NCD 3.1: What to do when xdm disconnects: prompt
In some rare cases, mwm can fail if too many X11 programs are creating X11 windows to be managed all at once. For example, this problem has been noticed if the user simultaneously attempts to create unlimited windows by repeatedly invoking the command ico.
Workaround. This problem is not likely to occur during a normal user session when the user manually invokes X11 programs that create a reasonable number of windows to be managed by mwm, and the user does not attempt to create all of those windows simultaneously. Thus this problem is not expected to be seen by a normal user.
A workaround is to force a delay by invoking sleep 1 after each X11 program that is creating windows.
The following documentation is available on the documentation CD or at http://webdocs.numaq.ibm.com/:
ptx/XWM Administration. In addition to information about ptx/XWM, this document includes a list of recommended books from other publishers and pointers to documentation available on the Internet.