annotate man/xemacs/mouse.texi @ 400:a86b2b5e0111 r21-2-30

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