annotate man/xemacs/frame.texi @ 129:e292c9648bb9 xemacs-20-1p3

Import from CVS: tag xemacs-20-1p3
author cvs
date Mon, 13 Aug 2007 09:28:38 +0200
parents 376386a54a3c
children b2472a1930f2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 @node Frame, Keystrokes, Concept Index, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 @chapter The XEmacs Frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 @cindex frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 @cindex window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 @cindex buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 @table @asis
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 @item Frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 In many environments, such as a tty terminal, an XEmacs frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 literally takes up the whole screen. If you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 running XEmacs in a multi-window system like the X Window System, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 XEmacs frame takes up one X window. @xref{XEmacs under X}, for more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 information.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 @item Window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 No matter what environment you are running in, XEmacs allows you to look
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 at several buffers at the same time by having several windows be part of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 the frame. Often, the whole frame is taken up by just one window, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 you can split the frame into two or more subwindows. If you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 running XEmacs under the X window system, that means you can have several
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 @dfn{XEmacs windows} inside the X window that contains the XEmacs frame.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 You can even have multiple frames in different X windows, each with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 their own set of subwindows.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 @refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 Each XEmacs frame displays a variety of information:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 The biggest area usually displays the text you are editing. It may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 consist of one window or of two or more windows if you need to look at two
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 buffers a the same time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 Below each text window's last line is a @dfn{mode line} (@pxref{Mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 Line}), which describes what is going on in that window. The mode line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 is in inverse video if the terminal supports that. If there are several
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 XEmacs windows in one frame, each window has its own mode line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 At the bottom of each XEmacs frame is the @dfn{echo area} or @dfn{minibuffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 window}(@pxref{Echo Area}). It is used by XEmacs to exchange information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 with the user. There is only one echo area per XEmacs frame.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 If you are running XEmacs under the X Window System, a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 menu bar at the top of the frame makes shortcuts to several of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 commands available (@pxref{Pull-down Menus}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 You can subdivide the XEmacs frame into multiple text windows, and use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 each window for a different file (@pxref{Windows}). Multiple XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 windows are tiled vertically on the XEmacs frame. The upper XEmacs window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 is separated from the lower window by its mode line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 When there are multiple, tiled XEmacs windows on a single XEmacs frame,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 the XEmacs window receiving input from the keyboard has the @dfn{keyboard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 focus} and is called the @dfn{selected window}. The selected window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 contains the cursor, which indicates the insertion point. If you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 working in an environment that permits multiple XEmacs frames, and you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 move the focus from one XEmacs frame into another, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 selected window is the one that was last selected in that frame.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 The same text can be displayed simultaneously in several XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 windows, which can be in different XEmacs frames. If you alter the text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 in an XEmacs buffer by editing it in one XEmacs window, the changes are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 visible in all XEmacs windows containing that buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 * Point:: The place in the text where editing commands operate.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 * Echo Area:: Short messages appear at the bottom of the frame.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 * Mode Line:: Interpreting the mode line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 * XEmacs under X:: Some information on using XEmacs under the X
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 Window System.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 @node Point, Echo Area, Frame, Frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 @section Point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 @cindex point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 @cindex cursor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 When XEmacs is running, the cursor shows the location at which editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 commands will take effect. This location is called @dfn{point}. You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 can use keystrokes or the mouse cursor to move point through the text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 and edit the text at different places.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 While the cursor appears to point @var{at} a character, you should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 think of point as @var{between} two characters: it points @var{before}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 the character on which the cursor appears. Sometimes people speak
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 of ``the cursor'' when they mean ``point,'' or speak of commands that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 move point as ``cursor motion'' commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 Each XEmacs frame has only one cursor. When output is in progress, the cursor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 must appear where the typing is being done. This does not mean that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 point is moving. It is only that XEmacs has no way to show you the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 location of point except when the terminal is idle.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 If you are editing several files in XEmacs, each file has its own point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 location. A file that is not being displayed remembers where point is.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 Point becomes visible at the correct location when you look at the file again.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 When there are multiple text windows, each window has its own point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 location. The cursor shows the location of point in the selected
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 window. The visible cursor also shows you which window is selected. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 the same buffer appears in more than one window, point can be moved in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 each window independently.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 The term `point' comes from the character @samp{.}, which was the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 command in TECO (the language in which the original Emacs was written)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 for accessing the value now called `point'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 @node Echo Area, Mode Line, Point, Frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 @section The Echo Area
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 @cindex echo area
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 The line at the bottom of the frame (below the mode line) is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 @dfn{echo area}. XEmacs uses this area to communicate with the user:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 @dfn{Echoing} means printing out the characters that the user types. XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 never echoes single-character commands. Multi-character commands are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123 echoed only if you pause while typing them: As soon as you pause for more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 than one second in the middle of a command, all the characters of the command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 so far are echoed. This is intended to @dfn{prompt} you for the rest of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 the command. Once echoing has started, the rest of the command is echoed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 immediately as you type it. This behavior is designed to give confident
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128 users fast response, while giving hesitant users maximum feedback. You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129 can change this behavior by setting a variable (@pxref{Display Vars}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 If you issue a command that cannot be executed, XEmacs may print an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 @dfn{error message} in the echo area. Error messages are accompanied by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 a beep or by flashing the frame. Any input you have typed ahead is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 thrown away when an error happens.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 Some commands print informative messages in the echo area. These
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137 messages look similar to error messages, but are not announced with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 beep and do not throw away input. Sometimes a message tells you what the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 command has done, when this is not obvious from looking at the text being
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 edited. Sometimes the sole purpose of a command is to print a message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 giving you specific information. For example, the command @kbd{C-x =} is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 used to print a message describing the character position of point in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 text and its current column in the window. Commands that take a long time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144 often display messages ending in @samp{...} while they are working, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 add @samp{done} at the end when they are finished.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 The echo area is also used to display the @dfn{minibuffer}, a window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148 that is used for reading arguments to commands, such as the name of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 file to be edited. When the minibuffer is in use, the echo area displays
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 with a prompt string that usually ends with a colon. The cursor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 appears after the prompt. You can always get out of the minibuffer by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 typing @kbd{C-g}. @xref{Minibuffer}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 @node Mode Line, XEmacs under X, Echo Area, Frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 @section The Mode Line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 @cindex mode line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 @cindex top level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 Each text window's last line is a @dfn{mode line} which describes what is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162 going on in that window. When there is only one text window, the mode line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163 appears right above the echo area. The mode line is in inverse video if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 the terminal supports that, starts and ends with dashes, and contains text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 like @samp{XEmacs:@: @var{something}}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 If a mode line has something else in place of @samp{XEmacs:@:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 @var{something}}, the window above it is in a special subsystem
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 such as Dired. The mode line then indicates the status of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170 subsystem.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 Normally, the mode line has the following appearance:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 --@var{ch}-XEmacs: @var{buf} (@var{major} @var{minor})----@var{pos}------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 This gives information about the buffer being displayed in the window: the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 buffer's name, what major and minor modes are in use, whether the buffer's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 text has been changed, and how far down the buffer you are currently
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 looking.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184 @var{ch} contains two stars (@samp{**}) if the text in the buffer has been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 edited (the buffer is ``modified''), or two dashes (@samp{--}) if the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 buffer has not been edited. Exception: for a read-only buffer, it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 @samp{%%}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 @var{buf} is the name of the window's chosen @dfn{buffer}. The chosen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190 buffer in the selected window (the window that the cursor is in) is also
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191 XEmacs's selected buffer, the buffer in which editing takes place. When
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 we speak of what some command does to ``the buffer'', we mean the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193 currently selected buffer. @xref{Buffers}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 @var{pos} tells you whether there is additional text above the top of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 the screen or below the bottom. If your file is small and it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197 completely visible on the screen, @var{pos} is @samp{All}. Otherwise,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 @var{pos} is @samp{Top} if you are looking at the beginning of the file,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 @samp{Bot} if you are looking at the end of the file, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200 @samp{@var{nn}%}, where @var{nn} is the percentage of the file above the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201 top of the screen.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203 @var{major} is the name of the @dfn{major mode} in effect in the buffer. At
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 any time, each buffer is in one and only one major mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 The available major modes include Fundamental mode (the least specialized),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206 Text mode, Lisp mode, and C mode. @xref{Major Modes}, for details
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 on how the modes differ and how you select one.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 @var{minor} is a list of some of the @dfn{minor modes} that are turned on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 in the window's chosen buffer. For example, @samp{Fill} means that Auto
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211 Fill mode is on. @code{Abbrev} means that Word Abbrev mode is on.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 @code{Ovwrt} means that Overwrite mode is on. @xref{Minor Modes}, for more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 information. @samp{Narrow} means that the buffer being displayed has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 editing restricted to only a portion of its text. This is not really a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215 minor mode, but is like one. @xref{Narrowing}. @code{Def} means that a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 keyboard macro is being defined. @xref{Keyboard Macros}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 Some buffers display additional information after the minor modes. For
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 example, Rmail buffers display the current message number and the total
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220 number of messages. Compilation buffers and Shell mode display the status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 of the subprocess.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 If XEmacs is currently inside a recursive editing level, square
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 brackets (@samp{[@dots{}]}) appear around the parentheses that surround
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 the modes. If XEmacs is in one recursive editing level within another,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 double square brackets appear, and so on. Since information on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 recursive editing applies to XEmacs in general and not to any one buffer,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 the square brackets appear in every mode line on the screen or not in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 any of them. @xref{Recursive Edit}.@refill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 @findex display-time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 XEmacs can optionally display the time and system load in all mode lines.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 To enable this feature, type @kbd{M-x display-time}. The information added
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 to the mode line usually appears after the file name, before the mode names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 and their parentheses. It looks like this:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 @var{hh}:@var{mm}pm @var{l.ll} [@var{d}]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 @noindent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242 (Some fields may be missing if your operating system cannot support them.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 @var{hh} and @var{mm} are the hour and minute, followed always by @samp{am}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 or @samp{pm}. @var{l.ll} is the average number of running processes in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 whole system recently. @var{d} is an approximate index of the ratio of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246 disk activity to CPU activity for all users.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 The word @samp{Mail} appears after the load level if there is mail for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249 you that you have not read yet.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 @vindex mode-line-inverse-video
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252 Customization note: the variable @code{mode-line-inverse-video}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253 controls whether the mode line is displayed in inverse video (assuming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254 the terminal supports it); @code{nil} means no inverse video. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255 default is @code{t}. For X frames, simply set the foreground and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256 background colors appropriately.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 @node XEmacs under X, , Mode Line, Frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 @section Using XEmacs Under the X Window System
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 XEmacs can be used with the X Window System and a window manager like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 MWM or TWM. In that case, the X window manager opens, closes, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 resizes XEmacs frames. You use the window manager's mouse gestures to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 perform the operations. Consult your window manager guide or reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266 manual for information on manipulating X windows.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 When you are working under X, each X window (that is, each XEmacs frame)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269 has a menu bar for mouse-controlled operations (@pxref{Pull-down Menus}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271 @cindex multi-frame XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 @findex make-frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 XEmacs under X is also a multi-frame XEmacs. You can use the @b{New
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 Frame} menu item from the @b{File} menu to create a new XEmacs frame in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 new X window from the same process. The different frames will share the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 same buffer list, but you can look at different buffers in the different
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277 frames.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 @findex find-file-other-frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 The function @code{find-file-other-frame} is just like @code{find-file},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281 but creates a new frame to display the buffer in first. This is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282 normally bound to @kbd{C-x 5 C-f}, and is what the @b{Open File, New
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 Frame} menu item does.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285 @findex switch-to-buffer-other-frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 The function @code{switch-to-buffer-other-frame} is just like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 @code{switch-to-buffer}, but creates a new frame to display the buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288 in first. This is normally bound to @kbd{C-x 5 b}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 @vindex default-frame-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 You can specify a different default frame size other than the one provided.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 Use the variable @code{default-frame-alist}, which is an alist of default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293 values for frame creation other than the first one. These may be set in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294 your init file, like this:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 (setq default-frame-alist '((width . 80) (height . 55)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 @vindex x-frame-defaults
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301 For values specific to the first XEmacs frame, you must use X resources.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 The variable @code{x-frame-defaults} takes an alist of default frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303 creation parameters for X window frames. These override what is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304 specified in @file{~/.Xdefaults} but are overridden by the arguments to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 the particular call to @code{x-create-frame}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307 @vindex create-frame-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 When you create a new frame, the variable @code{create-frame-hook}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 is called with one argument, the frame just created.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311 If you want to close one or more of the X windows you created using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312 @b{New Frame}, use the @b{Delete Frame} menu item from the @b{File} menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314 @vindex frame-title-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315 @vindex frame-icon-title-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316 If you are working with multiple frames, some special information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317 applies:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320 Two variables, @code{frame-title-format} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321 @code{frame-icon-title-format} determine the title of the frame and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 the title of the icon that results if you shrink the frame.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324 @vindex auto-lower-frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325 @vindex auto-raise-frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327 The variables @code{auto-lower-frame} and @code{auto-raise-frame}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328 position a frame. If true, @code{auto-lower-frame} lowers a frame to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329 the bottom when it is no longer selected. If true,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330 @code{auto-raise-frame} raises a frame to the top when it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 selected. Under X, most ICCCM-compliant window managers will have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 options to do this for you, but these variables are provided in case you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
333 are using a broken window manager.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336 There is a new frame/modeline format directive, %S, which expands to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 the name of the current frame (a frame's name is distinct from its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338 title; the name is used for resource lookup, among other things, and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339 title is simply what appears above the window.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 @end itemize