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 */ /*--------------------------------------------------------------------*/