Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!mintaka!bloom-beacon!eng.sun.COM!dshr From: dshr@eng.sun.COM (David Rosenthal) Newsgroups: comp.windows.x Subject: Re: a question about ICCCM (and dxwm) Message-ID: <9010161722.AA06615@devnull.Eng.Sun.COM> Date: 16 Oct 90 16:59:39 GMT Sender: root@athena.mit.edu (Wizard A. Root) Organization: The Internet Lines: 57 > I set up an unmapped window as a group leader in the ICCCM sense. > > I then construct dialogs as transients for the group leader. > Windows which are transients-for a never-mapped window are likely not to work right under many window managers. You are confusing two mechanisms. Transient-for is for popup dialogs. Window groups are to allow the window manager to operate on a group of related permanent top-level windows. > The ICCCM does not seem deal explicitly with this setting. It does > state that group leaders do not need to be mapped. Correct - Section 4.1.2.4. > I think it allows > window managers to unmap transients for iconified windows, Whether transient-for windows are unmapped when the window they are transient-for is unmapped is a user interface policy decision that different window managers will implement differently. But that isn't what is happening in your case. The window they are transient-for is withdrawn, not iconified. And it never changes state, so there is nothing to trigger the window manager to change the state of the transients. > but it > seems to indicate that a window that is never mapped is supposed to be > considered to be withdrawn, not iconified. > Correct - Section 4.1.4. > 1) is the dxwm behavior consistent with ICCCM in this respect? > I don't think that your program is behaving in a way anticipated by the ICCCM, so it is hard to say what the window manager should do. > 2) Is there some other way I should be setting up these dialogs? > Forget groups. Your application needs at least one real top-level window for which the pop-ups can be transient-for. I would suggest that this should be a window into which the user types your language. > One alternative approach that does not work is to use override > redirect and grab the pointer and keyboard. This does not work for two > reasons: > And as well as not working it violates the ICCCM - Section 4.2.2. > > I have also tried making the dialogs transients for the root window. This again is not anticipated by the ICCCM and is unlikely to work. The root window cannot change state, so there can be no triggers for the window manager to change the state of the pop-ups. David.