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