[squeak-dev] The Trunk: Morphic-cmm.409.mcz

Chris Muller asqueaker at gmail.com
Mon Apr 5 18:36:05 UTC 2010

> The intention was Ctrl+0, but we decided to add it to 7-8-9 too, because
> some keyboard layouts don't have 0 without other modifiers.

We cannot be wasting so many keys.  Other applications want to be
written in Squeak that make use of hot-keys, and so we don't want 7,
8, 9, and 0 to be all used up by one function.

Under the "keyboard" category of Preferences, there are various
settings; duplicateAllControlAndAltKeys, etc.  These ideas do not make
the situation any easier to understand, and ended up consuming tons of
extra keys just because there was this idea years ago that we need to
cater to newbies demanding to use Control key for cut and paste.   So
now we have to support this shit, "dup all Alt and Control keys" and,
unfortuntaely, Squeak is still does not look-and-feel enough like
MS-Excel for the newbies to be happy...

Sorry, I was off on rant there..

> Ctrl+9 was unused, Ctrl+( (which is Ctrl+Shift+9) is used for surrounding
> with ().

That wasn't working, and it is *very* important to me.  I use it many
times per day.  Also, Control+9 is consistent with the other "shifted"
enclosers, which do not require a Shift+Control modifier..

> There's no guarantee that the Search Bar will be always the 7th item in the
> docking bar,

Sure there is.  Have a look at TheWorldMainDockingBar>>#menusOn:.
Each of the menus is hard-coded, along with the search-bar.  There is
no variance, therefore, currently, the search bar will always be the
7th item.

You might be saying, "There's no guarantee *in the future*, that the
Search Bar will be always the 7th item in the docking bar..." and, if
so, I argue that there is no guarantee that "Projects" menu will
always be Control+2, or that "Tools" will be Control+3.  I doubt we
will be adding many more menus in the future, but we have to accept,
when using these numerical / positional hot-keys that they *might*
change in the future.

>  therefore 0 is a better choice IMHO, since 0 is usuall on the
> right side of the keyboard, just like the Search Bar is on the right side of
> the screen (if the docking bar is up or down).

What about left or right?  :)

To me, positional consistency valuable, but less important than the
parenthetical enclosing.  If you can find a way to have it be
Control+0 without breaking Control+9 for parenthetical enclosure, I
would support that (but I still think Control+7 is more consistent).

 - Chris

>> =============== Diff against Morphic-ar.408 ===============
>> Item was changed:
>>  ----- Method: DockingBarMorph>>handleListenEvent: (in category
>> 'events-processing') -----
>>  handleListenEvent: anEvent
>>        " I am registered as a keyboardListener of the ActiveHand,
>>        watching for ctrl-<n> keystrokes, and upon them if I have
>>        an nth menu item, I'll activate myself and select it. "
>>        (anEvent controlKeyPressed and: [
>>                anEvent keyValue
>>                        between: 48 " $0 asciiValue "
>> +                       and: 55 " $7 asciiValue " ]) ifTrue: [
>> -                       and: 57 " $9 asciiValue " ]) ifTrue: [
>>                | index itemToSelect |
>>                index := anEvent keyValue - 48.
>>                itemToSelect := (submorphs select: [ :each |
>>                        each isKindOf: DockingBarItemMorph ])
>>                                at: index
>>                                ifAbsent: [
>>                                        ^self searchBarMorph ifNotNil: [
>> :searchBar |
>>                                                searchBar activate: anEvent
>> ] ].
>>                self activate: anEvent.
>>                self
>>                        selectItem: itemToSelect
>>                        event: anEvent ]!

More information about the Squeak-dev mailing list