fbm@ptcburp.ptcbu.oz.au (Farrell McKay) (11/22/90)
Is there anyone out there who can confirm or deny the following statement.?? The correct behaviour of APPLICATION_MODAL popup widgets is at least partly dependent upon which window manager one uses. Specifically, these widgets do not behave correctly under twm, or tvtwm. :-( My X program is based on the Motif 1.0 widget set. I am using an XmMessageDialog widget to stop the application and report fatal errors, but without stopping any other applications. Under mwm everything works just fine and dandy. Under twm or tvtwm, however, the popup is visible to the window manager, its appearance does not stop events from being dispatched to the rest of the application, it does not get iconified along with the rest of the application, it can be lowered beneath the application's outermost window, etc. etc. It would seem that twm treats the popup as a modeless (instead of modal) popup. In the twm man page there is a little sentence tucked away which states: "DecorateTransients: This variable indicates that transient windows (those containing a WM_TRANSIENT_FOR property) should have titlebars. By default, transients are not reparented." ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ I suspect this is the crux of the problem. Can I change this default behaviour? If so, how? For full compatibility, I am using the R3 version of Xlib and 1.0 release of Motif libXt and libXm. ---- -m------- Farrell McKay, fbm@ptcburp.ptcbu.oz.au ---mmm----- Pyramid Technology Aust., ...!munnari!ptcburp.oz!fbm -----mmmmm--- Research Park, Bond University, +61 75 950256 -------mmmmmmm- Gold Coast, Qld 4229, AUSTRALIA +61 75 522475 FAX
mouse@LARRY.MCRCIM.MCGILL.EDU (11/23/90)
> Is there anyone out there who can confirm or deny the following > statement.?? > The correct behaviour of APPLICATION_MODAL popup widgets is at least > partly dependent upon which window manager one uses. This is widget-set dependent. There is no technical reason why this should be true; I understand Motif cheats. As you discovered. (Personally, I'd file a bug report with your vendor, but then, I'm weird anyway.) > Under mwm everything works just fine and dandy. Under twm or tvtwm, > however, the popup is visible to the window manager, its appearance > does not stop events from being dispatched to the rest of the > application, it does not get iconified along with the rest of the > application, it can be lowered beneath the application's outermost > window, etc. etc. It would seem that twm treats the popup as a > modeless (instead of modal) popup. Well, perhaps twm doesn't have the notion of a modal popup.... > In the twm man page there is a little sentence tucked away which > states: > "DecorateTransients: This variable indicates that transient > windows (those containing a WM_TRANSIENT_FOR property) should > have titlebars. By default, transients are not reparented." > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Is this window you're popping up a transient? The notion of a transient window is a technical term; I have no a priori reason to think that the window you're popping up is or is not a transient. (Your description makes it sound as though it isn't, because twm is decorating it and the default is to not decorate transients.) In short, Motif made a portability choice: they chose to design their widget set such that it breaks when not using their window manager. I think this was a stupid move on their part; presumably they disagree. der Mouse old: mcgill-vision!mouse new: mouse@larry.mcrcim.mcgill.edu
paul@x.co.uk (Paul Davey) (11/27/90)
In article <216@ptcburp.ptcbu.oz.au> fbm@ptcburp.ptcbu.oz.au (Farrell McKay) writes:
-> The correct behaviour of APPLICATION_MODAL popup widgets is at least
-> partly dependent upon which window manager one uses. Specifically,
-> these widgets do not behave correctly under twm, or tvtwm. :-(
->
-> My X program is based on the Motif 1.0 widget set. I am using an
-> XmMessageDialog widget to stop the application and report fatal errors,
-> but without stopping any other applications.
->
-> Under mwm everything works just fine and dandy. Under twm or tvtwm, however,
This problem is due to a bad design fault in Motif 1.0, viz assuming
that Mwm is the only window mangler (:-) that would be used.
1.1 corrects this behaviour by using XtAddGrab in the toolkit which
you can use with 1.0 to get the proper behaviour.
XtAddGrab is designed to work with cascades of widgets be these sub
menus or dialog boxes popped up from dialog boxes.
XtAddGrab has a flag to allow previous popup widgets in a cascade to
be excluded from a new `grab'. (This `grab' is not an X grab, it's
done by the dispatcher within the intrinsics, ie at the client end).
--
Regards, pd@x.co.uk IXI Limited
Paul Davey pd@ixi.uucp 62-74 Burleigh St.
...!uunet!ixi!pd Cambridge U.K.
"These are interesting times" +44 223 462 131 CB1 1OJ