[comp.windows.x] VMS DECWindows Problem with Window Picking ala xwd

hbrand@lll-crg.llnl.gov (Hal Brand) (01/03/91)

I have tried using the function Select_Window found in
mit/clients/xwd/dsimple.c and this fails when talking to the DEC VMS
monochrome server on a VAXStation 3100 but works just fine with
non-VMS servers. The problem seems to be related to two (2) full
screen size windows (created by ???) that are situated in the window
hierarchy between the root window and all standard application
windows, i.e. the window hierarchy looks roughly like:

	<root window>
	  <Funny full screen window #1>
	    <Funny full screen window #2>
	      <Normal application hierarchy top window>
[Note: Indentation represents parent-child relationship.]
For comparison, on other servers, i.e. my VAX/Ultrix server, I get:
	<root window>
	  <Normal application hierarchy top window>

I have found that if I substitute the window ID of
<Funny full screen window #2> for the root window ID in the call to
XGrabPointer, then Select_Window() works with the VMS server just fine.
However, this is a REAL HACK!

So... Two questions (in order of importance to me):

1) What is the right way to code Select_Window() to work in both environments?

2) Why (oh WHY!) is VMS DECWindows doing this AND who (what application) is
    responsible - and what is gained??

						Hal Brand
						LLNL
						hbrand@lll-crg.llnl.gov

taylort@decus.com.au (Trevor Taylor) (01/11/91)

In article <88647@lll-winken.LLNL.GOV>, hbrand@lll-crg.llnl.gov (Hal Brand) writes:
> I have tried using the function Select_Window found in
> mit/clients/xwd/dsimple.c and this fails when talking to the DEC VMS
> monochrome server on a VAXStation 3100 but works just fine with
> non-VMS servers. 
> [description omitted ...]
> 
> So... Two questions (in order of importance to me):
> 
> 1) What is the right way to code Select_Window() to work in both environments?
> 

As a hack, there is a routine called pseudo_root() which I provided
on the MIT X Clients tape to the DECUS Library back in May last
year. (The order number is VS100). It will work whether the extra
windows are present or not. (The modified Select_Window() routine is 
on the tape too.)

> 2) Why (oh WHY!) is VMS DECWindows doing this AND who (what application) is
>     responsible - and what is gained??

It was a misguided attempt at pseudoroots, which has been
dropped in the next version (DECwindows V3). The window
manager does it. (If you run uwm for instance, the extra
windows are not there -- yes, there is a uwm for VMS, but
that is another story :-))

	Trevor

/*--------------------------------------------------------------------*/
/*    Trevor Taylor               E-Mail: TaylorT@decus.com.au        */
/*    P.O. Box 155                        T.Taylor@praxa.com.au       */
/*    Aspley 4034                 Phone:  +(61) 7 369-8100            */
/*    Australia                   Fax:    +(61) 7 369-0722            */
/*--------------------------------------------------------------------*/