#93 Mouseclick that brings CotVNC to front also gets passed on

v2.0
open
nobody
5
2006-03-06
2006-03-06
No

[Symptom]

Scenario:

1. CotVNC 2.0b3 is running with an open session behind some native
Mac app. Remote session is to a Unix box using the AfterStep window
manager.

2. User clicks on CotVNC window to bring session frontmost.

3. Sessions comes forward, as it should.

4. User's click is also passed to the client, which could have deletarious
effects, depending exactly on where the click happens.

[Diagnosis]

The Chicken isn't following Apple Human Interface Guidelines. The
click that brings an application forward is NOT supposed to have any
other side-effect, or cause any other action to take place within that
app. Therefore, CotVNC breaks the Mac user's expectation of what's
supposed to happen in that situation.

[Cure]

Change the Chicken so that mouse clicks are only passed to the remote
system if and only if one of its session windows actually is frontmost.

[Comment]

I was compelled to file this bug when a click to bring CotVNC forward
also changed the remote system's window stack.

The scenario was this:

a) I had two windows open, one partially under the other. The one on
top was doing a "tail -f" of a log being generated by a script running in
the window underneath.

b) CotVNC was underneath Safari, but the log and script windows were
plainly visible. (I have a large monitor).

c) I noted that the script had finished writing to the log I was tailing,
and had started doing something else, which was being logged in a
different file.

d) I clicked on the Chicken, on a spot where the script window was
visible, and immediately typed a Control-C.

Unfortunately, the click that raised the Chicken was ALSO passed to the
remote system's window manager, which changed the remote focus to
the script window, and passed the Control-C to it, terminating the
script instead of the 'tail -f' in the log window. This requried me to re-
start the script from the top, and wasted a good 30 minutes of
previous script execution.

Discussion


Log in to post a comment.