annotate doc/emacs/frames.texi @ 98854:3045af7ce2cb

(Cut/Paste Other App): Document yank-pop-change-selection. (Secondary Selection): Fix modified mouse click syntax. (Clipboard): Describe Cut, Copy and Paste commands. (Mouse References): Not all references are in read-only buffers.
author Chong Yidong <cyd@stupidchicken.com>
date Sun, 19 Oct 2008 05:00:18 +0000
parents a0d8754b4079
children 4ce02f730f61
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1 @c This is part of the Emacs manual.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
87903
5d58981e6690 Merge from emacs--rel--22
Miles Bader <miles@gnu.org>
parents: 86138
diff changeset
3 @c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
4 @c See file emacs.texi for copying conditions.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
5 @node Frames, International, Windows, Top
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
6 @chapter Frames and Graphical Displays
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
7 @cindex frames
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
8
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
9 When using a graphical display, you can create multiple system-level
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
10 ``windows'' in a single Emacs session. We refer to these system-level
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
11 windows as @dfn{frames}. A frame initially contains a single Emacs
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
12 window; however, you can subdivide this Emacs window into smaller
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
13 windows, all fitting into the same frame. Each frame normally
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
14 contains its own echo area and minibuffer.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
15
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
16 To avoid confusion, we reserve the word ``window'' for the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
17 subdivisions that Emacs implements, and never use it to refer to a
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
18 frame.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
19
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
20 Any editing you do in one frame affects the other frames. For
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
21 instance, if you put text in the kill ring in one frame, you can yank
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
22 it in another frame. If you exit Emacs through @kbd{C-x C-c} in one
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
23 frame, it terminates all the frames. To delete just one frame, use
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
24 @kbd{C-x 5 0} (that is zero, not @kbd{o}).
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
25
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
26 Emacs compiled for MS-DOS emulates some windowing functionality,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
27 so that you can use many of the features described in this chapter.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
28 @iftex
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
29 @xref{MS-DOS Mouse,,,emacs-xtra,Specialized Emacs Features}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
30 @end iftex
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
31 @ifnottex
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
32 @xref{MS-DOS Mouse}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
33 @end ifnottex
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
34
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
35 @menu
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
36 * Cut and Paste:: Mouse commands for cut and paste.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
37 * Mouse References:: Using the mouse to select an item from a list.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
38 * Menu Mouse Clicks:: Mouse clicks that bring up menus.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
39 * Mode Line Mouse:: Mouse clicks on the mode line.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
40 * Creating Frames:: Creating additional Emacs frames with various contents.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
41 * Frame Commands:: Iconifying, deleting, and switching frames.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
42 * Speedbar:: How to make and use a speedbar frame.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
43 * Multiple Displays:: How one Emacs job can talk to several displays.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
44 * Special Buffer Frames:: You can make certain buffers have their own frames.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
45 * Frame Parameters:: Changing the colors and other modes of frames.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
46 * Scroll Bars:: How to enable and disable scroll bars; how to use them.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
47 * Wheeled Mice:: Using mouse wheels for scrolling.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
48 * Drag and Drop:: Using drag and drop to open files and insert text.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
49 * Menu Bars:: Enabling and disabling the menu bar.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
50 * Tool Bars:: Enabling and disabling the tool bar.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
51 * Dialog Boxes:: Controlling use of dialog boxes.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
52 * Tooltips:: Displaying information at the current mouse position.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
53 * Mouse Avoidance:: Moving the mouse pointer out of the way.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
54 * Non-Window Terminals:: Multiple frames on terminals that show only one.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
55 * Text-Only Mouse:: Using the mouse in text-only terminals.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
56 @end menu
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
57
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
58 @node Cut and Paste
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
59 @section Killing and Yanking on Graphical Displays
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
60
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
61 This section describes commands for selecting a region, killing, and
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
62 yanking using the mouse.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
63
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
64 @menu
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
65 * Mouse Commands:: Moving, cutting, and pasting, with the mouse.
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
66 * Word and Line Mouse:: Mouse commands for selecting whole words or lines.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
67 * Cut/Paste Other App:: Transfering text between Emacs and other apps.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
68 * Secondary Selection:: Cutting without altering point and mark.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
69 * Clipboard:: Using the clipboard for selections.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
70 @end menu
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
71
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
72 @node Mouse Commands
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
73 @subsection Mouse Commands for Editing
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
74 @cindex mouse buttons (what they do)
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
75
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
76 @kindex Mouse-1
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
77 @kindex Mouse-2
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
78 @kindex Mouse-3
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
79 @table @key
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
80 @item Mouse-1
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
81 Move point to where you click (@code{mouse-set-point}).
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
82
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
83 @item Drag-Mouse-1
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
84 Activate the region around the text selected by dragging, and copy it
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
85 to the kill ring (@code{mouse-set-region}).
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
86
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
87 @item Mouse-2
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
88 Yank the last killed text at the click position
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
89 (@code{mouse-yank-at-click}).
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
90
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
91 @item Mouse-3
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
92 If the region is active, move the nearer end of the region to the
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
93 click position; otherwise, set mark at the current value of point and
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
94 point at the click position. Save the resulting region in the kill
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
95 ring; on a second click, kill it (@code{mouse-save-then-kill}).
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
96 @end table
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
97
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
98 @findex mouse-set-point
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
99 The most basic mouse command is @code{mouse-set-point}, which is
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
100 called by clicking with the left mouse button, @key{Mouse-1}, in the
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
101 text area of a window. This moves point to the position where you
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
102 clicked.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
103
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
104 @vindex x-mouse-click-focus-ignore-position
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
105 Normally, Emacs does not distinguish between ordinary mouse clicks
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
106 and clicks that select a frame. When you click on a frame to select
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
107 it, that also changes the selected window and cursor position
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
108 according to the mouse click position. On the X window system, you
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
109 can change this behavior by setting the variable
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
110 @code{x-mouse-click-focus-ignore-position} to @code{t}. Then the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
111 first click selects the frame, but does not affect the selected window
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
112 or cursor position. If you click again in the same place, that click
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
113 will be in the selected frame, so it will change the window or cursor
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
114 position.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
115
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
116 @findex mouse-set-region
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
117 @vindex mouse-drag-copy-region
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
118 Holding down @key{Mouse-1} and ``dragging'' the mouse over a stretch
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
119 of text activates the region around that text
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
120 (@code{mouse-set-region}). @xref{Mark}. Emacs places the mark where
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
121 you started holding down the mouse button, and point where you release
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
122 it. In addition, the region is copied into the kill ring (@pxref{Kill
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
123 Ring}). If you don't want Emacs to copy the region, change the
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
124 variable @code{mouse-drag-copy-region} to @code{nil}.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
125
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
126 @vindex mouse-scroll-min-lines
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
127 If you move the mouse off the top or bottom of the window while
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
128 dragging, the window scrolls at a steady rate until you move the mouse
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
129 back into the window. This way, you can select regions that don't fit
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
130 entirely on the screen. The number of lines scrolled per step depends
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
131 on how far away from the window edge the mouse has gone; the variable
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
132 @code{mouse-scroll-min-lines} specifies a minimum step size.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
133
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
134 @findex mouse-yank-at-click
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
135 @vindex mouse-yank-at-point
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
136 Clicking with the middle mouse button, @key{Mouse-2}, moves point to
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
137 the position where you clicked and performs a yank
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
138 (@code{mouse-yank-at-click}). @xref{Yanking}. If you change the
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
139 variable @code{mouse-yank-at-point} to a non-@code{nil} value,
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
140 @kbd{Mouse-2} does not move point. Then it does not matter where you
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
141 click, or even which of the frame's windows you click on; the yank
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
142 occurs at the existing point. This variable also affects yanking the
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
143 primary and secondary selections (@pxref{Cut/Paste Other App}).
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
144
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
145 @findex mouse-save-then-kill
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
146 Clicking with the right mouse button, @key{Mouse-3}, runs the
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
147 command @code{mouse-save-then-kill}. This performs several actions
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
148 depending on where you click and the status of the region:
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
149
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
150 @itemize @bullet
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
151 @item
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
152 If no region is active, clicking @key{Mouse-3} activates the region,
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
153 placing the mark where point was and point at the clicked position.
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
154 In addition, the text in the region is copied to the kill ring.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
155
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
156 @item
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
157 If a region is active, clicking @key{Mouse-3} adjusts the nearer end
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
158 of the region by moving it to the clicked position. The adjusted
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
159 region's text is copied to the kill ring; if the text in the original
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
160 region was already on the kill ring, it replaces it there.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
161
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
162 @item
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
163 If you originally specified the region using a double or triple
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
164 @key{Mouse-1}, so that the region is defined to consist of entire
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
165 words or lines, then adjusting the region with @key{Mouse-3} also
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
166 proceeds by entire words or lines.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
167
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
168 @item
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
169 If you use @key{Mouse-3} a second time consecutively, at the same
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
170 place, that kills the region already selected. Thus, the simplest way
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
171 to kill text with the mouse is to click @key{Mouse-1} at one end, then
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
172 click @key{Mouse-3} twice at the other end. To copy the text into the
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
173 kill ring without deleting it from the buffer, press @key{Mouse-3}
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
174 just once---or just drag across the text with @key{Mouse-1}. Then you
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
175 can copy it elsewhere by yanking it.
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
176 @end itemize
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
177
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
178 Whenever you set the region using any of the mouse commands
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
179 described above, the mark will be deactivated by any subsequent
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
180 unshifted cursor motion command, in addition to the usual ways of
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
181 deactivating the mark. @xref{Shift Selection}. While the region
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
182 remains active, typing @key{Backspace} or @key{Delete} deletes the
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
183 text in that region and deactivates the mark; this behavior follows a
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
184 convention established by other graphical programs, and it does
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
185 @emph{not} apply when you set the region any other way, including
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
186 shift-selection (@pxref{Shift Selection}).
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
187
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
188 @cindex Delete Selection mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
189 @cindex mode, Delete Selection
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
190 @findex delete-selection-mode
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
191 Many graphical applications also follow the convention that
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
192 insertion while text is selected deletes the selected text. You can
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
193 make Emacs behave this way by typing @kbd{M-x delete-selection-mode}.
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
194 This enables a minor mode named Delete Selection mode. Another effect
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
195 of this mode is that some keys, such as @key{DEL} and @kbd{C-d},
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
196 always kill the region if one exists.
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
197
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
198 @node Word and Line Mouse
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
199 @subsection Mouse Commands for Words and Lines
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
200
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
201 These variants of @kbd{Mouse-1} select entire words or lines at a
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
202 time. Emacs activates the region around the selected text, which is
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
203 also copied to the kill ring.
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
204
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
205 @table @kbd
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
206 @item Double-Mouse-1
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
207 Select the text around the word which you click on.
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
208
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
209 Double-clicking on a character with ``symbol'' syntax (such as
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
210 underscore, in C mode) selects the symbol surrounding that character.
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
211 Double-clicking on a character with open- or close-parenthesis syntax
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
212 selects the parenthetical grouping which that character starts or
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
213 ends. Double-clicking on a character with string-delimiter syntax
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
214 (such as a singlequote or doublequote in C) selects the string
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
215 constant (Emacs uses heuristics to figure out whether that character
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
216 is the beginning or the end of it).
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
217
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
218 @item Double-Drag-Mouse-1
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
219 Select the text you drag across, in the form of whole words.
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
220
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
221 @item Triple-Mouse-1
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
222 Select the line you click on.
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
223
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
224 @item Triple-Drag-Mouse-1
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
225 Select the text you drag across, in the form of whole lines.
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
226 @end table
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
227
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
228 @node Cut/Paste Other App
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
229 @subsection Cut and Paste with Other Window Applications
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
230
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
231 @cindex X cutting and pasting
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
232 @cindex X selection
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
233 @cindex primary selection
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
234 @cindex selection, primary
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
235 When running Emacs under the X window system, you can easily
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
236 transfer text between Emacs and other X applications using the
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
237 @dfn{primary selection} (also called the @dfn{X selection}). This is
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
238 @emph{not} the same thing as the @dfn{clipboard}, which is a separate
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
239 facility used on desktop environments such as Gnome, and on operating
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
240 systems such as Microsoft Windows (@pxref{Clipboard}).
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
241
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
242 Under X, whenever you select some text in Emacs by dragging or
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
243 clicking the mouse (@pxref{Mouse Commands}), it is also saved in the
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
244 primary selection. You can then @dfn{paste} that text into any other
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
245 X application, usually by clicking @key{Mouse-2} in that application.
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
246 Unlike the Emacs kill ring (@pxref{Kill Ring}), the primary selection
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
247 has no ``memory'': each time you save something in the primary
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
248 selection, either in Emacs or in another X application, the previous
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
249 contents of the primary selection are lost.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
250
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
251 Whenever you kill some text using a command such as @kbd{C-w}
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
252 (@code{kill-region}), or copy it into the kill ring using a command
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
253 such as @kbd{M-w} (@code{kill-ring-save}), that text is also saved in
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
254 the primary selection. @xref{Killing}.
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
255
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
256 @vindex select-active-regions
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
257 @vindex yank-pop-change-selection
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
258 If you set the region using the keyboard, the text within the region
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
259 is not normally saved to the primary selection. However, if you
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
260 change the variable @code{select-active-regions} to @code{t}, the
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
261 region is saved to the primary selection each time you activate the
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
262 mark (the primary selection is @emph{not} updated if you subsequently
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
263 change the region by moving point). If you change the variable
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
264 @code{yank-pop-change-selection} to @code{t}, rotating the kill ring
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
265 with @kbd{M-y} (@code{yank-pop}) also saves the new yank to the
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
266 primary selection (@pxref{Yanking}).
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
267
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
268 @cindex cut buffer
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
269 @vindex x-cut-buffer-max
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
270 Whenever Emacs saves some text to the primary selection, it may also
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
271 save it to the @dfn{cut buffer}. The cut buffer is an obsolete
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
272 predecessor to the primary selection; most modern applications do not
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
273 make use of it. Because saving text to the cut buffer is slow and
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
274 inefficient, Emacs only does it if the text is shorter than the value
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
275 of @code{x-cut-buffer-max} (the default is 20000 characters).
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
276
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
277 You can yank the primary selection into Emacs using the usual yank
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
278 commands, such as @kbd{C-y} (@code{yank}) and @key{Mouse-2}
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
279 (@code{mouse-yank-at-click}). These commands actually check the
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
280 primary selection before referring to the kill ring; if no primary
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
281 selection is available, the kill ring contents are used. To prevent
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
282 yank commands from accessing the primary selection, set the variable
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
283 @code{x-select-enable-primary} to @code{nil}.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
284
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
285 The standard coding system for the primary selection is
86138
1e3c83a62c3d (Cut/Paste Other App): Mention x-select-request-type.
Kenichi Handa <handa@m17n.org>
parents: 85393
diff changeset
286 @code{compound-text-with-extensions}. You may find that the pasted
1e3c83a62c3d (Cut/Paste Other App): Mention x-select-request-type.
Kenichi Handa <handa@m17n.org>
parents: 85393
diff changeset
287 text is not what you expected. In such a case, you can specify
98757
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
288 another coding system for the selection by typing @kbd{C-x @key{RET}
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
289 x} or @kbd{C-x @key{RET} X}. Alternatively, you can request a
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
290 different data type by modifying the variable
a0d8754b4079 (Mouse Commands, Cut/Paste Other App): Rewrite.
Chong Yidong <cyd@stupidchicken.com>
parents: 93354
diff changeset
291 @code{x-select-request-type}. @xref{Communication Coding}.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
292
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
293 @node Secondary Selection
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
294 @subsection Secondary Selection
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
295 @cindex secondary selection
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
296
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
297 In addition to the primary selection, the X Window System provides a
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
298 second similar facility known as the @dfn{secondary selection}.
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
299 Nowadays, few X applications make use of the secondary selection, but
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
300 you can access it using the following Emacs commands:
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
301
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
302 @table @kbd
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
303 @findex mouse-set-secondary
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
304 @kindex M-Drag-Mouse-1
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
305 @item M-@key{Drag-Mouse-1}
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
306 Set the secondary selection, with one end at the place where you press
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
307 down the button, and the other end at the place where you release it
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
308 (@code{mouse-set-secondary}). The selected text is highlighted, using
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
309 the @code{secondary-selection} face, as you drag. The window scrolls
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
310 automatically if you drag the mouse off the top or bottom of the
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
311 window, just like @code{mouse-set-region} (@pxref{Mouse Commands}).
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
312
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
313 This command does not alter the kill ring.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
314
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
315 @findex mouse-start-secondary
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
316 @kindex M-Mouse-1
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
317 @item M-@key{Mouse-1}
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
318 Set one endpoint for the @dfn{secondary selection}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
319 (@code{mouse-start-secondary}).
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
320
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
321 @findex mouse-secondary-save-then-kill
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
322 @kindex M-Mouse-3
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
323 @item M-@key{Mouse-3}
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
324 Set the secondary selection, with one end at the position clicked and
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
325 the other at the position specified with @kbd{M-Mouse-1}
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
326 (@code{mouse-secondary-save-then-kill}). This also puts the selected
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
327 text in the kill ring. A second @kbd{M-@key{Mouse-3}} at the same
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
328 place kills the secondary selection just made.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
329
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
330 @findex mouse-yank-secondary
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
331 @kindex M-Mouse-2
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
332 @item M-@key{Mouse-2}
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
333 Insert the secondary selection where you click, placing point at the
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
334 end of the yanked text (@code{mouse-yank-secondary}).
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
335 @end table
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
336
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
337 Double or triple clicking of @kbd{M-@key{Mouse-1}} operates on words
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
338 and lines, much like @key{Mouse-1}.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
339
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
340 If @code{mouse-yank-at-point} is non-@code{nil}, @kbd{M-@key{Mouse-2}}
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
341 yanks at point. Then it does not matter precisely where you click, or
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
342 even which of the frame's windows you click on. @xref{Mouse
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
343 Commands}.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
344
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
345 @node Clipboard
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
346 @subsection Using the Clipboard
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
347 @cindex clipboard
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
348
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
349 In desktop environments such as Gnome, and operating systems such as
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
350 Microsoft Windows and Mac OS X, you can transfer data (usually text)
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
351 between different applications using the @dfn{clipboard}. The
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
352 clipboard is distinct from the primary selection and secondary
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
353 selection discussed earlier. You can access the clipboard through the
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
354 @samp{Edit} menu of the menu bar (@pxref{Menu Bar}).
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
355
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
356 @cindex cut
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
357 @findex clipboard-kill-region
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
358 The command @code{clipboard-kill-region}, which is bound to the
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
359 @code{Cut} menu item, kills the region and saves it in the clipboard.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
360
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
361 @cindex copy
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
362 @findex clipboard-kill-ring-save
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
363 The command @code{clipboard-kill-ring-save}, which is bound to the
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
364 @code{Copy} menu item, copies the region to the kill ring and saves it
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
365 in the clipboard.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
366
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
367 @cindex paste
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
368 The @code{Paste} menu item in the Edit menu yanks the contents of
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
369 the clipboard at point.
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
370
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
371 @vindex x-select-enable-clipboard
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
372 You can customize the variable @code{x-select-enable-clipboard} to
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
373 make the Emacs yank functions consult the clipboard before the primary
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
374 selection, and to make the kill functions to store in the clipboard as
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
375 well as the primary selection. Otherwise, these commands do not
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
376 access the clipboard at all. Using the clipboard is the default on
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
377 MS-Windows and Mac OS, but not on other systems.
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
378
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
379 @node Mouse References
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
380 @section Following References with the Mouse
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
381 @kindex Mouse-1 @r{(selection)}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
382 @kindex Mouse-2 @r{(selection)}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
383
98854
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
384 Some Emacs buffers include references you can follow, or commands
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
385 you can activate. These include names of files, of buffers, of
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
386 possible completions, of matches for a pattern, as well as the buttons
3045af7ce2cb (Cut/Paste Other App): Document yank-pop-change-selection.
Chong Yidong <cyd@stupidchicken.com>
parents: 98757
diff changeset
387 in Help buffers and customization buffers. You can follow the
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
388 reference or activate the command by moving point to it and typing
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
389 @key{RET}. You can also do this with the mouse, using either
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
390 @kbd{Mouse-1} or @kbd{Mouse-2}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
391
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
392 Since yanking text into a read-only buffer is not allowed, these
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
393 buffers generally define @kbd{Mouse-2} to follow a reference or
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
394 activate a command. For example, if you click @kbd{Mouse-2} on a file
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
395 name in a Dired buffer, you visit that file. If you click
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
396 @kbd{Mouse-2} on an error message in the @samp{*Compilation*} buffer,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
397 you go to the source code for that error message. If you click
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
398 @kbd{Mouse-2} on a completion in the @samp{*Completions*} buffer, you
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
399 choose that completion.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
400
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
401 However, most applications use @kbd{Mouse-1} to do this sort of
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
402 thing, so Emacs implements this too. If you click @kbd{Mouse-1}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
403 quickly on a reference or button, it follows or activates. If you
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
404 click slowly, it moves point as usual. Dragging, meaning moving the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
405 mouse while it is held down, also has its usual behavior of setting
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
406 the region.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
407
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
408 @vindex mouse-1-click-in-non-selected-windows
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
409 Normally, the @kbd{Mouse-1} click behavior is performed on links in
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
410 any window. The variable @code{mouse-1-click-in-non-selected-windows}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
411 controls whether @kbd{Mouse-1} has this behavior even in non-selected
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
412 windows, or only in the selected window.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
413
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
414 @vindex mouse-highlight
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
415 You can usually tell when @kbd{Mouse-1} and @kbd{Mouse-2} have this
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
416 special sort of meaning because the sensitive text highlights when you
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
417 move the mouse over it. The variable @code{mouse-highlight} controls
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
418 whether to do this highlighting always (even when such text appears
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
419 where the mouse already is), never, or only immediately after you move
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
420 the mouse.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
421
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
422 @vindex mouse-1-click-follows-link
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
423 In Emacs versions before 22, only @kbd{Mouse-2} follows links and
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
424 @kbd{Mouse-1} always sets point. If you prefer this older behavior,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
425 set the variable @code{mouse-1-click-follows-link} to @code{nil}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
426 This variable also lets you choose various other alternatives for
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
427 following links with the mouse. Type @kbd{C-h v
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
428 mouse-1-click-follows-link @key{RET}} for more details.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
429
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
430 @node Menu Mouse Clicks
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
431 @section Mouse Clicks for Menus
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
432
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
433 Several mouse clicks with the @key{CTRL} and @key{SHIFT} modifiers
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
434 bring up menus.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
435
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
436 @table @kbd
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
437 @item C-Mouse-1
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
438 @kindex C-Mouse-1
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
439 This menu is for selecting a buffer.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
440
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
441 The MSB (``mouse select buffer'') global minor mode makes this
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
442 menu smarter and more customizable. @xref{Buffer Menus}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
443
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
444 @item C-Mouse-2
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
445 @kindex C-Mouse-2
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
446 This menu is for specifying faces and other text properties
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
447 for editing formatted text. @xref{Formatted Text}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
448
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
449 @item C-Mouse-3
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
450 @kindex C-Mouse-3
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
451 This menu is mode-specific. For most modes if Menu-bar mode is on,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
452 this menu has the same items as all the mode-specific menu-bar menus
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
453 put together. Some modes may specify a different menu for this
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
454 button.@footnote{Some systems use @kbd{Mouse-3} for a mode-specific
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
455 menu. We took a survey of users, and found they preferred to keep
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
456 @kbd{Mouse-3} for selecting and killing regions. Hence the decision
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
457 to use @kbd{C-Mouse-3} for this menu. To use @kbd{Mouse-3} instead,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
458 do @code{(global-set-key [mouse-3] 'mouse-popup-menubar-stuff)}.} If
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
459 Menu-bar mode is off, this menu contains all the items which would be
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
460 present in the menu bar---not just the mode-specific ones---so that
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
461 you can access them without having to display the menu bar.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
462
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
463 @item S-Mouse-1
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
464 This menu is for specifying the frame's default font.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
465 @end table
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
466
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
467 @node Mode Line Mouse
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
468 @section Mode Line Mouse Commands
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
469 @cindex mode line, mouse
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
470 @cindex mouse on mode line
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
471
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
472 You can use mouse clicks on window mode lines to select and manipulate
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
473 windows.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
474
85393
9040ce19727b (Mode Line Mouse): Mention minor mode names.
Glenn Morris <rgm@gnu.org>
parents: 84242
diff changeset
475 Some areas of the mode line, such as the buffer name, and major and minor
9040ce19727b (Mode Line Mouse): Mention minor mode names.
Glenn Morris <rgm@gnu.org>
parents: 84242
diff changeset
476 mode names, have their own special mouse bindings. These areas are
84242
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
477 highlighted when you hold the mouse over them, and information about
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
478 the special bindings will be displayed (@pxref{Tooltips}). This
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
479 section's commands do not apply in those areas.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
480
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
481 @table @kbd
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
482 @item Mouse-1
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
483 @kindex Mouse-1 @r{(mode line)}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
484 @kbd{Mouse-1} on a mode line selects the window it belongs to. By
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
485 dragging @kbd{Mouse-1} on the mode line, you can move it, thus
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
486 changing the height of the windows above and below. Changing heights
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
487 with the mouse in this way never deletes windows, it just refuses to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
488 make any window smaller than the minimum height.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
489
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
490 @item Mouse-2
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
491 @kindex Mouse-2 @r{(mode line)}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
492 @kbd{Mouse-2} on a mode line expands that window to fill its frame.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
493
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
494 @item Mouse-3
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
495 @kindex Mouse-3 @r{(mode line)}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
496 @kbd{Mouse-3} on a mode line deletes the window it belongs to. If the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
497 frame has only one window, it buries the current buffer instead, and
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
498 switches to another buffer.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
499
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
500 @item C-Mouse-2
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
501 @kindex C-mouse-2 @r{(mode line)}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
502 @kbd{C-Mouse-2} on a mode line splits the window above
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
503 horizontally, above the place in the mode line where you click.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
504 @end table
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
505
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
506 @kindex C-Mouse-2 @r{(scroll bar)}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
507 @kindex Mouse-1 @r{(scroll bar)}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
508 Using @kbd{Mouse-1} on the divider between two side-by-side mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
509 lines, you can move the vertical boundary left or right. Using
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
510 @kbd{C-Mouse-2} on a scroll bar splits the corresponding window
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
511 vertically. @xref{Split Window}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
512
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
513 @node Creating Frames
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
514 @section Creating Frames
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
515 @cindex creating frames
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
516
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
517 @kindex C-x 5
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
518 The prefix key @kbd{C-x 5} is analogous to @kbd{C-x 4}, with parallel
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
519 subcommands. The difference is that @kbd{C-x 5} commands create a new
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
520 frame rather than just a new window in the selected frame (@pxref{Pop
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
521 Up Window}). If an existing visible or iconified frame already displays
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
522 the requested material, these commands use the existing frame, after
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
523 raising or deiconifying as necessary.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
524
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
525 The various @kbd{C-x 5} commands differ in how they find or create the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
526 buffer to select:
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
527
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
528 @table @kbd
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
529 @item C-x 5 2
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
530 @kindex C-x 5 2
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
531 @findex make-frame-command
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
532 Create a new frame (@code{make-frame-command}).
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
533 @item C-x 5 b @var{bufname} @key{RET}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
534 Select buffer @var{bufname} in another frame. This runs
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
535 @code{switch-to-buffer-other-frame}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
536 @item C-x 5 f @var{filename} @key{RET}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
537 Visit file @var{filename} and select its buffer in another frame. This
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
538 runs @code{find-file-other-frame}. @xref{Visiting}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
539 @item C-x 5 d @var{directory} @key{RET}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
540 Select a Dired buffer for directory @var{directory} in another frame.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
541 This runs @code{dired-other-frame}. @xref{Dired}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
542 @item C-x 5 m
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
543 Start composing a mail message in another frame. This runs
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
544 @code{mail-other-frame}. It is the other-frame variant of @kbd{C-x m}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
545 @xref{Sending Mail}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
546 @item C-x 5 .
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
547 Find a tag in the current tag table in another frame. This runs
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
548 @code{find-tag-other-frame}, the multiple-frame variant of @kbd{M-.}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
549 @xref{Tags}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
550 @item C-x 5 r @var{filename} @key{RET}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
551 @kindex C-x 5 r
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
552 @findex find-file-read-only-other-frame
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
553 Visit file @var{filename} read-only, and select its buffer in another
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
554 frame. This runs @code{find-file-read-only-other-frame}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
555 @xref{Visiting}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
556 @end table
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
557
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
558 @cindex default-frame-alist
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
559 @cindex initial-frame-alist
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
560 @cindex face customization, in @file{~/.emacs}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
561 @cindex color customization, in @file{~/.emacs}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
562 You can control the appearance of new frames you create by setting the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
563 frame parameters in @code{default-frame-alist}. You can use the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
564 variable @code{initial-frame-alist} to specify parameters that affect
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
565 only the initial frame. @xref{Initial Parameters,,, elisp, The Emacs
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
566 Lisp Reference Manual}, for more information.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
567
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
568 @cindex font (default)
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
569 The easiest way to specify the principal font for all your Emacs
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
570 frames is with an X resource (@pxref{Font X}), but you can also do it by
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
571 modifying @code{default-frame-alist} to specify the @code{font}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
572 parameter, as shown here:
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
573
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
574 @example
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
575 (add-to-list 'default-frame-alist '(font . "10x20"))
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
576 @end example
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
577
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
578 @noindent
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
579 Here's a similar example for specifying a foreground color:
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
580
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
581 @example
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
582 (add-to-list 'default-frame-alist '(foreground-color . "blue"))
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
583 @end example
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
584
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
585 @noindent
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
586 By putting such customizations in your @file{~/.emacs} init file, you
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
587 can control the appearance of all the frames Emacs creates, including
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
588 the initial one.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
589
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
590 @node Frame Commands
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
591 @section Frame Commands
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
592
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
593 The following commands let you create, delete and operate on frames:
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
594
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
595 @table @kbd
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
596 @item C-z
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
597 @kindex C-z @r{(X windows)}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
598 @findex iconify-or-deiconify-frame
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
599 Iconify the selected Emacs frame (@code{iconify-or-deiconify-frame}).
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
600 When typed on an Emacs frame's icon, deiconify instead.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
601
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
602 The normal meaning of @kbd{C-z}, to suspend Emacs, is not useful under
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
603 a graphical display that allows multiple applications to operate
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
604 simultaneously in their own windows, so Emacs gives @kbd{C-z} a
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
605 different binding in that case.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
606
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
607 @item C-x 5 0
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
608 @kindex C-x 5 0
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
609 @findex delete-frame
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
610 Delete the selected frame (@code{delete-frame}). This is not allowed if
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
611 there is only one frame.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
612
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
613 @item C-x 5 o
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
614 @kindex C-x 5 o
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
615 @findex other-frame
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
616 Select another frame, raise it, and warp the mouse to it so that it
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
617 stays selected. If you repeat this command, it cycles through all the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
618 frames on your terminal.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
619
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
620 @item C-x 5 1
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
621 @kindex C-x 5 1
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
622 @findex delete-other-frames
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
623 Delete all frames except the selected one.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
624 @end table
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
625
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
626 @vindex focus-follows-mouse
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
627 To make the command @kbd{C-x 5 o} work properly, you must tell Emacs
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
628 how the system (or the window manager) generally handles
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
629 focus-switching between windows. There are two possibilities: either
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
630 simply moving the mouse onto a window selects it (gives it focus), or
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
631 you have to click on it in a suitable way to do so. On X, this focus
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
632 policy also affects whether the focus is given to a frame that Emacs
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
633 raises. Unfortunately there is no way Emacs can find out
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
634 automatically which way the system handles this, so you have to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
635 explicitly say, by setting the variable @code{focus-follows-mouse}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
636 If just moving the mouse onto a window selects it, that variable
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
637 should be @code{t}; if a click is necessary, the variable should be
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
638 @code{nil}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
639
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
640 The window manager that is part of MS-Windows always gives focus to a
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
641 frame that raises, so this variable has no effect in the native
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
642 MS-Windows build of Emacs.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
643
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
644 @node Speedbar
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
645 @section Speedbar Frames
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
646 @cindex speedbar
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
647
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
648 @cindex attached frame (of speedbar)
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
649 The @dfn{speedbar} is a special frame for conveniently navigating in
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
650 or operating on another frame. The speedbar, when it exists, is
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
651 always associated with a specific frame, called its @dfn{attached
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
652 frame}; all speedbar operations act on that frame.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
653
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
654 Type @kbd{M-x speedbar} to create the speedbar and associate it with
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
655 the current frame. To dismiss the speedbar, type @kbd{M-x speedbar}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
656 again, or select the speedbar and type @kbd{q}. (You can also delete
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
657 the speedbar frame like any other Emacs frame.) If you wish to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
658 associate the speedbar with a different frame, dismiss it and call
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
659 @kbd{M-x speedbar} from that frame.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
660
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
661 The speedbar can operate in various modes. Its default mode is
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
662 @dfn{File Display} mode, which shows the files in the current
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
663 directory of the selected window of the attached frame, one file per
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
664 line. Clicking on a file name visits that file in the selected window
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
665 of the attached frame, and clicking on a directory name shows that
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
666 directory in the speedbar (@pxref{Mouse References}). Each line also
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
667 has a box, @samp{[+]} or @samp{<+>}, that you can click on to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
668 @dfn{expand} the contents of that item. Expanding a directory adds
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
669 the contents of that directory to the speedbar display, underneath the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
670 directory's own line. Expanding an ordinary file adds a list of the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
671 tags in that file to the speedbar display; you can click on a tag name
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
672 to jump to that tag in the selected window of the attached frame.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
673 When a file or directory is expanded, the @samp{[+]} changes to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
674 @samp{[-]}; you can click on that box to @dfn{contract} the item,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
675 hiding its contents.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
676
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
677 You navigate through the speedbar using the keyboard, too. Typing
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
678 @kbd{RET} while point is on a line in the speedbar is equivalent to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
679 clicking the item on the current line, and @kbd{SPC} expands or
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
680 contracts the item. @kbd{U} displays the parent directory of the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
681 current directory. To copy, delete, or rename the file on the current
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
682 line, type @kbd{C}, @kbd{D}, and @kbd{R} respectively. To create a
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
683 new directory, type @kbd{M}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
684
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
685 Another general-purpose speedbar mode is @dfn{Buffer Display} mode;
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
686 in this mode, the speedbar displays a list of Emacs buffers. To
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
687 switch to this mode, type @kbd{b} in the speedbar. To return to File
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
688 Display mode, type @kbd{f}. You can also change the display mode by
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
689 clicking @kbd{mouse-3} anywhere in the speedbar window (or
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
690 @kbd{mouse-1} on the mode-line) and selecting @samp{Displays} in the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
691 pop-up menu.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
692
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
693 Some major modes, including Rmail mode, Info, and GUD, have
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
694 specialized ways of putting useful items into the speedbar for you to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
695 select. For example, in Rmail mode, the speedbar shows a list of Rmail
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
696 files, and lets you move the current message to another Rmail file by
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
697 clicking on its @samp{<M>} box.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
698
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
699 For more details on using and programming the speedbar, @xref{Top,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
700 Speedbar,,speedbar, Speedbar Manual}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
701
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
702 @node Multiple Displays
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
703 @section Multiple Displays
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
704 @cindex multiple displays
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
705
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
706 A single Emacs can talk to more than one X display. Initially, Emacs
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
707 uses just one display---the one specified with the @env{DISPLAY}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
708 environment variable or with the @samp{--display} option (@pxref{Initial
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
709 Options}). To connect to another display, use the command
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
710 @code{make-frame-on-display}:
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
711
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
712 @findex make-frame-on-display
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
713 @table @kbd
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
714 @item M-x make-frame-on-display @key{RET} @var{display} @key{RET}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
715 Create a new frame on display @var{display}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
716 @end table
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
717
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
718 A single X server can handle more than one screen. When you open
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
719 frames on two screens belonging to one server, Emacs knows they share a
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
720 single keyboard, and it treats all the commands arriving from these
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
721 screens as a single stream of input.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
722
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
723 When you open frames on different X servers, Emacs makes a separate
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
724 input stream for each server. This way, two users can type
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
725 simultaneously on the two displays, and Emacs will not garble their
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
726 input. Each server also has its own selected frame. The commands you
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
727 enter with a particular X server apply to that server's selected frame.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
728
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
729 Despite these features, people using the same Emacs job from different
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
730 displays can still interfere with each other if they are not careful.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
731 For example, if any one types @kbd{C-x C-c}, that exits the Emacs job
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
732 for all of them!
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
733
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
734 @node Special Buffer Frames
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
735 @section Special Buffer Frames
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
736
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
737 @vindex special-display-buffer-names
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
738 You can make certain chosen buffers, which Emacs normally displays
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
739 in ``another window,'' appear in special frames of their own. To do
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
740 this, set the variable @code{special-display-buffer-names} to a list
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
741 of buffer names; any buffer whose name is in that list automatically
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
742 gets a special frame, when an Emacs command wants to display it ``in
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
743 another window.''
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
744
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
745 For example, if you set the variable this way,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
746
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
747 @example
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
748 (setq special-display-buffer-names
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
749 '("*Completions*" "*grep*" "*tex-shell*"))
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
750 @end example
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
751
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
752 @noindent
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
753 then completion lists, @code{grep} output and the @TeX{} mode shell
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
754 buffer get individual frames of their own. These frames, and the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
755 windows in them, are never automatically split or reused for any other
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
756 buffers. They continue to show the buffers they were created for,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
757 unless you alter them by hand. Killing the special buffer deletes its
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
758 frame automatically.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
759
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
760 @vindex special-display-regexps
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
761 More generally, you can set @code{special-display-regexps} to a list
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
762 of regular expressions; then a buffer gets its own frame if its name
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
763 matches any of those regular expressions. (Once again, this applies only
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
764 to buffers that normally get displayed for you in ``another window.'')
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
765
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
766 @vindex special-display-frame-alist
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
767 The variable @code{special-display-frame-alist} specifies the frame
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
768 parameters for these frames. It has a default value, so you don't need
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
769 to set it.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
770
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
771 For those who know Lisp, an element of
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
772 @code{special-display-buffer-names} or @code{special-display-regexps}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
773 can also be a list. Then the first element is the buffer name or
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
774 regular expression; the rest of the list specifies how to create the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
775 frame. It can be an association list specifying frame parameter
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
776 values; these values take precedence over parameter values specified
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
777 in @code{special-display-frame-alist}. If you specify the symbol
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
778 @code{same-window} as a ``frame parameter'' in this list, with a
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
779 non-@code{nil} value, that means to use the selected window if
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
780 possible. If you use the symbol @code{same-frame} as a ``frame
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
781 parameter'' in this list, with a non-@code{nil} value, that means to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
782 use the selected frame if possible.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
783
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
784 Alternatively, the value can have this form:
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
785
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
786 @example
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
787 (@var{function} @var{args}...)
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
788 @end example
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
789
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
790 @noindent
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
791 where @var{function} is a symbol. Then the frame is constructed by
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
792 calling @var{function}; its first argument is the buffer, and its
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
793 remaining arguments are @var{args}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
794
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
795 An analogous feature lets you specify buffers which should be
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
796 displayed in the selected window. @xref{Force Same Window}. The
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
797 same-window feature takes precedence over the special-frame feature;
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
798 therefore, if you add a buffer name to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
799 @code{special-display-buffer-names} and it has no effect, check to see
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
800 whether that feature is also in use for the same buffer name.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
801
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
802 @node Frame Parameters
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
803 @section Setting Frame Parameters
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
804 @cindex Auto-Raise mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
805 @cindex Auto-Lower mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
806
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
807 @kindex S-Mouse-1
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
808 You can specify the font and colors used for text display, and the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
809 colors for the frame borders, the cursor, and the mouse cursor, by
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
810 customizing the faces @code{default}, @code{border}, @code{cursor} and
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
811 @code{mouse}. @xref{Face Customization}. You can also set a frame's
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
812 default font through a pop-up menu. Press @kbd{S-Mouse-1} to activate
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
813 this menu.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
814
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
815 These commands are available for controlling the window management
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
816 behavior of the selected frame.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
817
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
818 @table @kbd
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
819 @findex auto-raise-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
820 @item M-x auto-raise-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
821 Toggle whether or not the selected frame should auto-raise. Auto-raise
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
822 means that every time you move the mouse onto the frame, it raises the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
823 frame.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
824
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
825 Some window managers also implement auto-raise. If you enable
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
826 auto-raise for Emacs frames in your window manager, it will work, but
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
827 it is beyond Emacs' control, so @code{auto-raise-mode} has no effect
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
828 on it.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
829
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
830 @findex auto-lower-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
831 @item M-x auto-lower-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
832 Toggle whether or not the selected frame should auto-lower.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
833 Auto-lower means that every time you move the mouse off the frame,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
834 the frame moves to the bottom of the stack on the screen.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
835
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
836 The command @code{auto-lower-mode} has no effect on auto-lower
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
837 implemented by the window manager. To control that, you must use the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
838 appropriate window manager features.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
839 @end table
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
840
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
841 In Emacs versions that use an X toolkit, the color-setting and
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
842 font-setting functions don't affect menus and the menu bar, since they
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
843 are displayed by their own widget classes. To change the appearance of
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
844 the menus and menu bar, you must use X resources (@pxref{Resources}).
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
845 @xref{Colors}, regarding colors. @xref{Font X}, regarding choice of
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
846 font.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
847
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
848 Colors, fonts, and other attributes of the frame's display can also
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
849 be customized by setting frame parameters in the variable
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
850 @code{default-frame-alist} (@pxref{Creating Frames}). For a detailed
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
851 description of frame parameters and customization, see @ref{Frame
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
852 Parameters,,, elisp, The Emacs Lisp Reference Manual}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
853
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
854 @node Scroll Bars
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
855 @section Scroll Bars
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
856 @cindex Scroll Bar mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
857 @cindex mode, Scroll Bar
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
858
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
859 On graphical displays, Emacs normally makes a @dfn{scroll bar} at
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
860 the left of each Emacs window.@footnote{Placing it at the left is
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
861 usually more useful with overlapping frames with text starting at the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
862 left margin.} The scroll bar runs the height of the window, and shows
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
863 a moving rectangular inner box which represents the portion of the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
864 buffer currently displayed. The entire height of the scroll bar
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
865 represents the entire length of the buffer.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
866
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
867 You can use @kbd{Mouse-2} (normally, the middle button) in the scroll
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
868 bar to move or drag the inner box up and down. If you move it to the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
869 top of the scroll bar, you see the top of the buffer. If you move it to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
870 the bottom of the scroll bar, you see the bottom of the buffer.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
871
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
872 The left and right buttons in the scroll bar scroll by controlled
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
873 increments. @kbd{Mouse-1} (normally, the left button) moves the line at
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
874 the level where you click up to the top of the window. @kbd{Mouse-3}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
875 (normally, the right button) moves the line at the top of the window
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
876 down to the level where you click. By clicking repeatedly in the same
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
877 place, you can scroll by the same distance over and over.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
878
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
879 You can also click @kbd{C-Mouse-2} in the scroll bar to split a
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
880 window vertically. The split occurs on the line where you click.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
881
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
882 @findex scroll-bar-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
883 @vindex scroll-bar-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
884 You can enable or disable Scroll Bar mode with the command @kbd{M-x
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
885 scroll-bar-mode}. With no argument, it toggles the use of scroll
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
886 bars. With an argument, it turns use of scroll bars on if and only if
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
887 the argument is positive. This command applies to all frames,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
888 including frames yet to be created. Customize the variable
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
889 @code{scroll-bar-mode} to control the use of scroll bars at startup.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
890 You can use it to specify that they are placed at the right of windows
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
891 if you prefer that. You have to set this variable through the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
892 @samp{Customize} interface (@pxref{Easy Customization}), or it will
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
893 not work properly.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
894
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
895 You can also use the X resource @samp{verticalScrollBars} to control
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
896 the initial setting of Scroll Bar mode. @xref{Resources}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
897
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
898 @findex toggle-scroll-bar
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
899 To enable or disable scroll bars for just the selected frame, use the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
900 command @kbd{M-x toggle-scroll-bar}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
901
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
902 @vindex scroll-bar-width
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
903 @cindex width of the scroll bar
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
904 You can control the scroll bar width by changing the value of the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
905 @code{scroll-bar-width} frame parameter.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
906
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
907 @node Wheeled Mice
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
908 @section Scrolling With ``Wheeled'' Mice
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
909
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
910 @cindex mouse wheel
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
911 @cindex wheel, mouse
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
912 @findex mouse-wheel-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
913 @cindex Mouse Wheel minor mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
914 @cindex mode, Mouse Wheel
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
915 Some mice have a ``wheel'' instead of a third button. You can
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
916 usually click the wheel to act as either @kbd{Mouse-2} or
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
917 @kbd{Mouse-3}, depending on the setup. You can also use the wheel to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
918 scroll windows instead of using the scroll bar or keyboard commands.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
919 Mouse wheel support only works if the system generates appropriate
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
920 events; whenever possible, it is turned on by default. To toggle this
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
921 feature, use @kbd{M-x mouse-wheel-mode}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
922
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
923 @vindex mouse-wheel-follow-mouse
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
924 @vindex mouse-wheel-scroll-amount
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
925 @vindex mouse-wheel-progressive-speed
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
926 The two variables @code{mouse-wheel-follow-mouse} and
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
927 @code{mouse-wheel-scroll-amount} determine where and by how much
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
928 buffers are scrolled. The variable
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
929 @code{mouse-wheel-progressive-speed} determines whether the scroll
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
930 speed is linked to how fast you move the wheel.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
931
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
932 @node Drag and Drop
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
933 @section Drag and Drop
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
934 @cindex drag and drop
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
935
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
936 Emacs supports @dfn{drag and drop} using the mouse. For instance,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
937 dropping text onto an Emacs frame inserts the text where it is dropped.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
938 Dropping a file onto an Emacs frame visits that file. As a special
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
939 case, dropping the file on a Dired buffer moves or copies the file
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
940 (according to the conventions of the application it came from) into the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
941 directory displayed in that buffer.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
942
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
943 @vindex dnd-open-file-other-window
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
944 Dropping a file normally visits it in the window you drop it on. If
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
945 you prefer to visit the file in a new window in such cases, customize
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
946 the variable @code{dnd-open-file-other-window}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
947
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
948 The XDND and Motif drag and drop protocols, and the old KDE 1.x
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
949 protocol, are currently supported.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
950
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
951 @node Menu Bars
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
952 @section Menu Bars
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
953 @cindex Menu Bar mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
954 @cindex mode, Menu Bar
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
955 @findex menu-bar-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
956 @vindex menu-bar-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
957
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
958 You can turn display of menu bars on or off with @kbd{M-x
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
959 menu-bar-mode} or by customizing the variable @code{menu-bar-mode}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
960 With no argument, this command toggles Menu Bar mode, a
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
961 minor mode. With an argument, the command turns Menu Bar mode on if the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
962 argument is positive, off if the argument is not positive. You can use
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
963 the X resource @samp{menuBarLines} to control the initial setting of
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
964 Menu Bar mode. @xref{Resources}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
965
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
966 @kindex C-Mouse-3 @r{(when menu bar is disabled)}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
967 Expert users often turn off the menu bar, especially on text-only
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
968 terminals, where this makes one additional line available for text.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
969 If the menu bar is off, you can still pop up a menu of its contents
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
970 with @kbd{C-Mouse-3} on a display which supports pop-up menus.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
971 @xref{Menu Mouse Clicks}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
972
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
973 @xref{Menu Bar}, for information on how to invoke commands with the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
974 menu bar. @xref{X Resources}, for how to customize the menu bar
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
975 menus' visual appearance.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
976
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
977 @node Tool Bars
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
978 @section Tool Bars
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
979 @cindex Tool Bar mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
980 @cindex mode, Tool Bar
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
981 @cindex icons, toolbar
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
982
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
983 The @dfn{tool bar} is a line (or lines) of icons at the top of the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
984 Emacs window, just below the menu bar. You can click on these icons
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
985 with the mouse to do various jobs.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
986
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
987 The global tool bar contains general commands. Some major modes
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
988 define their own tool bars to replace it. A few ``special'' modes
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
989 that are not designed for ordinary editing remove some items from the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
990 global tool bar.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
991
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
992 Tool bars work only on a graphical display. The tool bar uses colored
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
993 XPM icons if Emacs was built with XPM support. Otherwise, the tool
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
994 bar uses monochrome icons (PBM or XBM format).
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
995
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
996 @findex tool-bar-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
997 @vindex tool-bar-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
998 You can turn display of tool bars on or off with @kbd{M-x
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
999 tool-bar-mode} or by customizing the option @code{tool-bar-mode}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1000
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1001 @node Dialog Boxes
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1002 @section Using Dialog Boxes
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1003 @cindex dialog boxes
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1004
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1005 @vindex use-dialog-box
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1006 A dialog box is a special kind of menu for asking you a yes-or-no
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1007 question or some other special question. Many Emacs commands use a
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1008 dialog box to ask a yes-or-no question, if you used the mouse to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1009 invoke the command to begin with.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1010
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1011 You can customize the variable @code{use-dialog-box} to suppress the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1012 use of dialog boxes. This also controls whether to use file selection
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1013 windows (but those are not supported on all platforms).
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1014
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1015 @vindex use-file-dialog
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1016 A file selection window is a special kind of dialog box for asking
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1017 for file names. You can customize the variable @code{use-file-dialog}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1018 to suppress the use of file selection windows, even if you still want
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1019 other kinds of dialogs. This variable has no effect if you have
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1020 suppressed all dialog boxes with the variable @code{use-dialog-box}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1021
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1022 @vindex x-gtk-show-hidden-files
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1023 For Gtk+ version 2.4 and newer, Emacs use the Gtk+ file chooser
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1024 dialog. Emacs adds a toggle button that enables and disables showing
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1025 of hidden files (files starting with a dot) in that dialog. The
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1026 variable @code{x-gtk-show-hidden-files} controls whether to show
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1027 hidden files by default.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1028
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1029 @vindex x-gtk-use-old-file-dialog
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1030 For Gtk+ versions 2.4 through 2.10, you can select the old file
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1031 dialog (@code{gtk-file-selector}) by setting the variable
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1032 @code{x-gtk-use-old-file-dialog} to a non-@code{nil} value. If it is
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1033 @code{nil}, Emacs uses @code{gtk-file-chooser}. If Emacs is built
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1034 with a Gtk+ version that has only one file dialog, this variable has
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1035 no effect.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1036
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1037 @vindex x-gtk-file-dialog-help-text
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1038 Emacs adds help text to the Gtk+ file chooser dialog. The variable
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1039 @code{x-gtk-file-dialog-help-text} specifies the text to add; if it is
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1040 @code{nil}, that disables the added text.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1041
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1042 @node Tooltips
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1043 @section Tooltips
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1044 @cindex tooltips
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1045
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1046 @dfn{Tooltips} are small windows that display text information at the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1047 current mouse position. They activate when there is a pause in mouse
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1048 movement. There are two types of tooltip: help tooltips and GUD
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1049 tooltips.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1050
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1051 @dfn{Help tooltips} typically display over text---including the mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1052 line---but are also available for other parts of the Emacs frame, such
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1053 as the tool bar and menu items.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1054
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1055 @findex tooltip-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1056 You can toggle display of help tooltips (Tooltip mode) with the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1057 command @kbd{M-x tooltip-mode}. When Tooltip mode is disabled, the
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1058 help text is displayed in the echo area instead.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1059
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1060 @dfn{GUD tooltips} show values of variables. They are useful when
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1061 you are debugging a program. @xref{Debugger Operation}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1062
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1063 @vindex tooltip-delay
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1064 The variables @code{tooltip-delay} specifies how long Emacs should
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1065 wait before displaying a tooltip. For additional customization
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1066 options for displaying tooltips, use @kbd{M-x customize-group
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1067 @key{RET} tooltip @key{RET}}. @xref{X Resources}, for information on
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1068 customizing the windows that display tooltips.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1069
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1070 @node Mouse Avoidance
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1071 @section Mouse Avoidance
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1072 @cindex avoiding mouse in the way of your typing
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1073 @cindex mouse avoidance
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1074
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1075 @vindex mouse-avoidance-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1076 Mouse Avoidance mode keeps the mouse pointer away from point, to avoid
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1077 obscuring text you want to edit. Whenever it moves the mouse, it also
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1078 raises the frame. To use Mouse Avoidance mode, customize the variable
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1079 @code{mouse-avoidance-mode}. You can set this to various values to
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1080 move the mouse in several ways:
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1081
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1082 @table @code
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1083 @item banish
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1084 Move the mouse to the upper-right corner on any key-press;
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1085 @item exile
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1086 Move the mouse to the corner only if the cursor gets too close,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1087 and allow it to return once the cursor is out of the way;
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1088 @item jump
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1089 If the cursor gets too close to the mouse, displace the mouse
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1090 a random distance & direction;
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1091 @item animate
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1092 As @code{jump}, but shows steps along the way for illusion of motion;
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1093 @item cat-and-mouse
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1094 The same as @code{animate};
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1095 @item proteus
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1096 As @code{animate}, but changes the shape of the mouse pointer too.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1097 @end table
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1098
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1099 @findex mouse-avoidance-mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1100 You can also use the command @kbd{M-x mouse-avoidance-mode} to enable
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1101 the mode.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1102
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1103 @node Non-Window Terminals
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1104 @section Non-Window Terminals
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1105 @cindex non-window terminals
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1106 @cindex single-frame terminals
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1107
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1108 On a text-only terminal, Emacs can display only one Emacs frame at a
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1109 time. However, you can still create multiple Emacs frames, and switch
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1110 between them. Switching frames on these terminals is much like
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1111 switching between different window configurations.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1112
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1113 Use @kbd{C-x 5 2} to create a new frame and switch to it; use @kbd{C-x
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1114 5 o} to cycle through the existing frames; use @kbd{C-x 5 0} to delete
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1115 the current frame.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1116
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1117 Each frame has a number to distinguish it. If your terminal can
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1118 display only one frame at a time, the selected frame's number @var{n}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1119 appears near the beginning of the mode line, in the form
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1120 @samp{F@var{n}}.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1121
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1122 @findex set-frame-name
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1123 @findex select-frame-by-name
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1124 @samp{F@var{n}} is in fact the frame's initial name. You can give
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1125 frames more meaningful names if you wish, and you can select a frame
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1126 by its name. Use the command @kbd{M-x set-frame-name @key{RET}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1127 @var{name} @key{RET}} to specify a new name for the selected frame,
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1128 and use @kbd{M-x select-frame-by-name @key{RET} @var{name} @key{RET}}
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1129 to select a frame according to its name. The name you specify appears
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1130 in the mode line when the frame is selected.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1131
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1132 @node Text-Only Mouse
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1133 @section Using a Mouse in Terminal Emulators
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1134 @cindex mouse support
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1135 @cindex terminal emulators, mouse support
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1136
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1137 Some terminal emulators support mouse clicks in the terminal window.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1138
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1139 @cindex xterm
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1140 In a terminal emulator which is compatible with @code{xterm},
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1141 you can use @kbd{M-x xterm-mouse-mode} to give Emacs control over
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1142 simple use of the mouse---basically, only non-modified single clicks
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1143 are supported. The normal @code{xterm} mouse functionality for such
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1144 clicks is still available by holding down the @kbd{SHIFT} key when you
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1145 press the mouse button. Xterm Mouse mode is a global minor mode
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1146 (@pxref{Minor Modes}). Repeating the command turns the mode off
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1147 again.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1148
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1149 In the console on GNU/Linux, you can use @kbd{M-x t-mouse-mode}. You
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1150 need to have the gpm package installed and running on your system in
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1151 order for this to work.
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1152
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1153 @ignore
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1154 arch-tag: 7dcf3a31-a43b-45d4-a900-445b10d77e49
dd1e0f743923 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1155 @end ignore