[comp.windows.x] Poping up shells

battle@alphard.cs.utk.edu (David Battle) (04/28/89)

This is probably a silly question, but when I pop up a shell widget 
with the following code, I have to place it with the the window manager
before it shows up.  I want it to just pop up where ever the cursor is.
What should I be doing differently?

        newshell = XtCreatePopupShell("myshell", shellWidgetClass, w, 0, 0);

        /* ... create some children for the shell ... */

        XtPopup(newshell, XtGrabExclusive);

				-David L. Battle
				 battle@utkcs2.cs.utk.edu
				 battle@esddlb.esd.ornl.gov

kit@EXPO.LCS.MIT.EDU (Chris D. Peterson) (04/28/89)

> I want it to just pop up where ever the cursor is. What should I be doing
> differently?

Use a different shell widget class.  Read Chapter 4 in your R3 Intrinsics
Manual.


						Chris

klee@daisy.UUCP (Ken Lee) (04/29/89)

In article <857@utkcs2.cs.utk.edu> battle@utkcs2.cs.utk.edu (David L. Battle) writes:
>This is probably a silly question, but when I pop up a shell widget 
>with the following code, I have to place it with the the window manager
>before it shows up.  I want it to just pop up where ever the cursor is.

You should use an override shell instead of a simple shell if you want
to (anti-socially) avoid the window manager.  Use the XtNx and XtNy
resources to get it to appear at a particular position (relative to the
root window).
-- 
Ken Lee
Daisy Systems Corp., Interactive Graphics Tools Dept.
Internet and Smail:  klee@daisy.uucp
              uucp:  uunet!daisy!klee

kit@EXPO.LCS.MIT.EDU (Chris D. Peterson) (05/06/89)

> You should use an override shell instead of a simple shell if you want
> to (anti-socially) avoid the window manager.  Use the XtNx and XtNy
> resources to get it to appear at a particular position (relative to the
> root window).

Most window managers will also popup transientShell's where you ask then
to be popped up.  The ICCCM requires that transients be placed 
without user interaction.  If you want to know whether to use a transientShell
or an overrideShell take a look at section 4.1.2.6 in the ICCCM.  It is pretty
exclicit about the type that you should be using. 


					Chris