@c This is part of the Emacs manual.
-@c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
+@c Copyright (C) 1985,86,87,93,94,95,1997,2001 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Screen, User Input, Acknowledgments, Top
@chapter The Organization of the Screen
to display your editing. Emacs normally starts out with just one frame,
but you can create additional frames if you wish. @xref{Frames}.
- When you start Emacs, the entire frame except for the first and last
-lines is devoted to the text you are editing. This area is called the
-@dfn{window}. The first line is a @dfn{menu bar}, and the last line is
-a special @dfn{echo area} or @dfn{minibuffer window} where prompts
-appear and where you can enter responses. See below for more
+ When you start Emacs, the entire frame except for the top and bottom
+is devoted to the text you are editing. This area is called the
+@dfn{window}. At the top there is normally a @dfn{menu bar} where you
+can access a series of menus; then there may be a @dfn{tool bar}, a
+row of icons that perform editing commands if you click on them.
+Below this, the window begins. The last line is a special @dfn{echo
+area} or @dfn{minibuffer window}, where prompts appear and where you
+enter information when Emacs asks for it. See below for more
information about these special lines.
You can subdivide the large text window horizontally or vertically
file (@pxref{Windows}). In this manual, the word ``window'' always
refers to the subdivisions of a frame within Emacs.
- The window that the cursor is in is the @dfn{selected window}, in
-which editing takes place. Most Emacs commands implicitly apply to the
-text in the selected window (though mouse commands generally operate on
-whatever window you click them in, whether selected or not). The other
-windows display text for reference only, unless/until you select them.
-If you use multiple frames under the X Window System, then giving the
-input focus to a particular frame selects a window in that frame.
-
- Each window's last line is a @dfn{mode line}, which describes what is
-going on in that window. It appears in inverse video, if the terminal
-supports that, and its contents begin with @w{@samp{--:-- @ *scratch*}}
-when Emacs starts. The mode line displays status information such as
-what buffer is being displayed above it in the window, what major and
-minor modes are in use, and whether the buffer contains unsaved changes.
+ At any time, one window is the @dfn{selected window}. On graphical
+terminals, the selected window normally shows a more prominent cursor
+(solid and blinking) while other windows show a weaker cursor (such as
+a hollow box). On text terminals, which have just one cursor, that cursor
+appears in the selected window.
+
+ Most Emacs commands implicitly apply to the text in the selected
+window (though mouse commands generally operate on whatever window you
+click them in, whether selected or not). The other windows display
+text for reference only, unless/until you select them. If you use
+multiple frames under the X Window System, then giving the input focus
+to a particular frame selects a window in that frame.
+
+ Each window's last line is a @dfn{mode line}, which describes what
+is going on in that window. It appears in different color and/or a
+``3D'' box, if the terminal supports that; its contents normally begin
+with @w{@samp{--:-- @ *scratch*}} when Emacs starts. The mode line
+displays status information such as what buffer is being displayed
+above it in the window, what major and minor modes are in use, and
+whether the buffer contains unsaved changes.
@menu
* Point:: The place in the text where editing commands operate.
@cindex point
@cindex cursor
- Within Emacs, the terminal's cursor shows the location at which
+ Within Emacs, the active cursor shows the location at which
editing commands will take effect. This location is called @dfn{point}.
Many Emacs commands move point through the text, so that you can edit at
different places in it. You can also place point by clicking mouse
Sometimes people speak of ``the cursor'' when they mean ``point,'' or
speak of commands that move point as ``cursor motion'' commands.
- Terminals have only one cursor, and when output is in progress it must
-appear where the typing is being done. This does not mean that point is
-moving. It is only that Emacs has no way to show you the location of point
-except when the terminal is idle.
-
If you are editing several files in Emacs, each in its own buffer,
-each buffer has its own point location. A buffer that is not currently
-displayed remembers where point is in case you display it again later.
-
- When there are multiple windows in a frame, each window has its own
-point location. The cursor shows the location of point in the selected
-window. This also is how you can tell which window is selected. If the
-same buffer appears in more than one window, each window has its own
-position for point in that buffer.
-
- When there are multiple frames, each frame can display one cursor.
-The cursor in the selected frame is solid; the cursor in other frames is
-a hollow box, and appears in the window that would be selected if you
-give the input focus to that frame.
+each buffer has its own point location. A buffer that is not
+currently displayed remembers its point location in case you display
+it again later. When Emacs displays multiple windows, each window has
+its own point location. If the same buffer appears in more than one
+window, each window has its own position for point in that buffer, and
+(when possible) its own cursor.
+
+ A text-only terminal has just one cursor, so Emacs puts it
+in the selected window. The other windows do not show a cursor, even
+though they do have a location of point. When Emacs updates the
+screen on a text-only terminal, it has to put the cursor temporarily
+at the place the output goes. This doesn't mean point is there,
+though. Once display updating finishes, Emacs puts the cursor where
+point is.
+
+ On graphical terminals, Emacs shows a cursor in each window; the
+selected window's cursor is solid and blinking, and the other cursors
+are just hollow. Thus, the most prominent cursor always shows you the
+selected window, on all kinds of terminals.
+
+ @xref{Cursor Display}, for customizable variables that control display
+of the cursor or cursors.
The term ``point'' comes from the character @samp{.}, which was the
command in TECO (the language in which the original Emacs was written)
@node Echo Area
@section The Echo Area
@cindex echo area
-@c
+@c
The line at the bottom of the frame (below the mode line) is the
@dfn{echo area}. It is used to display small amounts of text for
-several purposes.
+various purposes.
- @dfn{Echoing} means displaying the characters that you type. Outside
-Emacs, the operating system normally echoes all your input. Emacs
-handles echoing differently.
+ @dfn{Echoing} means displaying the characters that you type. At the
+command line, the operating system normally echoes all your input.
+Emacs handles echoing differently.
Single-character commands do not echo in Emacs, and multi-character
commands echo only if you pause while typing them. As soon as you pause
(@pxref{Display Custom}).
@cindex error message in the echo area
- If a command cannot be executed, it may print an @dfn{error message} in
-the echo area. Error messages are accompanied by a beep or by flashing the
-screen. Also, any input you have typed ahead is thrown away when an error
-happens.
-
- Some commands print informative messages in the echo area. These
-messages look much like error messages, but they are not announced with
-a beep and do not throw away input. Sometimes the message tells you
-what the command has done, when this is not obvious from looking at the
-text being edited. Sometimes the sole purpose of a command is to print
-a message giving you specific information---for example, @kbd{C-x =}
-prints a message describing the character position of point in the text
-and its current column in the window. Commands that take a long time
-often display messages ending in @samp{...} while they are working, and
-add @samp{done} at the end when they are finished.
+ If a command cannot be executed, it may display an @dfn{error message}
+in the echo area. Error messages are accompanied by beeping or by
+flashing the screen. The error also discards any input you have typed
+ahead.
+
+ Some commands display informative messages in the echo area. These
+messages look much like error messages, but they are not announced
+with a beep and do not throw away input. Sometimes the message tells
+you what the command has done, when this is not obvious from looking
+at the text being edited. Sometimes the sole purpose of a command is
+to show you a message giving you specific information---for example,
+@kbd{C-x =} (hold down @key{CTRL} and type @kbd{x}, then let go of
+@key{CTRL} and type @kbd{=}) displays a message describing the
+character position of point in the text and its current column in the
+window. Commands that take a long time often display messages ending
+in @samp{...} while they are working, and add @samp{done} at the end
+when they are finished.
@cindex @samp{*Messages*} buffer
@cindex saved echo area messages
Each text window's last line is a @dfn{mode line}, which describes
what is going on in that window. When there is only one text window,
the mode line appears right above the echo area; it is the
-next-to-last line on the frame. The mode line starts and ends with
+next-to-last line in the frame. The mode line starts and ends with
dashes. On a text-mode display, the mode line is in inverse video if
the terminal supports that; on a graphics display, the mode line has a
-3D box appearence to help it stand out.
+3D box appearance to help it stand out. The mode line of the
+selected window has a slightly different appearance than those of
+other windows; see @ref{Optional Mode Line}, for more about this.
Normally, the mode line looks like this:
@example
--@var{cs}:@var{ch} @var{buf} (@var{major} @var{minor})--@var{line}--@var{pos}------
+-@var{cs}:@var{ch} @var{buf} @var{pos} @var{line} (@var{major} @var{minor})------
@end example
@noindent
this is the same as the name of a file you are editing. @xref{Buffers}.
The buffer displayed in the selected window (the window that the
-cursor is in) is also Emacs's selected buffer, the one that editing
+cursor is in) is also Emacs's current buffer, the one that editing
takes place in. When we speak of what some command does to ``the
-buffer,'' we are talking about the currently selected buffer.
-
- @var{line} is @samp{L} followed by the current line number of point.
-This is present when Line Number mode is enabled (which it normally is).
-You can optionally display the current column number too, by turning on
-Column Number mode (which is not enabled by default because it is
-somewhat slower). @xref{Optional Mode Line}.
+buffer,'' we are talking about the current buffer.
@var{pos} tells you whether there is additional text above the top of
the window, or below the bottom. If your buffer is small and it is all
visible in the window, @var{pos} is @samp{All}. Otherwise, it is
@samp{Top} if you are looking at the beginning of the buffer, @samp{Bot}
if you are looking at the end of the buffer, or @samp{@var{nn}%}, where
-@var{nn} is the percentage of the buffer above the top of the
-window.@refill
+@var{nn} is the percentage of the buffer above the top of the window.
+With Size Indication mode, you can display the size of the buffer as
+well. @xref{Optional Mode Line}.
+
+ @var{line} is @samp{L} followed by the current line number of point.
+This is present when Line Number mode is enabled (which it normally is).
+You can optionally display the current column number too, by turning on
+Column Number mode (which is not enabled by default because it is
+somewhat slower). @xref{Optional Mode Line}.
@var{major} is the name of the @dfn{major mode} in effect in the
buffer. At any time, each buffer is in one and only one of the possible
formats by setting each of the variables @code{eol-mnemonic-unix},
@code{eol-mnemonic-dos}, @code{eol-mnemonic-mac}, and
@code{eol-mnemonic-undecided} to any string you find appropriate.
-@xref{Variables}, for an explanation how to set variables.
+@xref{Variables}, for an explanation of how to set variables.
@xref{Optional Mode Line}, for features that add other handy
-information to the mode line, such as the current column number of
-point, the current time, and whether new mail for you has arrived.
+information to the mode line, such as the size of the buffer, the
+current column number of point, the current time, and whether new mail
+for you has arrived.
The mode line is mouse-sensitive; when you move the mouse across
various parts of it, Emacs displays help text to say what a click in
When you are using a window system, you can use the mouse to choose a
command from the menu bar. An arrow pointing right, after the menu
item, indicates that the item leads to a subsidiary menu; @samp{...} at
-the end means that the command will read arguments from the keyboard
+the end means that the command will read arguments (further input from you)
before it actually does anything.
To view the full command name and documentation for a menu item, type
typing @kbd{M-`} or @key{F10} (these run the command
@code{tmm-menubar}). This command enters a mode in which you can select
a menu item from the keyboard. A provisional choice appears in the echo
-area. You can use the left and right arrow keys to move through the
+area. You can use the up and down arrow keys to move through the
menu to different choices. When you have found the choice you want,
type @key{RET} to select it.
Some of the commands in the menu bar have ordinary key bindings as
well; if so, the menu lists one equivalent key binding in parentheses
after the item itself.
+
+@ignore
+ arch-tag: 104ba40e-d972-4866-a542-a98be94bdf2f
+@end ignore