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.
|