Next: Window Hooks, Previous: Window Configurations, Up: Windows
This section describes how window parameters can be used to associate additional information with windows.
This function returns window's value for parameter. The default for window is the selected window. If window has no setting for parameter, this function returns
nil
.
This function returns all parameters of window and their values. The default for window is the selected window. The return value is either
nil
, or an association list whose elements have the form(
parameter.
value)
.
This function sets window's value of parameter to value and returns value. The default for window is the selected window.
By default, the functions that save and restore window configurations or the
states of windows (see Window Configurations) do not care about
window parameters. This means that when you change the value of a
parameter within the body of a save-window-excursion
, the
previous value is not restored when that macro exits. It also means
that when you restore via window-state-put
a window state saved
earlier by window-state-get
, all cloned windows have their
parameters reset to nil
. The following variable allows you to
override the standard behavior:
This variable is an alist specifying which parameters get saved by
current-window-configuration
andwindow-state-get
, and subsequently restored byset-window-configuration
andwindow-state-put
. See Window Configurations.The car of each entry of this alist is a symbol specifying the parameter. The cdr should be one of the following:
nil
- This value means the parameter is saved neither by
window-state-get
nor bycurrent-window-configuration
.t
- This value specifies that the parameter is saved by
current-window-configuration
and (provided its writable argument isnil
) bywindow-state-get
.writable
- This means that the parameter is saved unconditionally by both
current-window-configuration
andwindow-state-get
. This value should not be used for parameters whose values do not have a read syntax. Otherwise, invokingwindow-state-put
in another session may fail with aninvalid-read-syntax
error.
Some functions (notably delete-window
,
delete-other-windows
and split-window
), may behave specially
when their window argument has a parameter set. You can override
such special behavior by binding the following variable to a
non-nil
value:
If this variable is non-
nil
, some standard functions do not process window parameters. The functions currently affected by this aresplit-window
,delete-window
,delete-other-windows
, andother-window
.An application can bind this variable to a non-
nil
value around calls to these functions. If it does so, the application is fully responsible for correctly assigning the parameters of all involved windows when exiting that function.
The following parameters are currently used by the window management code:
delete-window
delete-window
(see Deleting Windows).
delete-other-windows
delete-other-windows
(see Deleting Windows).
split-window
split-window
(see Splitting Windows).
other-window
other-window
(see Cyclic Window Ordering).
no-other-window
other-window
(see Cyclic Window Ordering).
clone-of
window-state-get
(see Window Configurations).
quit-restore
quit-restore-window
(see Quitting Windows). It contains four elements:
The first element is one of the symbols window
, meaning that the
window has been specially created by display-buffer
; frame
,
a separate frame has been created; same
, the window has
displayed the same buffer before; or other
, the window showed
another buffer before.
The second element is either one of the symbols window
or
frame
, or a list whose elements are the buffer shown in the
window before, that buffer's window start and window point positions,
and the window's height at that time.
The third element is the window selected at the time the parameter was
created. The function quit-restore-window
tries to reselect that
window when it deletes the window passed to it as argument.
The fourth element is the buffer whose display caused the creation of
this parameter. quit-restore-window
deletes the specified window
only if it still shows that buffer.
There are additional parameters window-atom
and window-side
;
these are reserved and should not be used by applications.