annotate doc/emacs/screen.texi @ 112447:bcecab2ad22d

* nsterm.m (x_set_offset): Set dont_constrain to 0 so the call to setFrameTopLeftPoint is constrained.
author Jan D. <jan.h.d@swipnet.se>
date Sun, 23 Jan 2011 14:28:14 +0100
parents ef719132ddfa
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1 @c This is part of the Emacs manual.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
112218
376148b31b5e Add 2011 to FSF/AIST copyright years.
Glenn Morris <rgm@gnu.org>
parents: 109262
diff changeset
3 @c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
109262
51ddcf320fe4 Untabify doc/emacs/*.texi files.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
4 @c Free Software Foundation, Inc.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
5 @c See file emacs.texi for copying conditions.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
6 @node Screen, User Input, Acknowledgments, Top
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
7 @chapter The Organization of the Screen
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
8 @cindex screen
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
9 @cindex parts of the screen
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
10
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
11 On a text-only terminal, the Emacs display occupies the entire
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
12 terminal screen. On a graphical display, such as on GNU/Linux using
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
13 the X Window System, Emacs creates its own windows to use. We use the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
14 term @dfn{frame} to mean the entire terminal screen or graphical
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
15 window used by Emacs. Emacs uses both kinds of frames, in the same
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
16 way, to display your editing. Emacs normally starts out with just one
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
17 frame, but you can create additional frames if you wish
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
18 (@pxref{Frames}).
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
19
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
20 The frame consists of several distinct regions. At the top of the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
21 frame is a @dfn{menu bar}, which allows you to access commands via a
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
22 series of menus. On a graphical display, directly below the menu bar
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
23 is a @dfn{tool bar}, a row of icons that perform editing commands if
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
24 you click on them. At the very bottom of the frame is a special
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
25 @dfn{echo area}, where short informative messages are displayed and
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
26 where you enter information when Emacs asks for it.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
27
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
28 The main area of the frame, below the tool bar (if one exists) and
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
29 above the echo area, is called @dfn{the window}. This is where Emacs
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
30 displays the @dfn{buffer}: the text that you are editing. On a
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
31 graphical display, the window possesses a @dfn{scroll bar} on one
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
32 side, which you can use to display different parts of the buffer in
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
33 the window. The last line of the window is a @dfn{mode line}. This
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
34 displays various information about what is going on in the buffer,
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
35 such as whether there are unsaved changes, the editing modes that are
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
36 in use, the current line number, and so forth.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
37
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
38 When you start Emacs, there is normally only one window in the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
39 frame. However, you can subdivide this window horizontally or
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
40 vertically to create multiple windows, each of which can independently
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
41 display a buffer (@pxref{Windows}). In this manual, the word
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
42 ``window'' refers to the initial large window if not subdivided, or
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
43 any one of the multiple windows you have subdivided it into.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
44
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
45 At any time, one window is the @dfn{selected window}. On graphical
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
46 displays, the selected window normally shows a more prominent cursor
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
47 (usually solid and blinking) while other windows show a weaker cursor
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
48 (such as a hollow box). Text terminals have just one cursor, so it
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
49 always appears in the selected window. The buffer displayed in the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
50 selected window is called the @dfn{current buffer}, and it is where
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
51 editing happens. Most Emacs commands implicitly apply to the current
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
52 buffer; the text displayed in unselected windows is mostly visible for
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
53 reference. If you use multiple frames on a graphical display,
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
54 selecting a particular frame selects a window in that frame.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
55
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
56 @menu
109262
51ddcf320fe4 Untabify doc/emacs/*.texi files.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
57 * Point:: The place in the text where editing commands operate.
51ddcf320fe4 Untabify doc/emacs/*.texi files.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
58 * Echo Area:: Short messages appear at the bottom of the screen.
51ddcf320fe4 Untabify doc/emacs/*.texi files.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
59 * Mode Line:: Interpreting the mode line.
51ddcf320fe4 Untabify doc/emacs/*.texi files.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
60 * Menu Bar:: How to use the menu bar.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
61 @end menu
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
62
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
63 @node Point
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
64 @section Point
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
65 @cindex point
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
66 @cindex cursor
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
67
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
68 The active cursor shows the location at which editing commands will
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
69 take effect, which is called @dfn{point}@footnote{The term ``point''
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
70 comes from the character @samp{.}, which was the command in TECO (the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
71 language in which the original Emacs was written) for accessing the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
72 value now called ``point.''}. Many Emacs commands move point to
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
73 different places in the buffer; for example, you can place point by
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
74 clicking mouse button 1 (normally the left button) at the desired
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
75 location.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
76
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
77 While the cursor appears to be @emph{on} a character, you should
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
78 think of point as @emph{between} two characters; it points @emph{before}
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
79 the character that appears under the cursor. For example, if your text
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
80 looks like @samp{frob} with the cursor over the @samp{b}, then point is
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
81 between the @samp{o} and the @samp{b}. If you insert the character
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
82 @samp{!} at that position, the result is @samp{fro!b}, with point
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
83 between the @samp{!} and the @samp{b}. Thus, the cursor remains over
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
84 the @samp{b}, as before.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
85
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
86 Sometimes people speak of ``the cursor'' when they mean ``point,'' or
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
87 speak of commands that move point as ``cursor motion'' commands.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
88
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
89 If you are editing several files in Emacs, each in its own buffer,
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
90 each buffer has its own point location. A buffer that is not
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
91 currently displayed remembers its point location in case you display
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
92 it again later. When Emacs displays multiple windows, each window has
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
93 its own point location. If the same buffer appears in more than one
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
94 window, each window has its own point position in that buffer.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
95
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
96 On a graphical display, Emacs shows a cursor in each window; the
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
97 selected window's cursor is solid and blinking, and the other cursors
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
98 are hollow. On a text-only terminal, there is just one cursor, in the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
99 selected window; even though the unselected windows have their own
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
100 point positions, they do not display a cursor. @xref{Cursor Display},
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
101 for customizable variables that control cursor display.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
102
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
103 @node Echo Area
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
104 @section The Echo Area
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
105 @cindex echo area
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
106
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
107 The line at the very bottom of the frame is the @dfn{echo area}. It
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
108 is used to display small amounts of text for various purposes.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
109
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
110 @dfn{Echoing} means displaying the characters that you type.
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
111 Single-character commands, including most simple editing operations,
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
112 are not echoed. Multi-character commands are echoed if you pause
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
113 while typing them: if you pause for more than a second in the middle
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
114 of a command, Emacs echoes all the characters of the command so far,
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
115 to prompt you for the rest of the command. The echoed characters are
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
116 displayed in the echo area. Once echoing has started, the rest of the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
117 command echoes immediately as you type it. This behavior is designed
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
118 to give confident users fast response, while giving hesitant users
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
119 maximum feedback. @xref{Display Custom}.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
120
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
121 @cindex error message in the echo area
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
122 If a command cannot do its job, it may display an @dfn{error
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
123 message}. Error messages are also displayed in the echo area. They
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
124 may be accompanied by beeping or by flashing the screen.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
125
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
126 Some commands display informative messages in the echo area. Unlike
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
127 error messages, these messages are not announced with a beep or flash.
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
128 Sometimes the message tells you what the command has done, when this
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
129 is not obvious from looking at the text being edited. Other times,
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
130 the sole purpose of a command is to show you a message giving you
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
131 specific information. For example, @kbd{C-x =} (hold down @key{CTRL}
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
132 and type @kbd{x}, then let go of @key{CTRL} and type @kbd{=}) displays
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
133 a message describing the character position of point in the text and
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
134 its current column in the window. Commands that take a long time
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
135 often display messages ending in @samp{...} while they are working,
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
136 and add @samp{done} at the end when they are finished. They may also
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
137 indicate progress with percentages.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
138
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
139 @cindex @samp{*Messages*} buffer
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
140 @cindex saved echo area messages
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
141 @cindex messages saved from echo area
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
142 @vindex message-log-max
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
143 Informative echo-area messages are saved in a special buffer named
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
144 @samp{*Messages*}. (We have not explained buffers yet; see
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
145 @ref{Buffers}, for more information about them.) If you miss a
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
146 message that appeared briefly on the screen, you can switch to the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
147 @samp{*Messages*} buffer to see it again. The @samp{*Messages*}
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
148 buffer is limited to a certain number of lines, specified by the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
149 variable @code{message-log-max}. (We have not explained variables
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
150 either; see @ref{Variables}, for more information about them.) Beyond
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
151 this limit, one line is deleted from the beginning whenever a new
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
152 message line is added at the end.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
153
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
154 @cindex minibuffer
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
155 The echo area is also used to display the @dfn{minibuffer}, a
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
156 special window where you can input arguments to commands, such as the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
157 name of a file to be edited. When the minibuffer is in use, the text
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
158 displayed in the echo area begins with a @dfn{prompt string} (usually
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
159 ending with a colon); also, the active cursor appears within the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
160 minibuffer, which is temporarily considered the selected window. You
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
161 can always get out of the minibuffer by typing @kbd{C-g}.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
162 @xref{Minibuffer}.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
163
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
164 @node Mode Line
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
165 @section The Mode Line
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
166 @cindex mode line
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
167 @cindex top level
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
168
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
169 At the bottom of each window is a @dfn{mode line}, which describes
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
170 what is going on in the current buffer. When there is only one
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
171 window, the mode line appears right above the echo area; it is the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
172 next-to-last line in the frame. On a graphical display, the mode line
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
173 is drawn with a 3D box appearance, and the mode line of the selected
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
174 window has a brighter color than that of unselected windows to make it
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
175 stand out. On a text-only terminal, the mode line is usually drawn in
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
176 inverse video.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
177
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
178 The text displayed in the mode line has the following format:
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
179
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
180 @example
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
181 -@var{cs}:@var{ch}-@var{fr} @var{buf} @var{pos} @var{line} (@var{major} @var{minor})------
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
182 @end example
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
183
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
184 @noindent
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
185 The @var{cs} string and the colon character after it describe the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
186 character set and newline convention used for the current buffer.
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
187 Normally, Emacs handles these settings intelligently, but it is
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
188 sometimes useful to have this information.
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
189
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
190 @var{cs} describes the character set of the buffer (@pxref{Coding
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
191 Systems}). If it is a dash (@samp{-}), that indicates the default
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
192 state of affairs: no special character set handling, except for the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
193 end-of-line translations described in the next paragraph. @samp{=}
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
194 means no conversion whatsoever. Letters represent various nontrivial
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
195 @dfn{coding systems}---for example, @samp{1} represents ISO Latin-1.
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
196 On a text-only terminal, @var{cs} is preceded by two additional
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
197 characters that describe the coding system for keyboard input and the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
198 coding system for terminal output. Furthermore, if you are using an
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
199 input method, @var{cs} is preceded by a string that identifies the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
200 input method, which takes the form @samp{@var{i}>}, @samp{@var{i}+},
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
201 or @samp{@var{i}@@} (@pxref{Input Methods}).
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
202
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
203 @cindex end-of-line conversion, mode-line indication
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
204 The character after @var{cs} is usually a colon. However, under
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
205 some circumstances a different string is displayed, which indicates a
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
206 nontrivial end-of-line convention. Usually, lines of text are
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
207 separated by @dfn{newline characters}, but two other conventions are
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
208 sometimes used. The MS-DOS convention is to use a ``carriage-return''
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
209 character followed by a ``linefeed'' character; when editing such
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
210 files, the colon changes to either a backslash (@samp{\}) or
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
211 @samp{(DOS)}, depending on the operating system. The Macintosh
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
212 end-of-line convention is to use a ``carriage-return'' character
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
213 instead of a newline; when editing such files, the colon indicator
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
214 changes to either a forward slash (@samp{/}) or @samp{(Mac)}. On some
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
215 systems, Emacs displays @samp{(Unix)} instead of the colon for files
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
216 that use newline as the line separator.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
217
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
218 The next element on the mode line is the string indicated by
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
219 @var{ch}. This shows two dashes (@samp{--}) if the buffer displayed
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
220 in the window has the same contents as the corresponding file on the
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
221 disk; i.e., if the buffer is ``unmodified''. If the buffer is
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
222 modified, it shows two stars (@samp{**}). For a read-only buffer, it
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
223 shows @samp{%*} if the buffer is modified, and @samp{%%} otherwise.
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
224
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
225 The character after @var{ch} is normally a dash (@samp{-}).
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
226 However, if the default-directory for the current buffer is on a
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
227 remote machine, @samp{@@} is displayed instead (@pxref{File Names}).
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
228
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
229 @var{fr} gives the selected frame name (@pxref{Frames}). It appears
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
230 only on text-only terminals. The initial frame's name is @samp{F1}.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
231
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
232 @var{buf} is the name of the buffer displayed in the window.
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
233 Usually, this is the same as the name of a file you are editing.
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
234 @xref{Buffers}.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
235
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
236 @var{pos} tells you whether there is additional text above the top of
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
237 the window, or below the bottom. If your buffer is small and it is all
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
238 visible in the window, @var{pos} is @samp{All}. Otherwise, it is
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
239 @samp{Top} if you are looking at the beginning of the buffer, @samp{Bot}
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
240 if you are looking at the end of the buffer, or @samp{@var{nn}%}, where
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
241 @var{nn} is the percentage of the buffer above the top of the window.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
242 With Size Indication mode, you can display the size of the buffer as
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
243 well. @xref{Optional Mode Line}.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
244
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
245 @var{line} is the character @samp{L} followed by the line number at
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
246 point. (You can display the current column number too, by turning on
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
247 Column Number mode. @xref{Optional Mode Line}.)
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
248
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
249 @var{major} is the name of the @dfn{major mode} used in the buffer.
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
250 A major mode is a principal editing mode for the buffer, such as Text
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
251 mode, Lisp mode, C mode, and so forth. @xref{Major Modes}.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
252
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
253 Some major modes display additional information after the major mode
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
254 name. For example, Rmail buffers display the current message number and
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
255 the total number of messages. Compilation buffers and Shell buffers
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
256 display the status of the subprocess.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
257
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
258 @var{minor} is a list of some of the @dfn{minor modes} turned on in
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
259 the buffer. Minor modes are optional editing modes that provide
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
260 additional features on top of the major mode. @xref{Minor Modes}.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
261
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
262 Some features are listed together with the minor modes whenever they
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
263 are turned on, even through they are not really minor modes.
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
264 @samp{Narrow} means that the buffer being displayed has editing
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
265 restricted to only a portion of its text (@pxref{Narrowing}).
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
266 @samp{Def} means that a keyboard macro is currently being defined
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
267 (@pxref{Keyboard Macros}).
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
268
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
269 In addition, if Emacs is inside a recursive editing level, square
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
270 brackets (@samp{[@dots{}]}) appear around the parentheses that
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
271 surround the modes. If Emacs is in one recursive editing level within
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
272 another, double square brackets appear, and so on. Since recursive
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
273 editing levels affect Emacs globally, not just one buffer, the square
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
274 brackets appear in every window's mode line or not in any of them.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
275 @xref{Recursive Edit}.@refill
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
276
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
277 You can change the appearance of the mode line as well as the format
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
278 of its contents. @xref{Optional Mode Line}. In addition, the mode
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
279 line is mouse-sensitive; clicking on different parts of the mode line
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
280 performs various commands. @xref{Mode Line Mouse}.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
281
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
282 @node Menu Bar
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
283 @section The Menu Bar
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
284 @cindex menu bar
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
285
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
286 Each Emacs frame normally has a @dfn{menu bar} at the top which you
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
287 can use to perform common operations. There's no need to list them
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
288 here, as you can more easily see them yourself.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
289
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
290 @kindex M-`
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
291 @kindex F10
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
292 @findex tmm-menubar
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
293 @findex menu-bar-open
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
294 On a graphical display, you can use the mouse to choose a command
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
295 from the menu bar. A right-arrow at the end of a menu item means it
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
296 leads to a subsidiary menu, or @dfn{submenu}. A @samp{...} at the end
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
297 of a menu item means that the command invoked will prompt you for
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
298 further input before it actually does anything.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
299
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
300 Some of the commands in the menu bar have ordinary key bindings as
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
301 well; if so, a key binding is shown in parentheses after the item
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
302 itself. To view the full command name and documentation for a menu
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
303 item, type @kbd{C-h k}, and then select the menu bar with the mouse in
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
304 the usual way (@pxref{Key Help}).
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
305
96650
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
306 Instead of using the mouse, you can also invoke the first menu bar
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
307 item by pressing @key{F10} (to run the command @code{menu-bar-open}).
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
308 You can then navigate the menus with the arrow keys. To activate a
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
309 selected menu item, press @key{RET}; to cancel menu navigation, press
d010216f9d3f (Screen): Copyedit. Define "buffer" and "current buffer" early on.
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
310 @key{ESC}.
84265
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
311
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
312 On text-only terminals with no mouse, you can use the menu bar by
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
313 typing @kbd{M-`} or @key{F10} (these run the command
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
314 @code{tmm-menubar}). This lets you select a menu item with the
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
315 keyboard. A provisional choice appears in the echo area. You can use
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
316 the up and down arrow keys to move through the menu to different
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
317 items, and then you can type @key{RET} to select the item.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
318
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
319 Each menu item also has an assigned letter or digit which designates
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
320 that item; it is usually the initial of some word in the item's name.
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
321 This letter or digit is separated from the item name by @samp{=>}. You
f4f8dd5f8455 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
322 can type the item's letter or digit to select the item.