aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMartin Rudalics2019-12-23 10:50:44 +0100
committerMartin Rudalics2019-12-23 10:50:44 +0100
commit1e758530b06befc6feb44031b9f84734e2165e2e (patch)
tree6b1a14fadbb3706656dc64f31dfe81d9656654db /doc
parent3df7d06d4187d402e4df1177461862af638d96de (diff)
downloademacs-1e758530b06befc6feb44031b9f84734e2165e2e.tar.gz
emacs-1e758530b06befc6feb44031b9f84734e2165e2e.zip
Fix documentation of implied frame resizing (Bug#38684)
* src/frame.c (frame_inhibit_implied_resize): Fix doc-string. * doc/lispref/frames.texi (Implied Frame Resizing): Update and rewrite section.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/frames.texi59
1 files changed, 33 insertions, 26 deletions
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index f7dfb51dd42..81a3dc660cd 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1166,30 +1166,27 @@ immediately after running @code{window-size-change-functions} for
1166@cindex implied resizing of frame 1166@cindex implied resizing of frame
1167 1167
1168By default, Emacs tries to keep the number of lines and columns of a 1168By default, Emacs tries to keep the number of lines and columns of a
1169frame's text area unaltered when, for example, adding or removing the 1169frame's text area unaltered when, for example, toggling its menu or
1170menu bar, changing the default font or setting the width of the frame's 1170tool bar, changing its default font or setting the width of any of its
1171scroll bars. This means, however, that in such case Emacs must ask the 1171scroll bars. This means that in such case Emacs must ask the window
1172window manager to resize the outer frame in order to accommodate the 1172manager to resize the frame's window in order to accommodate the size
1173size change. Note that wrapping a menu or tool bar usually does not 1173change.
1174resize the frame's outer size, hence this will alter the number of
1175displayed lines.
1176 1174
1177 Occasionally, such @dfn{implied frame resizing} may be unwanted, for 1175 Occasionally, such @dfn{implied frame resizing} may be unwanted, for
1178example, when the frame is maximized or made full-screen (where it's 1176example, when a frame has been maximized or made full-screen (where
1179turned off by default). In other cases you can disable implied resizing 1177it's turned off by default). In general, users can disable implied
1180with the following option: 1178resizing with the following option:
1181 1179
1182@defopt frame-inhibit-implied-resize 1180@defopt frame-inhibit-implied-resize
1183If this option is @code{nil}, changing font, menu bar, tool bar, 1181If this option is @code{nil}, changing a frame's font, menu bar, tool
1184internal borders, fringes or scroll bars of a specific frame may 1182bar, internal borders, fringes or scroll bars may resize its outer
1185implicitly resize the frame's display area in order to preserve the 1183frame in order to keep the number of columns or lines of its text area
1186number of columns or lines the frame displays. If this option is 1184unaltered. If this option is @code{t}, no such resizing is done.
1187non-@code{nil}, no implied resizing is done.
1188 1185
1189The value of this option can be also a list of frame parameters. In 1186The value of this option can be also a list of frame parameters. In
1190that case, implied resizing is inhibited when changing a parameter that 1187that case, implied resizing is inhibited for the change of a parameter
1191appears in this list. The frame parameters currently handled by this 1188that appears in this list. Parameters currently handled by this
1192option are: @code{font}, @code{font-backend}, 1189option are @code{font}, @code{font-backend},
1193@code{internal-border-width}, @code{menu-bar-lines} and 1190@code{internal-border-width}, @code{menu-bar-lines} and
1194@code{tool-bar-lines}. 1191@code{tool-bar-lines}.
1195 1192
@@ -1200,20 +1197,30 @@ as if the frame contained just one live window. This means, for
1200example, that removing vertical scroll bars on a frame containing 1197example, that removing vertical scroll bars on a frame containing
1201several side by side windows will shrink the outer frame width by the 1198several side by side windows will shrink the outer frame width by the
1202width of one scroll bar provided this option is @code{nil} and keep it 1199width of one scroll bar provided this option is @code{nil} and keep it
1203unchanged if this option is either @code{t} or a list containing 1200unchanged if this option is @code{t} or a list containing
1204@code{vertical-scroll-bars}. 1201@code{vertical-scroll-bars}.
1205 1202
1206The default value is @code{'(tool-bar-lines)} for Lucid, Motif and 1203The default value is @code{'(tab-bar-lines tool-bar-lines)} for Lucid,
1207MS-Windows (which means that adding/removing a tool bar there does not 1204Motif and MS-Windows (which means that adding/removing a tool or tab
1208change the outer frame height), @code{nil} on all other window systems 1205bar there does not change the outer frame height),
1209including GTK+ (which means that changing any of the parameters listed 1206@code{'(tab-bar-lines)} on all other window systems including GTK+
1210above may change the size of the outer frame), and @code{t} otherwise 1207(which means that changing any of the parameters listed above with the
1211(which means the outer frame size never changes implicitly when there's 1208exception of @code{tab-bar-lines} may change the size of the outer
1212no window system support). 1209frame), and @code{t} otherwise (which means the outer frame size never
1210changes implicitly when there's no window system support).
1213 1211
1214Note that when a frame is not large enough to accommodate a change of 1212Note that when a frame is not large enough to accommodate a change of
1215any of the parameters listed above, Emacs may try to enlarge the frame 1213any of the parameters listed above, Emacs may try to enlarge the frame
1216even if this option is non-@code{nil}. 1214even if this option is non-@code{nil}.
1215
1216Note also that window managers usually do not ask for resizing a frame
1217when they change the number of lines occupied by an external menu or
1218tool bar. Typically, such ``wrappings'' occur when a user shrinks a
1219frame horizontally, making it impossible to display all elements of
1220its menu or tool bar. They may also result from a change of the major
1221mode altering the number of items of a menu or tool bar. Any such
1222wrappings may implicitly alter the number of lines of a frame's text
1223area and are unaffected by the setting of this option.
1217@end defopt 1224@end defopt
1218 1225
1219 1226