diff options
| author | Martin Rudalics | 2015-12-12 14:38:11 +0100 |
|---|---|---|
| committer | Martin Rudalics | 2015-12-12 14:38:11 +0100 |
| commit | 06f00d39ff73e0c6c87ffb09ef3d67e8d3446b01 (patch) | |
| tree | 0ae87786918b3e085bff1171532f5bd222225eb8 /doc | |
| parent | 4b0e4213740ef32938063e1dd79f8462112ca33c (diff) | |
| download | emacs-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.texi | 20 |
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 | |||
| 1013 | not meaningful for the @var{frame}'s display, this function will | 1013 | not meaningful for the @var{frame}'s display, this function will |
| 1014 | change its value in the frame's parameter list, but will otherwise | 1014 | change its value in the frame's parameter list, but will otherwise |
| 1015 | ignore it. | 1015 | ignore it. |
| 1016 | |||
| 1017 | When @var{alist} specifies more than one parameter whose value can | ||
| 1018 | affect the new size of @var{frame}, the final size of the frame may | ||
| 1019 | differ according to the toolkit used. For example, specifying that a | ||
| 1020 | frame should from now on have a menu and/or tool bar instead of none and | ||
| 1021 | simultaneously specifying the new height of the frame will inevitably | ||
| 1022 | lead to a recalculation of the frame's height. Conceptually, in such | ||
| 1023 | case, this function will try to have the explicit height specification | ||
| 1024 | prevail. It cannot be excluded, however, that the addition (or removal) | ||
| 1025 | of the menu or tool bar, when eventually performed by the toolkit, will | ||
| 1026 | defeat this intention. | ||
| 1027 | |||
| 1028 | Sometimes, binding @code{frame-inhibit-implied-resize} (@pxref{Implied | ||
| 1029 | Frame Resizing}) to a non-@code{nil} value around calls to this function | ||
| 1030 | may fix the problem sketched here. Sometimes, however, exactly such | ||
| 1031 | binding 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 |
| 1019 | This function sets the frame parameter @var{parm} to the specified | 1035 | This 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 |
| 1021 | selected frame. | 1037 | frame. |
| 1022 | @end defun | 1038 | @end defun |
| 1023 | 1039 | ||
| 1024 | @defun modify-all-frames-parameters alist | 1040 | @defun modify-all-frames-parameters alist |