[openbeos] Re: inconsistency?

Andrew,

Andrew Bachmann wrote:
Adi Oanca <adioanca@xxxxxxxxxxxxxx> wrote:

Hi,
        again, :-)


Another question for you:

I don't like when I'm working with one window belonging to application X and a window belonging to application Y which already has a window, pops in front of the one I'm working with.

I'm proposing the 2+nd/rd/th window of an application be shown in front of the previous ones. If all application's windows are hidden, it's shown behind the one which has focus.

What do you think?


Hello Adi,

I have a problem in the following situation:

1. I started application XYZ (read: "Mozilla")
2. application XYZ is slow to start (not really true anymore for Mozilla, but 
anyway)
3. I click on some other window to do something while I wait
4. while doing something XYZ comes up in front of my window

This is the only situation where I've been "accosted" by windows that popped up in front of me while I was doing something.

Yes, this is also annoying.
I guess we can determine that when a BApplication object is created. First it sends some data to the roster then contacts app_server. At this point, app_server can record the window that has focus, and then, the new window created by that application be shown in front of the recorded one. ('recorded' in a member of BApplication's counterpart object, ServerApp)
This implies BApplication object be created in the first lines of main(){...}, which usually happens. Otherwise we won't achieve the desired effect.


        Axel's timeout solution remains in place, as the two don't interfere.


OK, then we're set! Other comments?



Oh, one more thing:
Suppose we're typing something and a IM client wants to put its new window in front. As we have decided, it won't do that anymore. Still, we have to alert the user in some way that a new window has opened.


One pretty good solution which I've seen in a recent email is to have the Deskbar flashing 3-4 times application's name and then when you click, highlight the new_window/window_which_wants_focus.
Still, there may be a problem with that as our Deskbar is not always visible. Maybe the Deskbar should come in front(without focus) on such an event.


The second, and the most simple one, is to display that new window beside the one that we're working in - where it best fits between our focus window's borders and screen edge.

The third, and the most futuristic one, is in case no part of the new window is visible (after passing step 2 described above - placement so that it would be partially visible). If that happens, I think we should make our window 40% transparent(no focus!) put it front of the current one, and make it decrease transparency to 0 in an interval of 1 second. Of course, the real window would be behind all this time. This is just a graphical effect. Also, to prevent bugs, that window would be locked for moving and resizing during this 1 second effect.


If you ask me, all three notifications should be implemented.


Opinions? Ideas?


Adi.

Other related posts: