Previous: Size and Position, Up: Frame Geometry [Contents][Index]
By default, Emacs tries to keep the number of lines and columns of a frame’s text area unaltered when, for example, adding or removing the menu bar, changing the default font or setting the width of the frame’s scroll bars. This means, however, that in such case Emacs must ask the window manager to resize the outer frame in order to accommodate the size change. Note that wrapping a menu or tool bar usually does not resize the frame’s outer size, hence this will alter the number of displayed lines.
Occasionally, such implied frame resizing may be unwanted, for example, when the frame is maximized or made full-screen (where it’s turned off by default). In other cases you can disable implied resizing with the following option:
If this option is nil
, changing font, menu bar, tool bar,
internal borders, fringes or scroll bars of a specific frame may
implicitly resize the frame’s display area in order to preserve the
number of columns or lines the frame displays. If this option is
non-nil
, no implied resizing is done.
The value of this option can be also be a list of frame parameters. In
that case, implied resizing is inhibited when changing a parameter that
appears in this list. The frame parameters currently handled by this
option are: font
, font-backend
,
internal-border-width
, menu-bar-lines
and
tool-bar-lines
.
Changing any of the scroll-bar-width
, scroll-bar-height
,
vertical-scroll-bars
, horizontal-scroll-bars
,
left-fringe
and right-fringe
frame parameters is handled
as if the frame contained just one live window. This means, for
example, that removing vertical scroll bars on a frame containing
several side by side windows will shrink the outer frame width by the
width of one scroll bar provided this option is nil
and keep it
unchanged if this option is either t
or a list containing
vertical-scroll-bars
.
The default value is '(tool-bar-lines)
for Lucid, Motif and
Windows (which means that adding/removing a tool bar there does not
change the outer frame height), nil
on all other window systems
including GTK+ (which means that changing any of the parameters listed
above may change the size of the outer frame), and t
otherwise
(which means the outer frame size never changes implicitly when there’s
no window system support).
Note that when a frame is not large enough to accommodate a change of
any of the parameters listed above, Emacs may try to enlarge the frame
even if this option is non-nil
.
Previous: Size and Position, Up: Frame Geometry [Contents][Index]