[comp.windows.news] full X11R4 support from within OpenWindows 2.0

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.
--------------------------------------------------------------------------------