rodgers@maxwell.mmwb.ucsf.edu (ROOT) (11/09/90)
Dear Netlanders,
Several weeks ago we posted a query as to how to gain full access to X11R4
applications under OpenWindows 2.0. At that time, we couldn't get network-
posted X11 code to compile and run. There was considerable interest in our
posting, so we take a few moments to share the solution we have devised.
There are numerous obvious variations possible on the strategy presented below.
With it, we have been able to compile and use all of the X11 code we have
thus far tried.
Comments and improvements upon this scheme will be welcomed.
Cheerio, Rick Rodgers
--------------------------------------------------------------------------------
R. P. C. Rodgers, M.D. (415)476-8910 (work) 664-0560 (home)
UCSF Laurel Heights Campus UUCP: ...ucbvax.berkeley.edu!cca.ucsf.edu!rodgers
3333 California St., Suite 102 ARPA: rodgers@maxwell.mmwb.ucsf.edu
San Francisco CA 94118 USA BITNET: rodgers@ucsfcca
--------------------------------------------------------------------------------
7 November 1990:
1) To support missing X11 libraries:
1) Copied the lib, man, and include subtrees (and selected applications and
other files) from another machine of identical architecture, placing them
in a local tree called /site/subsys/X11R4.
2) Created soft links from the OW lib subtree into the X11R4 lib subtree,
for libraries apparently missing from the OW set. Although several
Sun documents report that you should NOT mix X11 and OW libraries, both
our local sales office software engineer and we have found this workable.
This is the list of files appearing only in the X11 subtree (at our
site; this will vary depending upon which versions you have on hand):
libX11.so.4.2
libXaw.a
libXaw.so.4.0
libXdmcp.a
libXinput.a
libXmu.a
libXmu.sa.4.0
libXmu.so.4.0
(Although we have elected to retain the entire X11 lib subtree in
parallel with the OW lib subtree, one could retain JUST the missing
libraries, either copying them or linking them into the OW lib subtree).
3) Created links for include directories:
cd /usr/include
ln -s /site/subsys/openwin/include/X11 X11
ln -s /site/subsys/X11R4/include X11R4
ln -s /site/subsys/openwin/include/Xol Xol
2) Add man directory for X11 man subtree to MANPATH environment variable
if desired.
3) Add lib directories for OW and X11 lib subtrees to LIBPATH environment
variable if desired (we list OW first).
4) When building X11 applications, be certain that the application accesses
the right X11 include directory. Links to the X11 and Xol include directories
from the MIT X11 set were created in /usr/include.
5) As OW 2.0 is ICCCM compliant, and some X applications are not, you should
take note of the following work-around. Failing to set the
"OpenWindows.FocusLenience" value to true may result in an application
complaining about not being able to listen to the keyboard.
From Charles.Tierney@West.Sun.COM Tue Nov 6 14:50:53 1990
To: rodgers@maxwell.mmwb.ucsf.edu
Subject: OLWM hints
Date: Sat, 11 Aug 90 13:04:05 PDT
| Problem Definition:
| Xlib application doesn't get keyboard focus.
|
| Hardware Platforms : all
|
| Recommended Solution:
| The application is probably not ICCCM compliant and is unable
| to work well with our ICCCM compliant window manager - olwm.
|
| To get a keyboard focus the application needs to set the
| window manager hints as following :
|
| XWMHints wmhints;
|
| wmhints.input = True;
| wmhints.flags = InputHint;
| XSetWMHints(display, window, &wmhints);
|
|
| This information is documented in the Xlib Programming Manual,
| volume 1 of the O'Reilly manuals, in the Interclient Communication
| chapter, section 10.2.3 : "Additional Window Manager Hints".
|
| The root cause for this problem is that the Xlib application would
| run fine on the MIT server/wm and other servers/wm's which
| are not ICCCM compliant, so the customers assume something wrong
| with our server - which is NOT true.
|
| This information applies only to Xlib applications, XView and
| Xt+ toolkits set this hints by default.
|
| If the Xlib application is a 3rd party application, the customer
| should call the other vendor and ask him to make it ICCCM compliant.
All of this is certainly true, but I hope we are also suggesting to
callers that they try setting the "OpenWindows.FocusLenience" resource
to "true" in their .Xdefaults file. For many this will prove an
acceptable interim solution. It is documented in the olwm man page.
--------------------------------------------------------------------------------