[comp.windows.x] mystery window unseen by twm

holtz@csmil.umich.edu (05/26/89)

I'm maintaining an application a version of which runs under X.
When I run it with twm, twm won't titlebar it, move/resize/iconify/
focus-on/force-move it, etc.; about all it will do is send it refresh
requests with f.winrefresh, and raise/lower other windows above/below
it.  By contrast, uwm will treat it as a normal window, except for
the curious phenomenon that if the mouse buttons are
bound in the _icon_ context, uwm intercepts them inside the
application's _window_.

My guess is this problem has something to do with window parenting;
can anyone give me a better diagnosis before I dig into the X part
of the application's code?

klee@chico.pa.dec.com (Ken Lee) (05/26/89)

> When I run it with twm, twm won't titlebar it, move/resize/iconify/
> focus-on/force-move it, etc.; about all it will do is send it refresh
> requests with f.winrefresh, and raise/lower other windows above/below
> it.

I've found that TWM will ignore windows with override-redirect or transient attributes set.  It will also ignore windows you request it to ignore in your .twmrc file.  I think UWM treats transient windows differently, so this is probably what is ha

toml@Solbourne.COM (Tom LaStrange) (05/27/89)

From article <1449@bacchus.dec.com>, by klee@chico.pa.dec.com (Ken Lee):
>> When I run it with twm, twm won't titlebar it, move/resize/iconify/
>> focus-on/force-move it, etc.; about all it will do is send it refresh
>> requests with f.winrefresh, and raise/lower other windows above/below
>> it.
> 
> I've found that TWM will ignore windows with override-redirect or
> transient attributes set.

twm doesn't really ignore override-redirect windows, it never sees
them get mapped, hence they never get reparented.  If you put
DecorateTransients in your .twmrc file, transient windows will be
reparented just like any other window.  The next (X11R4) version of
twm will by default, reparent transient windows.

> It will also ignore windows you request
> it to ignore in your .twmrc file.  I think UWM treats transient windows
> differently, so this is probably what is ha

I assume you are referring to the NoTitle list?  This list simply causes
twm to not place a title bar on the window.  The client window is still
reparented.  You cannot tell twm to not reparent specific windows.

--
Tom LaStrange

Solbourne Computer Inc.    ARPA: toml@Solbourne.COM
Longmont, CO               UUCP: ...!{boulder,nbires,sun}!stan!toml

envbvs@epb2.lbl.gov (Brian V. Smith) (05/27/89)

In article <1284@imelda.Solbourne.COM>, toml@Solbourne.COM (Tom LaStrange) writes:
> From article <1449@bacchus.dec.com>, by klee@chico.pa.dec.com (Ken Lee):

 [ some deleted ]

> > I've found that TWM will ignore windows with override-redirect or
> > transient attributes set.
> 
> twm doesn't really ignore override-redirect windows, it never sees
> them get mapped, hence they never get reparented.  If you put
> DecorateTransients in your .twmrc file, transient windows will be
> reparented just like any other window.  The next (X11R4) version of
> twm will by default, reparent transient windows.

What about X10 windows going through x10tox11?  Can twm be made to 
reparent these windows?
It is very frustrating to not be able to do anything to these windows.
We still have a few applications (xbiff for one) that are from X10.

_____________________________________
Brian V. Smith    (bvsmith@lbl.gov)
Lawrence Berkeley Laboratory
We don't need no signatures!

janssen@titan.sw.mcc.com (Bill Janssen) (05/28/89)

In article <1284@imelda.Solbourne.COM>, toml@Solbourne (Tom LaStrange) writes:
>...  The next (X11R4) version of
>twm will by default, reparent transient windows.

Is this really a good idea?  I had thought that transient windows were for
use by things like pop-up menus and confirmer panels, which typically would
not be managed by the window manager.

Bill

rws@EXPO.LCS.MIT.EDU (05/30/89)

    I had thought that transient windows were for
    use by things like pop-up menus and confirmer panels, which typically would
    not be managed by the window manager.

You are confusing transient-for windows and override-redirect windows.
Read the ICCCM.

rws@EXPO.LCS.MIT.EDU (05/30/89)

    What about X10 windows going through x10tox11?

The fact that x10tox11 uses override-redirect windows is a bug.  It would
be a mistake to "fix" twm to handle these.  x10tox11 should be fixed (actually,
it ought to be stamped out :-) but it isn't high on our priority list.

toml@Solbourne.COM (Tom LaStrange) (05/30/89)

From article <2405@titan.sw.mcc.com>, by janssen@titan.sw.mcc.com (Bill Janssen):
> In article <1284@imelda.Solbourne.COM>, toml@Solbourne (Tom LaStrange) writes:
>>...  The next (X11R4) version of
>>twm will by default, reparent transient windows.
> 
> Is this really a good idea?  I had thought that transient windows were for
> use by things like pop-up menus and confirmer panels, which typically would
> not be managed by the window manager.
> 

I think it probably is.  Transient windows should be used while other 
windows are still allowed to be active, i.e. the pointer is not grabbed.
If other windows are allowed to be active, you may want to move/raise/lower
the transient to get at them.  If twm does not reparent a window, it
can't perform window manager functions on it.  If other windows 
should be prevented from getting input, use override-redirect and
the window manager will never see them.

--
Tom LaStrange

Solbourne Computer Inc.    ARPA: toml@Solbourne.COM
Longmont, CO               UUCP: ...!{boulder,nbires,sun}!stan!toml