Here's a simple hack to change the default keyboard focus policy in Morphic projects. I've not tested this very extensively, so please take the usual precautions to safeguard your Squeak image.
-ram
"Change Set: FocusFollowsCursor Date: 28 May 2001 Author: Ram Krishnan
Experimental!!
A simple hack to make keyboard focus follow the mouse cursor replacing the default 'click to type' focus policy of Squeak. This hack only works with Morphic SystemWindows and has no effect on MVC windows.
This ChangeSet has only been tested (minimally) with Squeak 3.0."!
[ On , May 28, 2001 at 00:43:03 (-0700), Ram Krishnan wrote: ]
Subject: [EXPERIMENTAL!][ENH] FocusFollowsCursor.cs
Here's a simple hack to change the default keyboard focus policy in Morphic projects.
Very cool! I was going to ask the list if anyone had figured out how to do this yet....
I find it very very very disconcerting that I have to click to make a window active, but the focus follows my cursor around inside panes.
I should of course admit that the only GUI I've ever used extensively (at least recently) has been X11, and that I always prefer a keyboard-focus-follows-mouse-cursor policy in X11, but only to a window level, not to a pane or input field level.
I don't think I've ever been happy to have the focus switch between panes with the mouse cursor, not even in multi-paned X11 applications, and especially not in text-oriented ones such as Emacs. This does of course happen in some X11 applications built under some GUI toolkits, though usually if this happens an explicit click in a text field will almost always cause the focus to "stick" there no matter where the mouse cursor might wander afterwards (at least while within the bounds of the main window, of course).
In Squeak the application I've "used" most (other than the system browser and maybe some games) is the IRC client and I find it very annoying that I have to be very careful to position the mouse cursor in the text entry field before I can type there.
Even worse is that a slight bump of the mouse can put the cursor onto the edge of the field and thus cause a resize handle to pop up (and for the keyboard focus to be "lost"). I'd really like to be able to get rid of the resize handles on inner morphs but yet still have them resize porportionally (within limits) as the outer window is resized. There may be a way to do this, but I haven't found it yet....
squeak-dev@lists.squeakfoundation.org