{Mouse Bindings
The jstools applications support the following operations with the mouse in text windows and text entry fields:
· Clicking mouse button 1 moves the insertion point.  If you've chosen `Typing replaces selection' on the Global Preferences panel, it also clears the selection.
· Clicking mouse button 1 with the Control key pressed moves the insertion point, but doesn't clear the selection.  (This doesn't work in one­line text entry fields.)
· Dragging the mouse with mouse button 1 depressed selects the text indicated.  You can drag the mouse off the edge of the window, and the text will scroll to allow you to select text that was initially off the window.
· Double­clicking with mouse button 1 lets you select text by words.  (The definition of a word is slightly different between text windows and entry fields.)
· Triple­clicking with mouse button 1 lets you select entire lines.
· Clicking mouse button 2 pastes the current selection at the insertion point.  It also sets the input focus, so text you type after will be inserted after the pasted text.
· Dragging with mouse button 2 causes the contents of the window to scroll quickly; it's an alternative to using a scrollbar.
In text windows, there are also special chorded keystrokes to allow you to extend the selection:
· Double-clicking, but not releasing, mouse button 1, and then clicking mouse button 2 while mouse button 1 is still depressed, will select a word including some internal punctuation.  It's useful for selecting URLs, filenames, and the like.  For instance, just double-clicking on the word `jstools' in the text `(now available at http://www.aq.org/~js/jstools.html.)' will only select the word `jstools' itself, but double-clicking and while button 1 is still depressed clicking button 2 will select the entire URL (not including the trailing period and parenthesis).
· Triple-clicking, but not releasing, mouse button 1, and then clicking mouse button 2 while mouse button 1 is still depressed, will select a `paragraph' around the current line, where paragraphs are delimited by blank lines.  For purposes of selection, a line with only whitespace on it does not count as a blank line; only lines that are actually empty are used to delimit paragraphs.

Mouse button 3 is reserved for use by individual applications (i.e., it may do different things in different applications).

Thanks
Thanks to Tom Phelps <phelps@cs.berkeley.edu> for the procedures that allow the middle button to paste (on a click) as well as scroll (on a drag).

Thanks to Paul Raines <raines@cgibm1.slac.stanford.edu> for the procedures that allow scrolling during a selection.  (Actually, I'm not using much of this code any more now that Tk 4.0 provides similar features.)

} {{{list:level:1 {3.0 10.0 11.0 13.0}} {jdoc:xref:link {3.106 3.124}} {richtext:font:roman {2.0 2.4 2.11 4.35 4.42 16.0 17.0 17.21 17.45 19.22 19.55 21.0}} {richtext:font:bold {2.4 2.11 4.35 4.42}} {richtext:font:typewriter {17.21 17.45 19.22 19.55}} {richtext:font:heading0 {1.0 2.0}} {richtext:font:heading1 {16.0 17.0}} {jdoc:link:panels/prefs.jdoc {3.106 3.124}} {list:1:ul {3.0 10.0 11.0 13.0}} {special:list_item:1 {3.0 3.1 4.0 4.1 5.0 5.1 6.0 6.1 7.0 7.1 8.0 8.1 9.0 9.1 11.0 11.1 12.0 12.1}}} {{matchend 4.23} {abbrevstart 13.0} {abbrevend 13.0} {insert 13.0} {insert_save 13.0} {matchstart 4.17} {anchor 11.367} {current 8.0}}} {}