[comp.windows.x] Mimicing virtual root under mwm?

markus@vlsic2.ti.com (Markus Richardson) (02/01/91)

Does any (non-customized) Motif widget/shell provide most of the following?

1) children of primary window can be separately resized, moved, iconified;
2) children are permanently "raised" (primary never obscures children);
3) children are "unmapped" when primary window is iconified and vice versa;
4) inactivate (e.g., XtSetSensitive) any parent widget immediately before
   any children are mapped/managed/displayed;
5) children placement should be relative to parent, not the root window.

What I have attempted up to this point:
   Each child is created as a dialog shell with its direct parent as
   the primary window, a BulletinBoard.  Setting the XmNdialogStyle to
   XmDIALOG_APPLICATION_MODAL does indeed inactivate its parent.
   So requirements #1, #2, and #3 are met.

   Problems:
   ***This approach does not completely fulfill requirement #4.***
   Since it is statically bound to its parent means that I must 
   create and then destroy the dialog shell for each call if two or 
   more parent widgets invoke the same child (is dynamically reparenting 
   only a dream :-) .  Also the parent is inactivated only AFTER the 
   dialog shell is displayed: it would be real nice if it were set 
   insensitive immediately.
   ***This approach does not come close to fulfilling requirement #5.***
   Since all shells initial parent is the root window, specific placement 
   will always be with respect to the root window.

Another approach I have not yet tried:
   Creating all children as Application Shells should provide capability
   #1.  According to ICCCM, using the WM_HINT resource "window_group" 
   should provide me capability #3.  If I explicitly do a 
   XtSetSensitive(w, FALSE) on a given parent, this should provide 
   capability #4 (is there a way to do this automatically short of
   creating a custom widget with this as a defined widget method
   during creation?)

   Given this approach, how do I provide capabilities #2 and #5?


I guess I am trying to mimic a virtual root window for my application.  
Anyone have a spare copy of mwm's counterpart to tvtwm? :-) :-)

Any pointers or help would be much appreciated.

Followups or email are both accepted :-)

I can summarize if enough interest exists.

my config: DECstation 5000 running X11R4.12 and Motif v1.0.A  (RSN v1.1.1 :-)

Thanks for your clues and pointers.

--
Markus R.  (markus@ti.com)

"If people built houses the way we write programs, the first woodpecker 
 would wipe out civilization"  The Cuckoo's Egg by Cliff Stoll

toml@marvin.Solbourne.COM (Tom LaStrange) (02/07/91)

> I guess I am trying to mimic a virtual root window for my application.  
> Anyone have a spare copy of mwm's counterpart to tvtwm? :-) :-)

Yeah, swm :-)

> 
> Any pointers or help would be much appreciated.
> 

If you happen to have a Solbourne system lying around you could try swm.
It does a pretty good job of mwm emulation.  Too bad it's not widely
available (yet).

--
Tom LaStrange        toml@Solbourne.COM

imp@Solbourne.COM (Warner Losh) (02/07/91)

In article <markus.665416460@vlsic2> markus@vlsic2.ti.com (Markus Richardson) writes:
>  (is dynamically reparenting 
>   only a dream :-).

If you use OI, then you can dynamically reparent objects.  This comes
in very handy.

Warner Losh

-- 
Warner Losh		imp@Solbourne.COM
We sing about Beauty and we sing about Truth at $10,000 a show.