diff options
| author | Martin Rudalics | 2019-12-23 10:50:44 +0100 |
|---|---|---|
| committer | Martin Rudalics | 2019-12-23 10:50:44 +0100 |
| commit | 1e758530b06befc6feb44031b9f84734e2165e2e (patch) | |
| tree | 6b1a14fadbb3706656dc64f31dfe81d9656654db /doc | |
| parent | 3df7d06d4187d402e4df1177461862af638d96de (diff) | |
| download | emacs-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.texi | 59 |
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 | ||
| 1168 | By default, Emacs tries to keep the number of lines and columns of a | 1168 | By default, Emacs tries to keep the number of lines and columns of a |
| 1169 | frame's text area unaltered when, for example, adding or removing the | 1169 | frame's text area unaltered when, for example, toggling its menu or |
| 1170 | menu bar, changing the default font or setting the width of the frame's | 1170 | tool bar, changing its default font or setting the width of any of its |
| 1171 | scroll bars. This means, however, that in such case Emacs must ask the | 1171 | scroll bars. This means that in such case Emacs must ask the window |
| 1172 | window manager to resize the outer frame in order to accommodate the | 1172 | manager to resize the frame's window in order to accommodate the size |
| 1173 | size change. Note that wrapping a menu or tool bar usually does not | 1173 | change. |
| 1174 | resize the frame's outer size, hence this will alter the number of | ||
| 1175 | displayed 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 |
| 1178 | example, when the frame is maximized or made full-screen (where it's | 1176 | example, when a frame has been maximized or made full-screen (where |
| 1179 | turned off by default). In other cases you can disable implied resizing | 1177 | it's turned off by default). In general, users can disable implied |
| 1180 | with the following option: | 1178 | resizing with the following option: |
| 1181 | 1179 | ||
| 1182 | @defopt frame-inhibit-implied-resize | 1180 | @defopt frame-inhibit-implied-resize |
| 1183 | If this option is @code{nil}, changing font, menu bar, tool bar, | 1181 | If this option is @code{nil}, changing a frame's font, menu bar, tool |
| 1184 | internal borders, fringes or scroll bars of a specific frame may | 1182 | bar, internal borders, fringes or scroll bars may resize its outer |
| 1185 | implicitly resize the frame's display area in order to preserve the | 1183 | frame in order to keep the number of columns or lines of its text area |
| 1186 | number of columns or lines the frame displays. If this option is | 1184 | unaltered. If this option is @code{t}, no such resizing is done. |
| 1187 | non-@code{nil}, no implied resizing is done. | ||
| 1188 | 1185 | ||
| 1189 | The value of this option can be also a list of frame parameters. In | 1186 | The value of this option can be also a list of frame parameters. In |
| 1190 | that case, implied resizing is inhibited when changing a parameter that | 1187 | that case, implied resizing is inhibited for the change of a parameter |
| 1191 | appears in this list. The frame parameters currently handled by this | 1188 | that appears in this list. Parameters currently handled by this |
| 1192 | option are: @code{font}, @code{font-backend}, | 1189 | option 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 | |||
| 1200 | example, that removing vertical scroll bars on a frame containing | 1197 | example, that removing vertical scroll bars on a frame containing |
| 1201 | several side by side windows will shrink the outer frame width by the | 1198 | several side by side windows will shrink the outer frame width by the |
| 1202 | width of one scroll bar provided this option is @code{nil} and keep it | 1199 | width of one scroll bar provided this option is @code{nil} and keep it |
| 1203 | unchanged if this option is either @code{t} or a list containing | 1200 | unchanged if this option is @code{t} or a list containing |
| 1204 | @code{vertical-scroll-bars}. | 1201 | @code{vertical-scroll-bars}. |
| 1205 | 1202 | ||
| 1206 | The default value is @code{'(tool-bar-lines)} for Lucid, Motif and | 1203 | The default value is @code{'(tab-bar-lines tool-bar-lines)} for Lucid, |
| 1207 | MS-Windows (which means that adding/removing a tool bar there does not | 1204 | Motif and MS-Windows (which means that adding/removing a tool or tab |
| 1208 | change the outer frame height), @code{nil} on all other window systems | 1205 | bar there does not change the outer frame height), |
| 1209 | including GTK+ (which means that changing any of the parameters listed | 1206 | @code{'(tab-bar-lines)} on all other window systems including GTK+ |
| 1210 | above 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 | 1208 | exception of @code{tab-bar-lines} may change the size of the outer |
| 1212 | no window system support). | 1209 | frame), and @code{t} otherwise (which means the outer frame size never |
| 1210 | changes implicitly when there's no window system support). | ||
| 1213 | 1211 | ||
| 1214 | Note that when a frame is not large enough to accommodate a change of | 1212 | Note that when a frame is not large enough to accommodate a change of |
| 1215 | any of the parameters listed above, Emacs may try to enlarge the frame | 1213 | any of the parameters listed above, Emacs may try to enlarge the frame |
| 1216 | even if this option is non-@code{nil}. | 1214 | even if this option is non-@code{nil}. |
| 1215 | |||
| 1216 | Note also that window managers usually do not ask for resizing a frame | ||
| 1217 | when they change the number of lines occupied by an external menu or | ||
| 1218 | tool bar. Typically, such ``wrappings'' occur when a user shrinks a | ||
| 1219 | frame horizontally, making it impossible to display all elements of | ||
| 1220 | its menu or tool bar. They may also result from a change of the major | ||
| 1221 | mode altering the number of items of a menu or tool bar. Any such | ||
| 1222 | wrappings may implicitly alter the number of lines of a frame's text | ||
| 1223 | area and are unaffected by the setting of this option. | ||
| 1217 | @end defopt | 1224 | @end defopt |
| 1218 | 1225 | ||
| 1219 | 1226 | ||