0
+ − 1
+ − 2 @node Mouse Selection, Additional Mouse Operations, Mark, Top
+ − 3 @comment node-name, next, previous, up
+ − 4 @section Selecting Text with the Mouse
+ − 5 @cindex mouse selection
+ − 6
+ − 7 @cindex pointer shapes
+ − 8 If you are using XEmacs under X, you can use the mouse pointer
+ − 9 to select text. (The normal mouse pointer is an I-beam, the same
+ − 10 pointer that @code{xterm} uses.)
+ − 11
+ − 12 @vindex modeline-pointer-glyph
+ − 13 @vindex nontext-pointer-glyph
+ − 14 @vindex text-pointer-glyph
+ − 15 The glyph variable @code{text-pointer-glyph} controls the shape of
+ − 16 the mouse pointer when over text. You can also control the shape
+ − 17 of the mouse pointer when over nontext using @code{nontext-pointer-glyph},
+ − 18 and the shape of the mouse pointer when over the modeline using
+ − 19 @code{modeline-pointer-glyph}. (Remember, you should use
+ − 20 @code{set-glyph-image}, not @code{setq}, to set one of these
+ − 21 variables.)
+ − 22
+ − 23 @cindex pointer face
+ − 24 If you want to get fancy, you can set the foreground and background
+ − 25 colors of the mouse pointer by setting the @code{pointer} face.
+ − 26
+ − 27 There are two ways to select a region of text with the mouse:
+ − 28
+ − 29 To select a word in text, double-click with the left mouse button
+ − 30 while the mouse cursor is over the word. The word is highlighted when
+ − 31 selected. On monochrome monitors, a stippled background indicates that a
+ − 32 region of text has been highlighted. On color monitors, a color
+ − 33 background indicates highlighted text. You can triple-click to select
+ − 34 whole lines.
+ − 35
+ − 36 To select an arbitrary region of text:
+ − 37
+ − 38 @enumerate
+ − 39 @item
+ − 40 Move the mouse cursor over the character at the beginning of the region of
+ − 41 text you want to select.
+ − 42 @item
+ − 43 Press and hold the left mouse button.
+ − 44 @item
+ − 45 While holding the left mouse button down, drag the cursor to the
+ − 46 character at the end of the region of text you want to select.
+ − 47 @item
+ − 48 Release the left mouse button.
+ − 49 @end enumerate
+ − 50 The selected region of text is highlighted.
+ − 51
+ − 52 Once a region of text is selected, it becomes the primary X selection
+ − 53 (@pxref{Using X Selections}) as well as the Emacs selected region. You
+ − 54 can paste it into other X applications and use the options from the
+ − 55 @b{Edit} pull-down menu on it. Since it is also the Emacs region, you
+ − 56 can use Emacs region commands on it.
+ − 57
+ − 58 @node Additional Mouse Operations, Killing, Mouse Selection, Top
+ − 59 @section Additional Mouse Operations
+ − 60 @cindex mouse operations
+ − 61
+ − 62 XEmacs also provides the following mouse functions. Most of these are
+ − 63 not bound to mouse gestures by default, but they are provided for your
+ − 64 customization pleasure. For example, if you wanted @kbd{shift-left}
+ − 65 (that is, holding down the @key{Shift} key and clicking the left mouse
+ − 66 button) to delete the character at which you are pointing, then you
+ − 67 could do this:
+ − 68
+ − 69 @example
+ − 70 (global-set-key '(shift button1) 'mouse-del-char)
+ − 71 @end example
+ − 72
+ − 73 @findex mouse-del-char
+ − 74 @findex mouse-delete-window
+ − 75 @findex mouse-keep-one-window
+ − 76 @findex mouse-kill-line
+ − 77 @findex mouse-line-length
+ − 78 @findex mouse-scroll
+ − 79 @findex mouse-select
+ − 80 @findex mouse-select-and-split
+ − 81 @findex mouse-set-mark
+ − 82 @findex mouse-set-point
+ − 83 @findex mouse-track
+ − 84 @findex mouse-track-adjust
+ − 85 @findex mouse-track-and-copy-to-cutbuffer
+ − 86 @findex mouse-track-delete-and-insert
+ − 87
+ − 88 @table @kbd
+ − 89 @item mouse-del-char
+ − 90 Delete the character pointed to by the mouse.
+ − 91 @item mouse-delete-window
+ − 92 Delete the Emacs window that the mouse is on.
+ − 93 @item mouse-keep-one-window
+ − 94 Select the Emacs window that the mouse is on, then delete all other
+ − 95 windows on this frame.
+ − 96 @item mouse-kill-line
+ − 97 Kill the line pointed to by the mouse.
+ − 98 @item mouse-line-length
+ − 99 Print the length of the line indicated by the pointer.
+ − 100 @item mouse-scroll
+ − 101 Scroll point to the mouse position.
+ − 102 @item mouse-select
+ − 103 Select the Emacs window the mouse is on.
+ − 104 @item mouse-select-and-split
+ − 105 Select the Emacs window mouse is on, then split it vertically in half.
+ − 106 @item mouse-set-mark
+ − 107 Select the Emacs window the mouse is on and set the mark at the mouse
+ − 108 position. Display the cursor at that position for a second.
+ − 109 @item mouse-set-point
+ − 110 Select the Emacs window that the mouse is on and move point to the
+ − 111 mouse position.
+ − 112 @item mouse-track
+ − 113 Make a selection with the mouse. This is the default binding of
+ − 114 the left mouse button (@key{button1}).
+ − 115 @item mouse-track-adjust
+ − 116 Extend the existing selection. This is the default binding of
+ − 117 @key{Shift-button1}.
+ − 118 @item mouse-track-and-copy-to-cutbuffer
+ − 119 Make a selection like @code{mouse-track}, but also copy it to the cut buffer.
+ − 120 @item mouse-track-delete-and-insert
+ − 121 Make a selection with the mouse and insert it at point. This is the
+ − 122 default binding of @key{control-shift-button1}.
+ − 123 @item mouse-track-insert
+ − 124 Make a selection with the mouse and insert it at point.
+ − 125 This is the default binding of @key{control-button1}.
+ − 126 @item mouse-window-to-region
+ − 127 Narrow a window to the region between the cursor and the mouse pointer.
+ − 128 @end table
+ − 129
+ − 130 The @kbd{M-x mouse-track} command should be bound to a mouse button. If
+ − 131 you click-and-drag, the selection is set to the region between the
+ − 132 point of the initial click and the point at which you release the
+ − 133 button. These positions do not need to be ordered.
+ − 134
+ − 135 If you click-and-release without moving the mouse, the point is moved,
+ − 136 and the selection is disowned (there will be no selection owner.) The
+ − 137 mark will be set to the previous position of point.
+ − 138
+ − 139 If you double-click, the selection will extend by symbols instead of by
+ − 140 characters. If you triple-click, the selection will extend by lines.
+ − 141
+ − 142 If you drag the mouse off the top or bottom of the window, you can
+ − 143 select pieces of text that are larger than the visible part of the
+ − 144 buffer; the buffer will scroll as necessary.
+ − 145
+ − 146 The selected text becomes the current X selection, and is also copied to
+ − 147 the top of the kill ring. Point will be left at the position at
+ − 148 which you released the button and the mark will be left at the initial
+ − 149 click position. Bind a mouse click to
+ − 150 @kbd{mouse-track-and-copy-to-cutbuffer} to copy selections to the cut buffer.
+ − 151 (See also the @code{mouse-track-adjust} command, on @kbd{Shift-button1}.)
+ − 152
+ − 153 The @kbd{M-x mouse-track-adjust} command should be bound to a mouse
+ − 154 button. The selection will be enlarged or shrunk so that the point of
+ − 155 the mouse click is one of its endpoints. This is only meaningful
+ − 156 after the @code{mouse-track} command (@key{button1}) has been executed.
+ − 157
+ − 158 The @kbd{M-x mouse-track-delete-and-insert} command is exactly the same
+ − 159 as the @code{mouse-track} command on @key{button1}, except that point is
+ − 160 not moved; the selected text is immediately inserted after being
+ − 161 selected; and the text of the selection is deleted.
+ − 162
+ − 163 The @kbd{M-x mouse-track-insert} command is exactly the same as the
+ − 164 @code{mouse-track} command on @key{button1}, except that point is not moved;
+ − 165 the selected text is immediately inserted after being selected; and the
+ − 166 selection is immediately disowned afterwards.