--- Begin Message ---
Subject: |
height parameter inconsistent in new vs existing frames when tool-bar is enabled |
Date: |
Fri, 5 Jul 2013 00:52:22 +0200 |
Package: emacs
This happens since at least 22.1, and I think has been discussed
before on emacs-devel, but I've been unable to find the reference.
emacs -Q
(let ((params '((height . 25))))
(make-frame params) ;; f1
(modify-frame-parameters (make-frame) params)) ;; f2
f1 = 28 lines
f2 = 25 lines
Adding (tool-bar-lines . 0) to params, both frames are 25 lines.
Obviously, when creating the frame Emacs is allowing three additional
lines as space for the toolbar. tool-bar-mode defaults to 3 in a newly
created frame, at least once it has been displayed:
(let ((f (make-frame)))
(cons (frame-parameter f 'tool-bar-lines)
(progn
(sit-for 0)
(frame-parameter f 'tool-bar-lines))))
=> (1 . 3)
Does that happen in all platforms? If so, shouldn't we make the
meaning of the height frame parameter consistent in all its uses?
--- End Message ---
--- Begin Message ---
Subject: |
Re: frame parameter menu-bar-lines changes height of frame |
Date: |
Wed, 31 Dec 2014 19:36:36 +0100 |
> > emacs -Q
> >
> > (make-frame '((width . 70)(height . 50)))
> > (modify-frame-parameters (selected-frame) '((menu-bar-lines . 0)))
> > (frame-parameters)
> > (modify-frame-parameters (selected-frame) '((menu-bar-lines . 1)))
> > (frame-parameters)
> >
> > Adding and removing a menu-bar line changes the visible height of the
> > frame (incorrect), but it does not change the `height' frame
> > parameter. The correct behavior is that observed for `tool-bar-lines':
> > neither the visible frame height nor the `height' parameter is
> > changed.
>
> Use (assq 'height (frame-parameters)) to see that the `height'
> parameter does not change.
This can now be handled on trunk/master by adding 'menu-bar-lines' to
`frame-inhibit-implied-resize'. Bug closed.
Thanks, martin
--- End Message ---