[comp.windows.x] Motif application running slowly on Open Windows. Why?

mking@lll-crg.llnl.gov (Marianne King) (06/05/91)

I am programming an application using the Motif Toolkit.  The
application runs on top of Open Windows.  When a user selects an option
from one of my pull down menus, the appropriate popup dialog widget
appears.  The first time I select a particular command (lets call it A)
the appropriate dialog widget appears quickly.  Subsequent selections
of command A results in the appropriate dialog widget appearing very
slowly.  I know Open Windows is slow, but this is ridiculous.
I want to know why this happens and if there is any way to fix it.

By the way I ran my application on top of mwm.  The problem I just
described does not happen.  However, I need to run my application
on Open Windows.

Thanks for the help.


Marianne E. King
Lawrence Livermore National Laboratory
mking@lll-crg.llnl.gov
(415) 423-4116 

mayer@hplabs.hpl.hp.com (Niels Mayer) (06/05/91)

In article <98745@lll-winken.LLNL.GOV> mking@lll-crg.llnl.gov (Marianne King) writes:
|I am programming an application using the Motif Toolkit.  The
|application runs on top of Open Windows.  When a user selects an option
|from one of my pull down menus, the appropriate popup dialog widget
|appears.  The first time I select a particular command (lets call it A)
|the appropriate dialog widget appears quickly.  Subsequent selections
|of command A results in the appropriate dialog widget appearing very
|slowly.  I know Open Windows is slow, but this is ridiculous.
|I want to know why this happens and if there is any way to fix it.

I haven't tried Motif under "Open" Windows, but I have seen problems
with some window managers (e.g. very old (r2 or r3) versions of twm).
I'm not sure whether the problems you're seeing with "Open" Windows is
due to lack of ICCCM compliance, or whether Motif is expecting special
wm behavior. 

So, perhaps try changing the *waitForWm or *wmTimeout resources.
Currently wmTimeout defaults to a 5 second timeout, which may be the
slowness you're seeing. 

From WMShell(3X) man page:

     XmNwmTimeout       XmCWmTimeout       int       5000 ms                 CSG

          XmNwmTimeout
               Specifies the length of time that the Intrinsics waits
               for the window manager to respond to certain actions
               before assuming that there is no window manager
               present.  The value is in milliseconds and must not be
               negative.

     XmNwaitForWm       XmCWaitForWm       Boolean   True                    CSG

          XmNwaitForWm
               When True, specifies that the Intrinsics waits the
               length of time given by the XmNwmTimeout resource for
               the window manager to respond to certain actions before
               assuming that there is no window manager present.  This
               resource is altered by the Intrinsics as it receives,
               or fails to receive, responses from the window manager.

>However, I need to run my application
>on Open Windows.

That's too bad... :-)

-------------------------------------------------------------------------------
	    Niels Mayer -- hplabs!mayer -- mayer@hplabs.hp.com
		  Human-Computer Interaction Department
		       Hewlett-Packard Laboratories
			      Palo Alto, CA.
				   *