[comp.windows.x] popup windows, ICCCM compliance, and keyboard input

dana@thumper.bellcore.com (Dana A. Chee) (09/19/89)

Help!

I may be suffering from brain rot, but for the life of me I can't
figure out what combination of override_redirect, transient_for, and
wmhints.input = True is needed to allow me to type in a popup window.
I'm trying to run the program under olwm, which says it is
pathologically ICCCM compliant.  

What I need is the words to tell the window manager to give a popup
widget (at the moment I'm using a transientShellClass, but I've also
tried overrideRedirectShellClass and wmShellClass) the input focus
when I enter that popup.

If anyone knows of code that does this (working under an ICCCM
compliant window manager), PLEASE point me to it.

Thanks a bunch!

			Dana Chee
			Bellcore
			MRE 2Q-250
			(201) 829-4488
			dana@bellcore.com

swick@ATHENA.MIT.EDU (Ralph R. Swick) (09/19/89)

> I may be suffering from brain rot, but for the life of me I can't
> figure out what combination of override_redirect, transient_for, and
> wmhints.input = True is needed to allow me to type in a popup window.

override_redirect = False, wmhints.input = True should be sufficient.
The semantics of transient_for (WM_TRANSIENT_FOR) are wm-specific
and it's possible that a wm could disallow input to windows with
this property (though I think that would be a big mistake).

> What I need is the words to tell the window manager to give a popup
> widget (at the moment I'm using a transientShellClass, but I've also
> tried overrideRedirectShellClass and wmShellClass) the input focus
> when I enter that popup.

I assume you mean overrideShellClass; if not, you're not using
the standard Xt.  WMShellClass is not intended to be instantiated
by applications; you should use TopLevelShellClass instead, if
TransientShellClass is not appropriate.  You might try modifying
the transient (Boolean) resource with either a TransientShell
or a TopLevelShell and see if that makes your wm any happier.

We certainly have such things working here...