[comp.windows.x] multiple window applications & window managers

mss+@ANDREW.CMU.EDU (Mark Steven Sherman) (12/10/87)

We have an application that uses several top-level windows: our mail system. 
One window holds the list of messages and current message while another is 
used for composing replies. The second one is popped up and down under program 
control (there are lots of options, but essentially, when you say "reply" it 
pops up and when the message has been succesfully sent it goes away).  We 
implement the "hide" by unmapping the window (we create and map it the first 
time it is asked for and remap it thereafter as necessary). No window manager 
we have tried this with behaves very well. Some die in various ways 
(segmentation faults, input focus disappears forever, other failure modes). 
Some cause both windows to become unmapped when the unmap request is made on 
the reply window and then cause the first window (which was not unmapped) to 
be remapped and reexposed (causing quite a flash in the process). After the 
screen has settled down, sometimes we can continue with the first window, 
sometimes not. No one seems to just drop the one window that was unmapped.

Another program, our basic editor, allows multiple windows be opened 
simultaneously and deleted, under program control. The window destruction 
operation causes similar flashing/crashing effect -- everything goes away and 
the remaining windows get remapped and redrawn.

My questions are 1) is there something more rational than merely doing an 
unmap or destroy to get rid of the window (as appropriate) and 2) is there an 
inherint reason why every window manager seems to do this (does no other 
application have >1 top level window?) or is there something missing in the 
protocol to let a window manager behave more rationally?
		-Mark

RWS@ZERMATT.LCS.MIT.EDU (Robert Scheifler) (12/10/87)

    Date: Wed,  9 Dec 87 16:13:59 -0500 (EST)
    From: Mark Steven Sherman <mss+@andrew.cmu.edu>

								No window manager 
    we have tried this with behaves very well.

I spent a few minutes using CLX to experiment with two windows.  I can
find no problems under uwm.  (The latest) wm definitely gets confused
about the unmap (no icon appears) and remap (frame comes back, but no
window inside).  Of course, I don't know what properties you have set on
the windows (I didn't set any), and how that might affect the results.
As usual, lack of information is likely to produce lack of results
(perhaps you could produce a simplified program to demonstrate the
problem).

    My questions are 1) is there something more rational than merely doing an 
    unmap or destroy to get rid of the window (as appropriate)

No.

								and 2) is there an 
    inherint reason why every window manager seems to do this

Shouldn't be.