[comp.windows.x] OpenWindows and Transient shells

csvsj@garnet.berkeley.edu (Steve Jacobson) (05/03/90)

We create a dialog shell with XtCreatePopupShell() and use the
transientShellWidgetClass class. The child of this shell is an Athena
form widget containing some buttons and a type in text widget.

We pop it up with XtPopup() and use the XtGrabExclusive flag, since we
want a response from the user before he/she may use anything else in the
client's other windows.

When the user provides the necessary feedback, the shell is popped down,
ending the exclusive grab.

All this works fine with R4 twm.

We tried it with OpenWindows 1.0 and noticed that the window manager decorated
the window with the "tearoff" menu "pushpin" doodad. Cute, but also not so
cute, since if the pushpin is clicked, causing the OpenWindows window manager
to make the window nonvisible, the exclusive grab remains in effect, so
further mouse and keyboard events are not accepted and the client must be
killed.

We'd like our client to work with OpenWindows, on the offhand chance that
a user with plenty of memory and cpu power desires to use it :-).

I have no idea how to deal with this. I put in a dummy destroy callback and
saw that the OpenWindows window manager wasn't destroying the popup when
the pushpin was clicked. Looking for UnmapNotify events won't work because
there are other ways to generate that event where I don't want to manually
pop the window down to release the exclusive grab (such as covering the popup
with another window via the window manager).

In my opinion, a transient window popped up with the exclusive grab flag
set shouldn't have a pushpin on it, anyway. So, I would call this a bug.

Because I haven't looked too hard and long at the OpenWindows documentation,
I'm willing to consider other opinions and suggestions.

smarks@eng.sun.COM (Stu t Marks) (05/05/90)

| We create a dialog shell with XtCreatePopupShell() and use the
| transientShellWidgetClass class. The child of this shell is an Athena
| form widget containing some buttons and a type in text widget.

    [ ... description of problem that occurs when the window manager in
    OpenWindows 1.0 gives this window a pushpin ... ]

| In my opinion, a transient window popped up with the exclusive grab flag
| set shouldn't have a pushpin on it, anyway. So, I would call this a bug.

Agreed.  This will be fixed in the next release of OpenWindows.  If you're
interested in running your application with an OPEN LOOK window manager,
try FTPing the sources to the "olwm" window manager from expo.  They're
with XView in the contrib area.

s'marks

Stuart W. Marks			ARPA: smarks@eng.sun.com
Window Systems Group		UUCP: sun!smarks
Sun Microsystems, Inc.