“Avoided” windows are kept unobscured by other windows wherever possible. It is involved in window placement (see Window Placement) and maximization (see Maximizing Windows). Most placement modes will attempt to place a new window avoiding overlap with them. Windows can be maximized avoiding overlap to avoided windows.
In this context, windows are categorized into three: windows with
avoid property, those with
ignored property (see Ignored Windows), and the others.
It is possible to avoid overlap only with avoided windows, and also is possible not to avoid overlap only with ignored windows.
Remember that the window with
avoid property is avoided
by other windows. Thus property name
avoid should have
been named “avoided”. On the other hand, related functions and
variables are named correctly, and no special care is necessary.
When non-nil (the default), ignored windows aren’t avoided.
When non-nil, any windows are avoided. Defaults to nil.
Returns t if window is avoided by other windows. It is determined in the following order:
avoidproperty is always avoided.
ignoredproperty is always not avoided unless
avoid-by-defaultdetermines if it should be avoided.
Returns a list of all windows that are avoided. If window is defined, then it is excluded from the returned list.