Subject: Re: bug#7004: 23.2; In fullscreen mode, the echo area takes too much vertical space

From: martin rudalics <[email-masked]>
Date: Thu, 16 Sep 2010 18:17:18 +0200

> You are not making any sense.  You showed code for
 > FRAME_TOOL/MENU_BAR_LINES
 > and now you talk about the total frame height.  What "cases" are you
 > referring to?

Well I'm probably too silly to understand that.  I see two basic cases
when trying to calculate the height of windows in change_frame_size:

(1) If toolbar and menubar height are not included in the total height
of the frame, then the root window and the minibuffer window constitute
the total height of the frame.

(2) If toolbar and/or menubar are included in the total height of the
frame, we have two possibilites:

    - The height of any such bar is indicated in lines.  In this case we
      subtract their heights as multiples of canonical line heights.

    - The height of such a bar cannot be calculated in canonical line
      heights.  In this case we must have subtracted their height from
      the total frame height and rounded the remainder in terms of
      canonical line heights _before_ calling change_frame_size so we
      have case (1) again.

In any case the value for the frame root window/minibuffer window
heights is specified by subtracting

#define FRAME_TOP_MARGIN(F) \
      (FRAME_MENU_BAR_LINES (F) + FRAME_TOOL_BAR_LINES (F))

from the line numbers value passed to change_frame_size.  At the time we
do that, the lines of the bar must either not have been reflected in the
argument for change_frame_size or be specified as numbers of lines.

martin