window-at tells you which window contains a
given horizontal and vertical position on a specified frame. Call it
with three arguments, like this:
(window-at x column frame)The function returns the window which contains that cursor position in the frame frame. If you omit frame, the selected frame is used.
coordinates-in-window-p takes two arguments and
checks whether a particular frame position falls within a particular
window.
(coordinates-in-window-p coordinates window)The argument coordinates is a cons cell of this form:
(x . y)The two coordinates are measured in characters, and count from the top left corner of the screen or frame. The value of the function tells you what part of the window the position is in. The possible values are:
(relx . rely)
mode-line
vertical-split
nil
coordinates-in-window-p, because it assumes you mean the frame
which window window is on.
minibuffer-window now accepts a frame as argument
and returns the minibuffer window used for that frame. If you don't
specify a frame, the currently selected frame is used. The minibuffer
window may be on the frame in question, but if that frame has no
minibuffer of its own, it uses the minibuffer window of some other
frame, and minibuffer-window returns that window.
window-live-p to test whether a window is still alive (that
is, not deleted).
window-minibuffer-p to determine whether a given window is a
minibuffer or not. It no longer works to do this by comparing the
window with the result of (minibuffer-window), because there can
be more than one minibuffer window at a time (if you have multiple
frames).
pop-up-frames non-nil, then the
functions to show something "in another window" actually create a new
frame for the new window. Thus, you will tend to have a frame for each
window, and you can easily have a frame for each buffer.
The value of the variable pop-up-frame-function controls how new
frames are made. The value should be a function which takes no
arguments and returns a frame. The default value is a function which
creates a frame using parameters from pop-up-frame-alist.
display-buffer is the basic primitive for finding a way to show a
buffer on the screen. You can customize its behavior by storing a
function in the variable display-buffer-function. If this
variable is non-nil, then display-buffer calls it to do
the work. Your function should accept two arguments, as follows:
nil, means you should find another window to
display buffer in, even if it is already visible in the selected
window.
switch-to-buffer-other-window and find-file-other-window
as well as for your own calls to display-buffer.
delete-window now gives all of the deleted window's screen space
to a single neighboring window. Likewise, enlarge-window takes
space from only one neighboring window until that window disappears;
only then does it take from another window.
next-window and previous-window accept another argument,
all-frames.
These functions now take three optional arguments: window,
minibuf and all-frames. window is the window to start
from (nil means use the selected window). minibuf says
whether to include the minibuffer in the windows to cycle through:
t means yes, nil means yes if it is active, and anything
else means no.
Normally, these functions cycle through all the windows in the
selected frame, plus the minibuffer used by the selected frame even if
it lies in some other frame.
If all-frames is t, then these functions cycle through
all the windows in all the frames that currently exist. If
all-frames is neither t nor nil, then they limit
themselves strictly to the windows in the selected frame, excluding the
minibuffer in use if it lies in some other frame.
get-lru-window and get-largest-window now
take an optional argument all-frames. If it is non-nil,
the functions consider all windows on all frames. Otherwise, they
consider just the windows on the selected frame.
Likewise, get-buffer-window takes an optional second argument
all-frames.
other-window-scroll-buffer specifies which buffer
scroll-other-window should scroll.
set-window-dedicated-p to set the dedication
flag of a window window to the value flag. If flag is
t, this makes the window dedicated. If flag is
nil, this makes the window non-dedicated.
Use window-dedicated-p to examine the dedication flag of a
specified window.
walk-windows cycles through all visible
windows, calling proc once for each window with the window as
its sole argument.
The optional second argument minibuf says whether to include minibuffer
windows. A value of t means count the minibuffer window even if
not active. A value of nil means count it only if active. Any
other value means not to count the minibuffer even if it is active.
If the optional third argument all-frames is t, that means
include all windows in all frames. If all-frames is nil,
it means to cycle within the selected frame, but include the minibuffer
window (if minibuf says so) that that frame uses, even if it is on
another frame. If all-frames is neither nil nor t,
walk-windows sticks strictly to the selected frame.
window-end is a counterpart to window-start:
it returns the buffer position of the end of the display in a given
window (or the selected window).
window-configuration-p returns non-nil when
given an object that is a window configuration (such as is returned by
current-window-configuration).