X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=man%2Flispref%2Fframes.texi;h=892ca6ca4498a27b7cdabe202a8e6acd22e3a705;hp=1ae6f9b4d22d9dc0f9c312fae4271f75aab3c38f;hb=98a6e4055a1fa624c592ac06f79287d55196ca37;hpb=557a8105b1bfe98e9a52f16fc2d4b10107f66b19 diff --git a/man/lispref/frames.texi b/man/lispref/frames.texi index 1ae6f9b..892ca6c 100644 --- a/man/lispref/frames.texi +++ b/man/lispref/frames.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the XEmacs Lisp Reference Manual. -@c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. +@c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. @c Copyright (C) 1995, 1996 Ben Wing. @c See the file lispref.texi for copying conditions. @setfilename ../../info/frames.info @@ -63,7 +63,7 @@ This predicate returns @code{t} if @var{object} is a frame, and To create a new frame, call the function @code{make-frame}. -@defun make-frame &optional props device +@deffn Command make-frame &optional props device This function creates a new frame on @var{device}, if @var{device} permits creation of frames. (An X server does; an ordinary terminal does not (yet).) @var{device} defaults to the selected device if omitted. @@ -83,7 +83,7 @@ The set of possible properties depends in principle on what kind of window system XEmacs uses to display its frames. @xref{X Frame Properties}, for documentation of individual properties you can specify when creating an X window frame. -@end defun +@end deffn @node Frame Properties @section Frame Properties @@ -116,7 +116,7 @@ and their values. @defun frame-property frame property &optional default This function returns @var{frame}'s value for the property -@var{property}. +@var{property}, or @var{default} if there is no such property. @end defun @defun set-frame-properties frame plist @@ -125,9 +125,9 @@ elements of property list @var{plist}. If you don't mention a property in @var{plist}, its value doesn't change. @end defun -@defun set-frame-property frame prop val -This function sets the property @var{prop} of frame @var{frame} to the -value @var{val}. +@defun set-frame-property frame property value +This function sets the property @var{property} of frame @var{frame} to the +value @var{value}. @end defun @node Initial Properties @@ -362,7 +362,7 @@ pixels. If you don't supply @var{frame}, they use the selected frame. @defun set-frame-size frame cols rows &optional pretend This function sets the size of @var{frame}, measured in characters; @var{cols} and @var{rows} specify the new width and height. (If -@var{pretend} is non-nil, it means that redisplay should act as if +@var{pretend} is non-@code{nil}, it means that redisplay should act as if the frame's size is @var{cols} by @var{rows}, but the actual size of the frame should not be changed. You should not normally use this option.) @@ -498,9 +498,16 @@ Frames remain potentially visible until you explicitly @dfn{delete} them. A deleted frame cannot appear on the screen, but continues to exist as a Lisp object until there are no references to it. -@deffn Command delete-frame &optional frame +@deffn Command delete-frame &optional frame force This function deletes the frame @var{frame}. By default, @var{frame} is the selected frame. + +A frame may not be deleted if its minibuffer is used by other frames. +Normally, you cannot delete the last non-minibuffer-only frame (you must +use @code{save-buffers-kill-emacs} or @code{kill-emacs}). However, if +optional second argument @var{force} is non-@code{nil}, you can delete +the last frame. (This will automatically call +@code{save-buffers-kill-emacs}.) @end deffn @defun frame-live-p frame @@ -538,34 +545,84 @@ If @var{device} is specified only frames on that device will be returned. ``visible'', even though only the selected one is actually displayed.) @end defun -@defun next-frame &optional frame minibuf +@defun next-frame &optional frame which-frames which-devices The function @code{next-frame} lets you cycle conveniently through all the frames from an arbitrary starting point. It returns the ``next'' -frame after @var{frame} in the cycle. If @var{frame} is omitted or -@code{nil}, it defaults to the selected frame. +frame after @var{frame} in the cycle. If @var{frame} defaults to the +selected frame. -The second argument, @var{minibuf}, says which frames to consider: +The second argument, @var{which-frames}, says which frames to consider: @table @asis -@item @code{nil} -Exclude minibuffer-only frames. @item @code{visible} -Consider all visible frames. -@item 0 -Consider all visible or iconified frames. -@item a window -Consider only the frames using that particular window as their -minibuffer. -@item the symbol @code{visible} -Include all visible frames. -@item @code{0} -Include all visible and iconified frames. -@item anything else +Consider only frames that are visible. + +@item @code{iconic} +Consider only frames that are iconic. + +@item @code{invisible} +Consider only frames that are invisible (this is different from iconic). + +@item @code{visible-iconic} +Consider frames that are visible or iconic. + +@item @code{invisible-iconic} +Consider frames that are invisible or iconic. + +@item @code{nomini} +Consider all frames except minibuffer-only ones. + +@item @code{visible-nomini} +Like @code{visible} but omits minibuffer-only frames. + +@item @code{iconic-nomini} +Like @code{iconic} but omits minibuffer-only frames. + +@item @code{invisible-nomini} +Like @code{invisible} but omits minibuffer-only frames. + +@item @code{visible-iconic-nomini} +Like @code{visible-iconic} but omits minibuffer-only frames. + +@item @code{invisible-iconic-nomini} +Like @code{invisible-iconic} but omits minibuffer-only frames. + +@item @code{nil} +Identical to @code{nomini}. + +@item @var{window} +Consider only the window @var{window}'s frame and any frame now using +@var{window} as the minibuffer. + +@item any other value Consider all frames. @end table + +The optional argument @var{which-devices} further clarifies on which +devices to search for frames as specified by @var{which-frames}. + +@table @asis +@item @code{nil} +Consider all devices on the selected console. + +@item @var{device} +Consider only the one device @var{device}. + +@item @var{console} +Consider all devices on @var{console}. + +@item @var{device-type} +Consider all devices with device type @var{device-type}. + +@item @code{window-system} +Consider all devices on window system consoles. + +@item anything else +Consider all devices without restriction. +@end table @end defun -@defun previous-frame &optional frame minibuf +@defun previous-frame &optional frame which-frames which-devices Like @code{next-frame}, but cycles through all frames in the opposite direction. @end defun @@ -595,10 +652,39 @@ upper left corner, down and to the right, until it reaches the window at the lower right corner (always the minibuffer window, if the frame has one), and then it moves back to the top. -@defun frame-top-window frame -This returns the topmost, leftmost window of frame @var{frame}. +@defun frame-highest-window &optional frame position +This function returns the topmost, leftmost window of frame @var{frame} +at position @var{position}. + +If omitted, @var{frame} defaults to the currently selected frame. + +@var{position} is used to distinguish between multiple windows that abut +the top of the frame: 0 means the leftmost window abutting the top of +the frame, 1 the next-leftmost, etc. @var{position} can also be less +than zero: -1 means the rightmost window abutting the top of the frame, +-2 the next-rightmost, etc. If omitted, @var{position} defaults to 0, +i.e. the leftmost highest window. If there is no window at the given +@var{position}, @code{nil} is returned. +@end defun + +The following three functions work similarly. + +@defun frame-lowest-window &optional frame position +This function returns the lowest window on @var{frame} which is at +@var{position}. +@end defun + +@defun frame-leftmost-window &optional frame position +This function returns the leftmost window on @var{frame} which is at +@var{position}. +@end defun + +@defun frame-rightmost-window &optional frame position +This function returns the rightmost window on @var{frame} which is at +@var{position}. @end defun + At any time, exactly one window on any frame is @dfn{selected within the frame}. The significance of this designation is that selecting the frame also selects this window. You can get the frame's current @@ -699,18 +785,18 @@ The operation of @code{focus-frame} is not affected by the value of @code{focus-follows-mouse}. @end defun -@defmac save-selected-frame forms@dots{} -This macro records the selected frame, executes @var{forms} in sequence, -then restores the earlier selected frame. The value returned is the -value of the last form. -@end defmac +@defspec save-selected-frame forms@dots{} +This special form records the selected frame, executes @var{forms} in +sequence, then restores the earlier selected frame. The value returned +is the value of the last form. +@end defspec -@defmac with-selected-frame frame forms@dots{} -This macro records the selected frame, then selects @var{frame} and -executes @var{forms} in sequence. After the last form is finished, the -earlier selected frame is restored. The value returned is the value of -the last form. -@end defmac +@defspec with-selected-frame frame forms@dots{} +This special form records the selected frame, then selects @var{frame} +and executes @var{forms} in sequence. After the last form is finished, +the earlier selected frame is restored. The value returned is the value +of the last form. +@end defspec @ignore (FSF Emacs, continued from defun select-frame) XEmacs cooperates with the X server and the window managers by arranging @@ -765,7 +851,7 @@ change it. @cindex iconified frame @cindex frame visibility -An X window frame may be @dfn{visible}, @dfn{invisible}, or +An frame on a window system may be @dfn{visible}, @dfn{invisible}, or @dfn{iconified}. If it is visible, you can see its contents. If it is iconified, the frame's contents do not appear on the screen, but an icon does. If the frame is invisible, it doesn't show on the screen, not @@ -774,31 +860,31 @@ even as an icon. Visibility is meaningless for TTY frames, since only the selected one is actually displayed in any case. -@deffn Command make-frame-visible &optional frame +@defun make-frame-visible &optional frame This function makes frame @var{frame} visible. If you omit @var{frame}, it makes the selected frame visible. -@end deffn +@end defun -@deffn Command make-frame-invisible &optional frame +@defun make-frame-invisible &optional frame force This function makes frame @var{frame} invisible. -@end deffn +@end defun @deffn Command iconify-frame &optional frame This function iconifies frame @var{frame}. @end deffn -@deffn Command deiconify-frame &optional frame -This function de-iconifies frame @var{frame}. Under X, this is -equivalent to @code{make-frame-visible}. -@end deffn +@defun Command deiconify-frame &optional frame +This function de-iconifies frame @var{frame}. Under a window system, +this is equivalent to @code{make-frame-visible}. +@end defun -@defun frame-visible-p frame +@defun frame-visible-p &optional frame This returns whether @var{frame} is currently ``visible'' (actually in use for display). A frame that is not visible is not updated, and, if it works through a window system, may not show at all. @end defun -@defun frame-iconified-p frame +@defun frame-iconified-p &optional frame This returns whether @var{frame} is iconified. Not all window managers use icons; some merely unmap the window, so this function is not the inverse of @code{frame-visible-p}. It is possible for a frame to not @@ -807,7 +893,7 @@ iconified, it will not be visible. (Under FSF Emacs, the functionality of this function is obtained through @code{frame-visible-p}.) @end defun -@defun frame-totally-visible-p frame +@defun frame-totally-visible-p &optional frame This returns whether @var{frame} is not obscured by any other X windows. On TTY frames, this is the same as @code{frame-visible-p}. @end defun @@ -904,9 +990,18 @@ This function returns a frame configuration list that describes the current arrangement of frames and their contents. @end defun -@defun set-frame-configuration configuration -This function restores the state of frames described in +@defun set-frame-configuration configuration &optional nodelete +This function restores the state of frames described by +@var{configuration}, which should be the return value from a previous +call to @code{current-frame-configuration}. + +Each frame listed in @var{configuration} has its position, size, window +configuration, and other properties set as specified in @var{configuration}. + +Ordinarily, this function deletes all existing frames not listed in +@var{configuration}. But if optional second argument @var{nodelete} is +non-@code{nil}, the unwanted frames are iconified instead. @end defun @node Frame Hooks