Less delay - Re: World menu delay -- Re: 2.9 speed

Doug Way dway at riskmetrics.com
Wed Dec 20 06:12:56 UTC 2000

Bob Arning wrote:
> Duane & all,
> Loud enough ;-) Here is another candidate for making life a little smoother. Open a new browser (whatever) after filing in to get the full effect. If anyone has strong feeling on this, let's hear about it.

This looks like a worthwhile change.

I noticed that the pluggable lists in most browsers (change lists, etc.)
are improved with this changeset, but the System Browser is unaffected. 
I assume this is because double-clicking is enabled in the System
Browser?  Double-clicking on any of the list morphs in the System
Browser doesn't seem to do anything, though.  (I may be missing something.)

(Or is it because dragging is enabled in the System Browser?  2.8
allowed both dragging and no-delay selection in the System Browser
without a problem, though.)

In general, allowing both single-clicking and double-clicking of an item
can be problematic, if the double-click event needs to prevent the
single-click event from happening.  The only way to prevent the
single-click/mouseUp event (when a double-click is intended) is to delay
it until it reaches the double-click threshold. (which I assume is why
the 280ms delay is in the System Browser?)  Most UI's avoid adding this
delay by making sure that a single-click event followed by a
double-click doesn't cause any problems.  E.g., double-clicking an icon
on the Macintosh (or Windows) will actually select the icon on the first
click, but this is harmless.  In Squeak, if you wanted the ability to
double-click a method in a browser method list pane to, say, open a new
special window, but *without* selecting the method in the list, then you
have a conflict and you have to insert the delay.

Anyway, my point is that we should be careful about adding double-click
functionality, preferably so that double-click events also cause
single-click events which are harmless.

- Doug Way
  dway at riskmetrics.com

More information about the Squeak-dev mailing list