2014-02-27 Xue Fuqiao <xfq@gnu.org>
++ * windows.texi (Window Sizes): Document `window-size'.
++ (Display Action Functions): Document `display-buffer-at-bottom'.
++ (Window Configurations): Minor fixes.
++
++ * modes.texi (Header Lines): Document `window-header-line-height'.
++
++ * display.texi (Scroll Bars): Document `window-scroll-bar-width'.
++
+ * windows.texi (Window Sizes, Resizing Windows): Document some
+ pixelwise window operations.
+
+ * text.texi (Margins): Fix the description of RET and `C-j'.
+
* frames.texi (Multiple Terminals): Document
`display-monitor-attributes-list' and `display-monitor-attributes'.
(Display Feature Testing): Add some notes about multi-monitor.
@var{horizontal-type} is not actually meaningful.
@end defun
++@defun window-scroll-bar-width &optional window
++This function returns the width of @var{window}'s vertical scrollbar,
++in pixels. @var{window} must be a live window. If @var{window} is
++@code{nil} or omitted, it will be the selected window.
++@end defun
++
If you don't specify these values for a window with
@code{set-window-scroll-bars}, the buffer-local variables
@code{scroll-bar-mode} and @code{scroll-bar-width} in the buffer being
It is normally @code{nil}, so that ordinary buffers have no header line.
@end defvar
++The function @code{window-header-line-height} returns the height of
++the header line:
++
++@defun window-header-line-height &optional window
++Return the height of @var{window}'s header line, in pixels.
++@var{window} must be a live window. If @var{window} is @code{nil} or
++omitted, it will be the selected window.
++@end defun
++
A window that is just one line tall never displays a header line. A
window that is two lines tall cannot display both a mode line and a
header line at once; if it has a mode line, then it does not display a
font or size, the reported height and width for that window may differ
from the actual number of text lines or columns displayed within it.
++@defun window-size &optional window horizontal pixelwise round
++This function returns the height or width of @var{window}.
++@var{window} must be a valid window. The default value of
++@var{window} is the selected window.
++
++If @var{horizontal} is omitted or nil, return the total height of
++@var{window}, in lines; otherwise return the total width in columns.
++
++The optional argument @var{pixelwise} means return size of
++@var{window}, in pixels.
++
++The optional argument @var{round} is ignored if @var{pixelwise} is
++non-@code{nil}. Otherwise it is handled as for
++@code{window-total-height} and @code{window-total-width}.
++@end defun
++
@cindex window height
@cindex height of a window
@cindex total height of a window
methods above, even if that window never showed @var{buffer} before.
@end defun
++@defun display-buffer-at-bottom buffer alist
++This function tries to display @var{buffer} in a window at the bottom
++of the selected frame.
++
++This either splits the window at the bottom of the frame or the
++frame's root window, or reuses an existing window at the bottom of the
++selected frame.
++@end defun
++
@defun display-buffer-use-some-window buffer alist
This function tries to display @var{buffer} by choosing an existing
window and displaying the buffer in that window. It can fail if all
(@code{set-window-configuration} effectively clones the windows of a
frame into the root window of that very frame only).
++@cindex window state
@defun window-state-get &optional window writable
This function returns the state of @var{window} as a Lisp object. The
argument @var{window} must be a valid window and defaults to the root
the following function to restore the state of the window.
@defun window-state-put state &optional window ignore
--This function puts the window state @var{state} into @var{window}. The
--argument @var{state} should be the state of a window returned by an
--earlier invocation of @code{window-state-get}, see above. The optional
--argument @var{window} must specify a valid window and defaults to the
++This function puts the window state @var{state} into @var{window}.
++The argument @var{state} should be the state of a window returned by
++an earlier invocation of @code{window-state-get}, see above. The
++optional argument @var{window} can be either a live window or an
++internal window (@pxref{Windows and Frames}) and defaults to the
selected one. If @var{window} is not live, it is replaced by a live
window before putting @var{state} into it.
and as such superfluous. After being reimplemented in Lisp, its
interactive form was mistakenly retained.
+++++
*** The functions `window-size' and `window-total-size' now have an
optional argument to return a rounded size value.
+++++
*** `window-state-put' now allows to put a window state into internal
windows too.
using the scroll bar (i.e. dragging the thumb down even when the end
of the buffer is visible).
+++++
*** New basic action function `display-buffer-in-previous-window' has
`display-buffer' display a buffer in a window previously showing that
buffer.
+++++
*** New basic action function `display-buffer-at-bottom' has
`display-buffer' choose or make a window at the bottom of the selected
frame.