GNU Info

Info Node: (elisp)Window Internals

(elisp)Window Internals


Next: Process Internals Prev: Buffer Internals Up: Object Internals
Enter node , (file) or (file)node

Window Internals
----------------

   Windows have the following accessible fields:

`frame'
     The frame that this window is on.

`mini_p'
     Non-`nil' if this window is a minibuffer window.

`parent'
     Internally, Emacs arranges windows in a tree; each group of
     siblings has a parent window whose area includes all the siblings.
     This field points to a window's parent.

     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.

     The following four fields also describe the window tree structure.

`hchild'
     In a window subdivided horizontally by child windows, the leftmost
     child.  Otherwise, `nil'.

`vchild'
     In a window subdivided vertically by child windows, the topmost
     child.  Otherwise, `nil'.

`next'
     The next sibling of this window.  It is `nil' in a window that is
     the rightmost or bottommost of a group of siblings.

`prev'
     The previous sibling of this window.  It is `nil' in a window that
     is the leftmost or topmost of a group of siblings.

`left'
     This is the left-hand edge of the window, measured in columns.
     (The leftmost column on the screen is column 0.)

`top'
     This is the top edge of the window, measured in lines.  (The top
     line on the screen is line 0.)

`height'
     The height of the window, measured in lines.

`width'
     The width of the window, measured in columns.  This width includes
     the scroll bar and fringes, and/or the separator line on the right
     of the window (if any).

`buffer'
     The buffer that the window is displaying.  This may change often
     during the life of the window.

`start'
     The position in the buffer that is the first character to be
     displayed in the window.

`pointm'
     This is the value of point in the current buffer when this window
     is selected; when it is not selected, it retains its previous
     value.

`force_start'
     If this flag is non-`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.

`frozen_window_start_p'
     This field is set temporarily to 1 to indicate to redisplay that
     `start' of this window should not be changed, even if point gets
     invisible.

`start_at_line_beg'
     Non-`nil' means current value of `start' was the beginning of a
     line when it was chosen.

`too_small_ok'
     Non-`nil' means don't delete this window for becoming "too small".

`height_fixed_p'
     This field is temporarily set to 1 to fix the height of the
     selected window when the echo area is resized.

`use_time'
     This is the last time that the window was selected.  The function
     `get-lru-window' uses this field.

`sequence_number'
     A unique number assigned to this window when it was created.

`last_modified'
     The `modiff' field of the window's buffer, as of the last time a
     redisplay completed in this window.

`last_overlay_modified'
     The `overlay_modiff' field of the window's buffer, as of the last
     time a redisplay completed in this window.

`last_point'
     The buffer's value of point, as of the last time a redisplay
     completed in this window.

`last_had_star'
     A non-`nil' value means the window's buffer was "modified" when the
     window was last updated.

`vertical_scroll_bar'
     This window's vertical scroll bar.

`left_margin_width'
     The width of the left margin in this window, or `nil' not to
     specify it (in which case the buffer's value of `left-margin-width'
     is used.

`right_margin_width'
     Likewise for the right margin.

`window_end_pos'
     This is computed as `z' 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_bytepos'
     The byte position corresponding to `window_end_pos'.

`window_end_vpos'
     The window-relative vertical position of the line containing
     `window_end_pos'.

`window_end_valid'
     This field is set to a non-`nil' 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_trigger'
     If redisplay in this window goes beyond this buffer position, it
     runs run the `redisplay-end-trigger-hook'.

`cursor'
     A structure describing where the cursor is in this window.

`last_cursor'
     The value of `cursor' as of the last redisplay that finished.

`phys_cursor'
     A structure describing where the cursor of this window physically
     is.

`phys_cursor_type'
     The type of cursor that was last displayed on this window.

`phys_cursor_on_p'
     This field is non-zero if the cursor is physically on.

`cursor_off_p'
     Non-zero means the cursor in this window is logically on.

`last_cursor_off_p'
     This field contains the value of `cursor_off_p' as of the time of
     the last redisplay.

`must_be_updated_p'
     This is set to 1 during redisplay when this window must be updated.

`hscroll'
     This is the number of columns that the display in the window is
     scrolled horizontally to the left.  Normally, this is 0.

`vscroll'
     Vertical scroll amount, in pixels.  Normally, this is 0.

`dedicated'
     Non-`nil' if this window is dedicated to its buffer.

`display_table'
     The window's display table, or `nil' if none is specified for it.

`update_mode_line'
     Non-`nil' means this window's mode line needs to be updated.

`base_line_number'
     The line number of a certain position in the buffer, or `nil'.
     This is used for displaying the line number of point in the mode
     line.

`base_line_pos'
     The position in the buffer for which the line number is known, or
     `nil' meaning none is known.

`region_showing'
     If the region (or part of it) is highlighted in this window, this
     field holds the mark position that made one end of that region.
     Otherwise, this field is `nil'.

`column_number_displayed'
     The column number currently displayed in this window's mode line,
     or `nil' if column numbers are not being displayed.

`current_matrix'
     A glyph matrix describing the current display of this window.

`desired_matrix'
     A glyph matrix describing the desired display of this window.


automatically generated by info2www version 1.2.2.9