This is the mail archive of the insight@sources.redhat.com mailing list for the Insight project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[Repost] Summary of Modal Dialog Behavior


Ugh. Too many changes. Guess what other lovely stuff I found?
This discussion covers what happens if you change managedwin.itb to "post"
dialog boxes with the "keep on top" flag set. (See ModalDialog::post.)

So, I've investigated the state of modal dialogs in Insight. Believe it or
not, we work better on Windows than Unix on this topic. Here's my summary:

Unix (tested on linux)
Any ModalDialog will stay on top of ANYTHING that is placed over it,
including other applications. It's also very, very slow to raise itself,
even after I change the "keep_raised" interval.

Error dialogs are transient on their parents, but when the parent is
focused after being (partially) obscured by another window, neither the
parent nor the dialog comes to the top (or has the focus). The parent is
correctly blocked from all input, though, but so are all other windows.

On Win98 (yich)
ModalDialogs will stay on top of any Insight window. When any Insight
window is focused, it (the window, not the dialog) will pop to the top.
Very shortly after this is done, the ModalDialog will pop to the top. I
am going to change the interval in keep_raised to make this a little
speedier. The ModalDialog is not, however, focused. Inserting a call to
"focus -force $MODALDIALOG" fixes this. (Yes, you must use "-force".
Nothing else works.) The other major problem: using keep_raised on
windows, you cannot use the damn comoboxes!!!

Error dialogs (via tk_messageBox) work 100%: the window which generated
the error is blocked from input, all other windows operate, and when the
errored window is brought to the foreground, the error dialog pops to the
top of the window stack AND has the focus.

On Win2000
Pretty much the same as Win98, except for the focus of ModalDialogs. Using
"focus -force" keeps the ModalDialog on top of everything, including other
applications. Sigh. We may have to modify ManagedWin to deal with modal
dialogs and their focus.

Note on Win*: Try this neat experiment:
1. Run insight
2. Open Target Settings
3. Launch another application (like IE) and obscure Insight windoews
4. Bring insight to the foreground

You'll see that the window stacking order has IE between the source window
and the dialog. Not what should happen, but that's a window's bug (which
we are almost certainly going to have to work around someday).

Keith




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]