MouseOver in Linux

Matej Košík kosik at fiit.stuba.sk
Sat Aug 20 14:36:37 UTC 2005


Damien Cassou wrote:
>>>when I  wrote a text  in a browser  and my mouse accidentally  goes to
>>>another pane of the browser (the list of methods for example), my text
>>>is sent to this new pane.
>>
>>I do not utterly understand your question. You have two panes (1 and 2). 
>>You write some text to pane 1 (while the cursor is in pane 1). You do 
>>not press Alt+S yet. Then when you move the cursor to pane 2 and press 
>>Alt+S, _the text written in pane 1_ will be saved _to pane 2_? Is this 
>>what is happening to you?
> 
> 
> 
> I'm sorry I have not been clear enough. It has nothing to do with ALT+S.
> 
> I type some text (render in pane  1) I move the mouse cursor to pane 2
> and continue typing. But the text is  then sent to pane 2 and not pane
> 1.
> 
> What I type is sent to where  my mouse is. I would have preferred that
> it is independant of the position  of the mouse pointer.
> 
> Is it clearer now ?

Completely.

It is a Morphic feature. If you move the cursor to a different morph, 
that different morph will receive events (also typing from keyboard). 
Morphs are selfish entities. They will handle all the events which they 
receive regardless of the rest of the world.

Such an architecture is not very flexible because it is then hard to 
achieve more complicated cooperation among morphs belonging to the same 
"window" such as
- which of all the morphs should receive a key-press when key was 
pressed in any morph belonging to the same window
- which other morph should be focused when you press TAB or Shift+TAB
- keybindings to activate various morphs (press buttons, focus text fields)
- ...

Reasonable way is to redesign the Morphic so that Mediator patter will 
be employed.
- There will be per window ``mediator'' implementing complex interaction 
policy. It will know about all the morphs (colleagues) belonging to that 
window.
- Morphs will be ``colleagues'', not knowing of each other. They are 
aware solely of the ``mediator''. They should forward all the events 
they receive to ``mediator'' which will decide what actions should be taken.

I do not know of any simpler (non-ad-hoc) solution.

> 
> 
>>>How can I make what I type mouse-position independent ?
>>>
>>>You have  to note that if  the cursor goes  out of the browser,  I can
>>>continue typing without problem. It is just if I go in another pane of
>>>the same browser.
>>>
>>>mouseOverForKeyboardFocus is false
>>>
>>>Squeak 3.9-6680
>>>Vm 3.8a and 3.7-7
> 
> 
> 


-- 
Matej Košík



More information about the Squeak-dev mailing list