[squeak-dev] Merge Request: defaultFocusMorph.cs

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Mon Nov 22 18:22:28 UTC 2021

Hi Marcel,

thanks again for reviewing and merging this!

> Adds and uses breadth-first search for submorph lookup because it matches the natural way widgets are organized in a window. The existing depth-first in #allMorphsDo: might take surprising paths.

I keep finding some tools where this heuristic is not yet good enough. For example, in the Monticello Browser, I would expect the package list on the left to be focused by default, but instead, the repository list on the right is focused. What would you think about a strategy that orders all descendant morphs by their natural reading order and always chooses the left-most from the first row (#x ascending , #y ascending)? Or would you prefer to specify this information in the relevant toolbuilder methods instead?



Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel
Gesendet: Freitag, 19. November 2021 18:17:25
An: squeak-dev
Betreff: Re: [squeak-dev] Merge Request: defaultFocusMorph.cs


Revisions in SystemWindow >> #defaultFocusMorph and more tool-specific use of #defaultFocus: besides the preference browser.

Am 20.10.2021 16:31:00 schrieb christoph.thiede at student.hpi.uni-potsdam.de <christoph.thiede at student.hpi.uni-potsdam.de>:

Hi all,

if a new window is invoked via a keyboard gesture, with the proposed changeset, the keyboard focus is automatically passed to the new window. See SystemWindow >> #defaultFocusMorph. By default, the first keyboard-interested (sub)+morph is selected, but you can specify a different focus holder by setting the #defaultFocusMorph property of the window or the #defaultFocus parameter of the pluggable window spec.

I think this improves the keyboard workflow in Squeak a bit. For instance, it enables the following workflows:
- Ctrl + 0 (search bar), type '6 * 7', Alt + o (spawn), Alt + p (print it)
- Ctrl + 3 (Tools menu), type 'browser', Enter, Alt + f (find), type 'Object', Enter

Please review and merge if you don't have any objections. Happy squeaking! :-)


Sent from Squeak Inbox Talk<https://github.com/hpi-swa-lab/squeak-inbox-talk>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20211122/e53b5f0c/attachment.html>

More information about the Squeak-dev mailing list