Windows have the following accessible fields:
framemini_pnil if this window is a minibuffer window.
parentParent 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.
hchildvchildhchild is used if the window is subdivided
horizontally by child windows, and vchild if it is subdivided
vertically.
nextprevnext is
nil if the window is the rightmost or bottommost in its group;
prev is nil if it is the leftmost or topmost in its
group.
left_coltop_linetotal_colstotal_linesbufferstartpointmforce_startnil, 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.
frozen_window_start_pstart of this window should not be changed, even if point
gets invisible.
start_at_line_begnil means current value of start was the beginning of a line
when it was chosen.
use_timeget-lru-window uses this field.
sequence_numberlast_modifiedmodiff field of the window's buffer, as of the last time
a redisplay completed in this window.
last_overlay_modifiedoverlay_modiff field of the window's buffer, as of the last
time a redisplay completed in this window.
last_pointlast_had_starnil value means the window's buffer was “modified” when the
window was last updated.
vertical_scroll_barleft_margin_widthright_margin_widthnil means to use the buffer's value of left-margin-width
or right-margin-width.
window_end_posz minus the buffer position of the last glyph
in the current matrix of the window. The value is only valid if
window_end_valid is not nil.
window_end_byteposwindow_end_pos.
window_end_vposwindow_end_pos.
window_end_validnil value if window_end_pos is truly
valid. This is nil if nontrivial redisplay is preempted since in that
case the display that window_end_pos was computed for did not get
onto the screen.
cursorlast_cursorcursor as of the last redisplay that finished.
phys_cursorphys_cursor_typephys_cursor_on_pcursor_off_plast_cursor_off_pcursor_off_p as of the time of
the last redisplay.
must_be_updated_phscrollvscrolldedicatednil if this window is dedicated to its buffer.
display_tablenil if none is specified for it.
update_mode_linenil means this window's mode line needs to be updated.
base_line_numbernil.
This is used for displaying the line number of point in the mode line.
base_line_posnil meaning none is known.
region_showingnil.
column_number_displayednil
if column numbers are not being displayed.
current_matrixdesired_matrix