[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#14795: height parameter inconsistent in new vs existing frames when

From: Jan Djärv
Subject: bug#14795: height parameter inconsistent in new vs existing frames when tool-bar is enabled
Date: Fri, 5 Jul 2013 11:29:04 +0200


5 jul 2013 kl. 00:52 skrev Juanma Barranquero <address@hidden>:

> 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?

It does not happen in all platforms.  NS and Gtk+ does not include toolbar or 
menubar, so your f1 and f2 are equal size (25).
Lucid/Motif on the other hand inlcude both menubar (1 line) and tool bar (2 
lines) so you get different sizes for f1 and f2.  I would expect than X without 
toolkit behaves like Lucid/Motif.

IMHO, frame parameter like height should not include tool bar and menu bar.  
Also, we should really not be talking about lines when specifying the height of 
the tool/menu bar, there is no need to.
The problem to fix this is you have to have access and knowledge of all ports, 
and modify them in parallel.  Not an easy task.  Also, this has been kind of 
low priority, it does not seem to lead to many user bug reports.

        Jan D.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]