aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMartin Rudalics2015-12-12 14:38:11 +0100
committerMartin Rudalics2015-12-12 14:38:11 +0100
commit06f00d39ff73e0c6c87ffb09ef3d67e8d3446b01 (patch)
tree0ae87786918b3e085bff1171532f5bd222225eb8 /doc
parent4b0e4213740ef32938063e1dd79f8462112ca33c (diff)
downloademacs-06f00d39ff73e0c6c87ffb09ef3d67e8d3446b01.tar.gz
emacs-06f00d39ff73e0c6c87ffb09ef3d67e8d3446b01.zip
Fix frame height calculations with added menu bar on Windows (Bug#22105)
* doc/lispref/frames.texi (Parameter Access): Mention pitfalls when simultaneously specifying multiple parameters for `modify-frame-parameters' that all may change the frame's size. * src/w32fns.c (x_set_menu_bar_lines): Don't set windows_or_buffers_changed here. (my_create_tip_window, Fx_show_tip): Call AdjustWindowRect with third argument false. * src/w32menu.c (set_frame_menubar): Set windows_or_buffers_changed here. * src/w32term.c (x_set_window_size): Determine third argument of AdjustWindowRect from whether the frame has a menu bar and not from whether it wants one.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/frames.texi20
1 files changed, 18 insertions, 2 deletions
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index b6f07200bfb..80a4af29f1a 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1013,12 +1013,28 @@ display (@pxref{Frames}). If @var{alist} includes parameters that are
1013not meaningful for the @var{frame}'s display, this function will 1013not meaningful for the @var{frame}'s display, this function will
1014change its value in the frame's parameter list, but will otherwise 1014change its value in the frame's parameter list, but will otherwise
1015ignore it. 1015ignore it.
1016
1017When @var{alist} specifies more than one parameter whose value can
1018affect the new size of @var{frame}, the final size of the frame may
1019differ according to the toolkit used. For example, specifying that a
1020frame should from now on have a menu and/or tool bar instead of none and
1021simultaneously specifying the new height of the frame will inevitably
1022lead to a recalculation of the frame's height. Conceptually, in such
1023case, this function will try to have the explicit height specification
1024prevail. It cannot be excluded, however, that the addition (or removal)
1025of the menu or tool bar, when eventually performed by the toolkit, will
1026defeat this intention.
1027
1028Sometimes, binding @code{frame-inhibit-implied-resize} (@pxref{Implied
1029Frame Resizing}) to a non-@code{nil} value around calls to this function
1030may fix the problem sketched here. Sometimes, however, exactly such
1031binding may be hit by the problem.
1016@end defun 1032@end defun
1017 1033
1018@defun set-frame-parameter frame parm value 1034@defun set-frame-parameter frame parm value
1019This function sets the frame parameter @var{parm} to the specified 1035This function sets the frame parameter @var{parm} to the specified
1020@var{value}. If @var{frame} is @code{nil}, it defaults to the 1036@var{value}. If @var{frame} is @code{nil}, it defaults to the selected
1021selected frame. 1037frame.
1022@end defun 1038@end defun
1023 1039
1024@defun modify-all-frames-parameters alist 1040@defun modify-all-frames-parameters alist