XEmacs 21.2-b1
[chise/xemacs-chise.git.1] / man / xemacs / mouse.texi
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.