The fields of a window (for a complete list, see the definition of
struct window in window.h) include:
nilif this window is a minibuffer window.
Parent windows do not display buffers, and play little role in display
except to shape their child windows. Emacs Lisp programs usually have
no access to the parent windows; they operate on the windows at the
leaves of the tree, which actually display buffers.
hchildis used if the window is subdivided horizontally by child windows, and
vchildif it is subdivided vertically. In a live window, only one of
buffer(q.v.) is non-
nilif the window is the right-most or bottom-most in its group;
nilif it is the left-most or top-most in its group.
nil, it says that the window has been scrolled explicitly by the Lisp program. This affects what the next redisplay does if point is off the screen: instead of scrolling the window to show the text around point, it moves point to a location that is on the screen.
startof this window should not be changed, even if point gets invisible.
nilmeans current value of
startwas the beginning of a line when it was chosen.
get-lru-windowuses this field.
modifffield of the window's buffer, as of the last time a redisplay completed in this window.
overlay_modifffield of the window's buffer, as of the last time a redisplay completed in this window.
nilvalue means the window's buffer was “modified” when the window was last updated.
nilmeans no margin.
tmeans use the values of the frame.
nilvalue means the fringes outside the display margins; othersize they are between the margin and the text.
zminus the buffer position of the last glyph in the current matrix of the window. The value is only valid if
window_end_posis truly valid. This is
nilif nontrivial redisplay is pre-empted, since in that case the display that
window_end_poswas computed for did not get onto the screen.
cursoras of the last redisplay that finished.
cursor_off_pas of the time of the last redisplay.
nilif this window is dedicated to its buffer.
nilif none is specified for it.
nilmeans this window's mode line needs to be updated.
nil. This is used for displaying the line number of point in the mode line.
nilmeaning none is known. If it is a buffer, don't display the line number as long as the window shows that buffer.
nilif column numbers are not being displayed.