Download GNU Emacs Manual

Transcript
Chapter 17: Windows
295
window-body-size &optional window horizontal
[Function]
This function returns the body height or body width of window. If horizontal is
omitted or nil, it is equivalent to calling window-body-height for window; otherwise
it is equivalent to calling window-body-width.
window-text-height &optional window
[Function]
This function is like window-body-height, except that any partially-visible line at
the bottom of the text area is not counted.
For compatibility with previous versions of Emacs, window-height is an alias for
window-total-height, and window-width is an alias for window-body-width. These
aliases are considered obsolete and will be removed in the future.
Commands that change the size of windows (see Section 17.4 [Resizing Windows],
page 295), or split them (see Section 17.5 [Splitting Windows], page 297), obey the
variables window-min-height and window-min-width, which specify the smallest
allowable window height and width. See Section “Deleting and Rearranging Windows” in
The GNU Emacs Manual. They also obey the variable window-size-fixed, with which a
window can be fixed in size:
[Variable]
If this buffer-local variable is non-nil, the size of any window displaying the buffer
cannot normally be changed. Deleting a window or changing the frame’s size may
still change its size, if there is no choice.
If the value is height, then only the window’s height is fixed; if the value is width,
then only the window’s width is fixed. Any other non-nil value fixes both the width
and the height.
window-size-fixed
window-size-fixed-p &optional window horizontal
[Function]
This function returns a non-nil value if window’s height is fixed. If window is omitted
or nil, it defaults to the selected window. If the optional argument horizontal is nonnil, the return value is non-nil if window’s width is fixed.
A nil return value does not necessarily mean that window can be resized in the
desired direction. To determine that, use the function window-resizable. See
Section 17.4 [Resizing Windows], page 295.
See Section 17.23 [Coordinates and Windows], page 333, for more functions that report
the positions of various parts of a window relative to the frame, from which you can calculate
its size. In particular, you can use the functions window-pixel-edges and window-insidepixel-edges to find the size in pixels, for graphical displays.
17.4 Resizing Windows
This section describes functions for resizing a window without changing the size of its frame.
Because live windows do not overlap, these functions are meaningful only on frames that
contain two or more windows: resizing a window also changes the size of a neighboring
window. If there is just one window on a frame, its size cannot be changed except by
resizing the frame (see Section 18.3.4 [Size and Position], page 354).
Except where noted, these functions also accept internal windows as arguments. Resizing
an internal window causes its child windows to be resized to fit the same space.