diff man/xemacs/frame.texi @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children b2472a1930f2
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/xemacs/frame.texi	Mon Aug 13 08:45:50 2007 +0200
@@ -0,0 +1,340 @@
+@node Frame, Keystrokes, Concept Index, Top
+@comment  node-name,  next,  previous,  up
+@chapter The XEmacs Frame
+@cindex frame
+@cindex window
+@cindex buffer
+
+@table @asis
+@item Frame
+In many environments, such as a tty terminal, an XEmacs frame
+literally takes up the whole screen.  If you are
+running XEmacs in a multi-window system like the X Window System, the
+XEmacs frame takes up one X window.  @xref{XEmacs under X}, for more
+information.@refill
+
+@item Window
+No matter what environment you are running in, XEmacs allows you to look
+at several buffers at the same time by having several windows be part of
+the frame.  Often, the whole frame is taken up by just one window, but
+you can split the frame into two or more subwindows.  If you are
+running XEmacs under the X window system, that means you can have several
+@dfn{XEmacs windows} inside the X window that contains the XEmacs frame.
+You can even have multiple frames in different X windows, each with
+their own set of subwindows. 
+@refill
+@end table
+
+Each XEmacs frame displays a variety of information: 
+@itemize @bullet
+@item
+The biggest area usually displays the text you are editing.  It may
+consist of one window or of two or more windows if you need to look at two
+buffers a the same time. 
+@item
+Below each text window's last line is a @dfn{mode line} (@pxref{Mode
+Line}), which describes what is going on in that window.  The mode line
+is in inverse video if the terminal supports that.  If there are several
+XEmacs windows in one frame, each window has its own mode line.
+@item
+At the bottom of each XEmacs frame is the @dfn{echo area} or @dfn{minibuffer
+window}(@pxref{Echo Area}).  It is used by XEmacs to exchange information
+with the user.  There is only one echo area per XEmacs frame.
+@item
+If you are running XEmacs under the X Window System, a
+menu bar at the top of the frame makes shortcuts to several of the
+commands available (@pxref{Pull-down Menus}).
+@end itemize
+
+  You can subdivide the XEmacs frame into multiple text windows, and use
+each window for a different file (@pxref{Windows}).  Multiple XEmacs
+windows are tiled vertically on the XEmacs frame.  The upper XEmacs window
+is separated from the lower window by its mode line.
+
+  When there are multiple, tiled XEmacs windows on a single XEmacs frame,
+the XEmacs window receiving input from the keyboard has the @dfn{keyboard
+focus} and is called the @dfn{selected window}.  The selected window
+contains the cursor, which indicates the insertion point.  If you are
+working in an environment that permits multiple XEmacs frames, and you
+move the focus from one XEmacs frame into another, the
+selected window is the one that was last selected in that frame.
+
+  The same text can be displayed simultaneously in several XEmacs
+windows, which can be in different XEmacs frames.  If you alter the text
+in an XEmacs buffer by editing it in one XEmacs window, the changes are
+visible in all XEmacs windows containing that buffer.
+
+
+@menu
+* Point::	        The place in the text where editing commands operate.  
+* Echo Area::           Short messages appear at the bottom of the frame.  
+* Mode Line::	        Interpreting the mode line.  
+* XEmacs under X::      Some information on using XEmacs under the X 
+                        Window System. 
+@end menu
+
+@node Point, Echo Area, Frame, Frame
+@comment  node-name,  next,  previous,  up
+@section Point
+@cindex point
+@cindex cursor
+
+  When XEmacs is running, the cursor shows the location at which editing
+commands will take effect.  This location is called @dfn{point}.  You
+can use keystrokes or the mouse cursor to move point through the text
+and edit the text at different places.
+
+  While the cursor appears to point @var{at} a character, you should
+think of point as @var{between} two characters: it points @var{before}
+the character on which the cursor appears.  Sometimes people speak
+of ``the cursor'' when they mean ``point,'' or speak of commands that
+move point as ``cursor motion'' commands.
+
+ Each XEmacs frame has only one cursor.  When output is in progress, the cursor
+must appear where the typing is being done.  This does not mean that
+point is moving.  It is only that XEmacs has no way to show you the
+location of point except when the terminal is idle.
+
+  If you are editing several files in XEmacs, each file has its own point
+location.  A file that is not being displayed remembers where point is.
+Point becomes visible at the correct location when you look at the file again.
+
+  When there are multiple text windows, each window has its own point
+location.  The cursor shows the location of point in the selected
+window.  The visible cursor also shows you which window is selected.  If
+the same buffer appears in more than one window, point can be moved in
+each window independently.
+
+  The term `point' comes from the character @samp{.}, which was the
+command in TECO (the language in which the original Emacs was written)
+for accessing the value now called `point'.
+
+@node Echo Area, Mode Line, Point, Frame
+@section The Echo Area
+@cindex echo area
+
+  The line at the bottom of the frame (below the mode line) is the
+@dfn{echo area}.  XEmacs uses this area to communicate with the user:
+
+@itemize @bullet
+@item
+  @dfn{Echoing} means printing out the characters that the user types.  XEmacs
+never echoes single-character commands.  Multi-character commands are
+echoed only if you pause while typing them: As soon as you pause for more
+than one second in the middle of a command, all the characters of the command
+so far are echoed.  This is intended to @dfn{prompt} you for the rest of
+the command.  Once echoing has started, the rest of the command is echoed
+immediately as you type it.  This behavior is designed to give confident
+users fast response, while giving hesitant users maximum feedback.  You
+can change this behavior by setting a variable (@pxref{Display Vars}).
+@item
+  If you issue a command that cannot be executed, XEmacs may print an
+@dfn{error message} in the echo area.  Error messages are accompanied by
+a beep or by flashing the frame.  Any input you have typed ahead is
+thrown away when an error happens.
+@item
+  Some commands print informative messages in the echo area.  These
+messages look similar to error messages, but are not announced with a
+beep and do not throw away input.  Sometimes a 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, the command @kbd{C-x =} is
+used to print 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.
+@item
+  The echo area is also used to display the @dfn{minibuffer}, a window
+that is used for reading arguments to commands, such as the name of a
+file to be edited.  When the minibuffer is in use, the echo area displays
+with a prompt string that usually ends with a colon.  The cursor
+appears after the prompt.  You can always get out of the minibuffer by
+typing @kbd{C-g}.  @xref{Minibuffer}.
+@end itemize
+
+@node Mode Line, XEmacs under X, Echo Area, Frame
+@comment  node-name,  next,  previous,  up
+@section The Mode Line
+@cindex mode line
+@cindex top level
+
+  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.  The mode line is in inverse video if
+the terminal supports that, starts and ends with dashes, and contains text
+like @samp{XEmacs:@: @var{something}}.
+
+  If a mode line has something else in place of @samp{XEmacs:@:
+@var{something}}, the window above it is in a special subsystem
+such as Dired.  The mode line then indicates the status of the
+subsystem.
+
+  Normally, the mode line has the following appearance:
+
+@example
+--@var{ch}-XEmacs: @var{buf}      (@var{major} @var{minor})----@var{pos}------
+@end example
+
+@noindent
+This gives information about the buffer being displayed in the window: the
+buffer's name, what major and minor modes are in use, whether the buffer's
+text has been changed, and how far down the buffer you are currently
+looking.
+
+  @var{ch} contains two stars (@samp{**}) if the text in the buffer has been
+edited (the buffer is ``modified''), or two dashes (@samp{--}) if the
+buffer has not been edited.  Exception: for a read-only buffer, it is 
+@samp{%%}.
+
+  @var{buf} is the name of the window's chosen @dfn{buffer}.  The chosen
+buffer in the selected window (the window that the cursor is in) is also
+XEmacs's selected buffer, the buffer in which editing takes place.  When
+we speak of what some command does to ``the buffer'', we mean the
+currently selected buffer.  @xref{Buffers}.
+
+  @var{pos} tells you whether there is additional text above the top of
+the screen or below the bottom.  If your file is small and it is
+completely visible on the screen, @var{pos} is @samp{All}.  Otherwise, 
+@var{pos} is @samp{Top} if you are looking at the beginning of the file,
+@samp{Bot} if you are looking at the end of the file, or
+@samp{@var{nn}%}, where @var{nn} is the percentage of the file above the
+top of the screen.@refill
+
+  @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 major mode.
+The available major modes include Fundamental mode (the least specialized),
+Text mode, Lisp mode, and C mode.  @xref{Major Modes}, for details
+on how the modes differ and how you select one.@refill
+
+  @var{minor} is a list of some of the @dfn{minor modes} that are turned on
+in the window's chosen buffer.  For example, @samp{Fill} means that Auto
+Fill mode is on.  @code{Abbrev} means that Word Abbrev mode is on.
+@code{Ovwrt} means that Overwrite mode is on.  @xref{Minor Modes}, for more
+information.  @samp{Narrow} means that the buffer being displayed has
+editing restricted to only a portion of its text.  This is not really a
+minor mode, but is like one.  @xref{Narrowing}.  @code{Def} means that a
+keyboard macro is being defined.  @xref{Keyboard Macros}.
+
+  Some buffers display additional information after the minor modes.  For
+example, Rmail buffers display the current message number and the total
+number of messages.  Compilation buffers and Shell mode display the status
+of the subprocess.
+
+  If XEmacs is currently inside a recursive editing level, square
+brackets (@samp{[@dots{}]}) appear around the parentheses that surround
+the modes.  If XEmacs is in one recursive editing level within another,
+double square brackets appear, and so on.  Since information on
+recursive editing applies to XEmacs in general and not to any one buffer,
+the square brackets appear in every mode line on the screen or not in
+any of them.  @xref{Recursive Edit}.@refill
+
+@findex display-time
+  XEmacs can optionally display the time and system load in all mode lines.
+To enable this feature, type @kbd{M-x display-time}.  The information added
+to the mode line usually appears after the file name, before the mode names
+and their parentheses.  It looks like this:
+
+@example
+@var{hh}:@var{mm}pm @var{l.ll} [@var{d}]
+@end example
+
+@noindent
+(Some fields may be missing if your operating system cannot support them.)
+@var{hh} and @var{mm} are the hour and minute, followed always by @samp{am}
+or @samp{pm}.  @var{l.ll} is the average number of running processes in the
+whole system recently.  @var{d} is an approximate index of the ratio of
+disk activity to CPU activity for all users.
+
+The word @samp{Mail} appears after the load level if there is mail for
+you that you have not read yet.
+
+@vindex mode-line-inverse-video
+  Customization note: the variable @code{mode-line-inverse-video}
+controls whether the mode line is displayed in inverse video (assuming
+the terminal supports it); @code{nil} means no inverse video.  The
+default is @code{t}.  For X frames, simply set the foreground and
+background colors appropriately.
+  
+@node XEmacs under X, , Mode Line, Frame
+@section Using XEmacs Under the X Window System
+@comment  node-name,  next,  previous,  up
+
+XEmacs can be used with the X Window System and a window manager like
+MWM or TWM.  In that case, the X window manager opens, closes, and
+resizes XEmacs frames.  You use the window manager's mouse gestures to
+perform the operations.  Consult your window manager guide or reference
+manual for information on manipulating X windows.
+
+When you are working under X, each X window (that is, each XEmacs frame)
+has a menu bar for mouse-controlled operations (@pxref{Pull-down Menus}).
+
+@cindex multi-frame XEmacs
+@findex make-frame
+XEmacs under X is also a multi-frame XEmacs.  You can use the @b{New
+Frame} menu item from the @b{File} menu to create a new XEmacs frame in a
+new X window from the same process.  The different frames will share the
+same buffer list, but you can look at different buffers in the different
+frames.
+
+@findex find-file-other-frame
+The function @code{find-file-other-frame} is just like @code{find-file},
+but creates a new frame to display the buffer in first.  This is
+normally bound to @kbd{C-x 5 C-f}, and is what the @b{Open File, New
+Frame} menu item does.
+
+@findex switch-to-buffer-other-frame
+The function @code{switch-to-buffer-other-frame} is just like
+@code{switch-to-buffer}, but creates a new frame to display the buffer
+in first.  This is normally bound to @kbd{C-x 5 b}.
+
+@vindex default-frame-alist
+You can specify a different default frame size other than the one provided.
+Use the variable @code{default-frame-alist}, which is an alist of default
+values for frame creation other than the first one.  These may be set in
+your init file, like this:  
+
+@example
+  (setq default-frame-alist '((width . 80) (height . 55)))
+@end example
+
+@vindex x-frame-defaults
+For values specific to the first XEmacs frame, you must use X resources.
+The variable @code{x-frame-defaults} takes an alist of default frame
+creation parameters for X window frames.  These override what is
+specified in @file{~/.Xdefaults} but are overridden by the arguments to
+the particular call to @code{x-create-frame}.
+
+@vindex create-frame-hook
+When you create a new frame, the variable @code{create-frame-hook}
+is called with one argument, the frame just created.
+
+If you want to close one or more of the X windows you created using
+@b{New Frame}, use the @b{Delete Frame} menu item from the @b{File} menu.  
+
+@vindex frame-title-format
+@vindex frame-icon-title-format
+If you are working with multiple frames, some special information
+applies:
+@itemize @bullet
+@item
+Two variables, @code{frame-title-format} and
+@code{frame-icon-title-format} determine the title of the frame and
+the title of the icon that results if you shrink the frame.
+
+@vindex auto-lower-frame
+@vindex auto-raise-frame
+@item
+The variables @code{auto-lower-frame} and @code{auto-raise-frame}
+position a frame. If true, @code{auto-lower-frame} lowers a frame to
+the bottom when it is no longer selected. If true,
+@code{auto-raise-frame} raises a frame to the top when it is
+selected. Under X, most ICCCM-compliant window managers will have
+options to do this for you, but these variables are provided in case you
+are using a broken window manager.
+
+@item
+There is a new frame/modeline format directive, %S, which expands to
+the name of the current frame (a frame's name is distinct from its
+title; the name is used for resource lookup, among other things, and the
+title is simply what appears above the window.)
+@end itemize