This problem is a difficult one to address generally, independent of the language.
- Should the user have to wait half a second before their single click is processed?
- Ditto for double clicks.
- Shouldn't there be some kind of immediate feedback when the user click the first time? Can the kind of feedback it gives be common?
- Is there any way that treble clicks can be detected?
Even working on an obsolete platform many years ago, they took the same basic approach as Tk:
- Every time a double click event comes through, you can assume that there was a single click event that came through a moment ago.
- Don't define single and double click events for a widget so that the handlers are "not compatible"
This does mean that if you want to handle a double click on a particular item, then there are some limitations on what you can do in the single click handler (don't open a dialog for eg, especially a modal one!).
That said, I can imagine that the solution here may be quite apropriate in some cases, so it's great that it can be handled on a widget by widget basis. ++ from me.
--
use JAPH;
print JAPH::asString();