davide@maverick.cad.mcc.com (David Eckelkamp) (08/01/90)
Here's a question that I hope someone can help me with. There is a window that has a "window state" of withdrawn. Is there any way to get that window un-withdrawn? Here are the specifics. We are running the OpenWindows 2.0 FCS server with R4 twm on Sun4s with SunOS 4.0.3. The window in question is from GNU Emacs. I can get the window id by using xlswins. Then I used xprop to get the properties. In the WM_STATE list the "window state" is Withdrawn. The Emacs window was open an working normally before it disappeared. The user doesn't remember exactly what he was doing when it disappeared but when it has happened to me, I had just iconified the window. The twm function f.iconify is bound to one of the Sun function keys, namely F7. This is second instance of this disappearing window trick for this particular user. The first instance was with xrn. After the window disappeared, he tried to kill xrn. When he did, twm asked him to place the xrn window on screen like it was an initial window. Then xrn brought up the "kill confirmation" dialog box. At this point xrn was going to die, but the window did reappear, however briefly :-) Can anybody shed some light on this problem. I would really love some way to get the window back without killing the application. Thanks for what ever help you can supply. David Eckelkamp eckelkamp@mcc.com cs.utexas.edu!milano!cadillac!davide
mouse@LARRY.MCRCIM.MCGILL.EDU (08/10/90)
> Here's a question that I hope someone can help me with. There is a > window that has a "window state" of withdrawn. Is there any way to > get that window un-withdrawn? According to the ICCCM, o Withdrawn -> Normal. The client should map the window with WM_HINTS.initial_state being NormalState. o Withdrawn -> Iconic. The client should map the window with WM_HINTS.initial_state being IconicState. o Normal -> Iconic. The client should send a client mes- sage event as described below. o Normal -> Withdrawn. The client should unmap the window, and follow it with a synthetic UnmapNotify event as described below. o Iconic -> Normal. The client should map the window. The contents of WM_HINTS.initial_state are irrelevant in this case. o Iconic -> Withdrawn. The client should unmap the window, and follow it with a synthetic UnmapNotify event as described below. I'm not including the "described below" stuff here; see the ICCCM for that. In your particular case, you may need to throw together a small program to call XMapWindow (possibly poking the WM_HINTS property first) with a window ID taken from the command line, since the problem is that the client isn't taking care of things itself. der Mouse old: mcgill-vision!mouse new: mouse@larry.mcrcim.mcgill.edu