[squeak-dev] 5.3 wrong keyboard focus upon image launch

David T. Lewis lewis at mail.msen.com
Sat Jan 18 01:41:37 UTC 2020

On Fri, Jan 17, 2020 at 11:47:14AM -0800, Eliot Miranda wrote:
> > On Jan 17, 2020, at 10:41 AM, Fabio Niephaus <lists at fniephaus.com> wrote:
> > 
> > ???
> > 
> > 
> >> On Fri, 17 Jan 2020 at 1:24 pm, Chris Muller <asqueaker at gmail.com> wrote:
> >> Hi Marcel, hi all,
> >> 
> >> An obscure, but painful usability regression has crept into 5.3.  Upon launching the image, the image window will appear.  I need it to honor the Global Command Keys until hand movements otherwise shift focus to some widget under the hand.
> >> 
> >> In 5.2, moving the hand from the OS desktop into the Squeak (non-full screen) image desktop, the command keys are honored.  In 5.3, you have to force some keyboard focus shift into some widget first, THEN back to the desktop, before the Global Command keys will be honored.
> >> 
> >> This makes debugging Magma a lot more cumbersome, because the test suite launches five copies of the image.  If there is a failure, I'm left with needing to close all five manually.  The hot-key makes this a breeze... but not if it doesn't work, of course.
> >> 
> >> Morphic-cmm.1618 addresses this issue, and would like to include it (or alternative fix) in 5.3.
> > 
> > +1 for merging the fix
> No objection.  Would like Marcel and/or Nicolas to review.

+1 for merging Chris' change to trunk.

While I have a hard time reproducing the useability scenario that
Chris describes, I can demonstrate the underlying problem as follows:

1) Enable the "Mouse over for keyboard focus" preference.

2) In a workspace, with a transcript window open start the following process
to log the keyboard focus to the transcript:

  Transcript clear.
  [[ (Delay forSeconds: 1) wait.
    Transcript cr; show: ActiveHand keyboardFocus printString ] repeat ] fork.

3) In the same workspace, with that workspace highlighted for keyboard
focus, do this:

  Smalltalk snapshot: true andQuit: true.

4) Restart the image, keeping the mouse pointer away from the new Squeak

5) Watch the transcript. Move the mouse pointer into the Squeak display
window, then back into into the workspace window.

Prior to loading Morphic-cmm.1618, the keyboardFocus is the remembered
value from the time of the image save, even though the mouse pointer
is now elsewhere. The correct behavior should be that the mouse pointer
is nil until it is actually moved over a text window, and this is what
I see after loading the fix.

Note that Marcel is away for another week or so doing PhD stuff, but
I am quite confident that he will agree with the above, so I suggest
merging the fix now so that we don't leave it on Marcel's overloaded
to-do list when he gets back :-)


More information about the Squeak-dev mailing list