Xref: utzoo comp.windows.x.motif:1842 comp.windows.x:32399 Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!clyde.concordia.ca!nstn.ns.ca!news.cs.indiana.edu!arizona.edu!cerritos.edu!usc!cs.utexas.edu!csc.ti.com!ti-csl!m2.csc.ti.com!vlsic2!markus From: markus@vlsic2.ti.com (Markus Richardson) Newsgroups: comp.windows.x.motif,comp.windows.x Subject: Mimicing virtual root under mwm? Message-ID: Date: 1 Feb 91 13:54:20 GMT Sender: usenet@csc.ti.com (USENET News System) Organization: Texas Instruments Inc, VLSI Design Lab, Dallas, TX Lines: 57 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