Next: Process Internals, Previous: Buffer Internals, Up: Object Internals
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.
The following four fields also describe the window tree structure.
hchildnil.
vchildnil.
nextnil in a window that is
the rightmost or bottommost of a group of siblings.
prevnil in a window that
is the leftmost or topmost of a group of siblings.
lefttopheightwidthbufferstartpointmforce_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.
too_small_oknil means don't delete this window for becoming “too small.”
height_fixed_puse_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_widthnil not to
specify it (in which case the buffer's value of left-margin-width
is used.
right_margin_widthwindow_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.
redisplay_end_triggerredisplay-end-trigger-hook.
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