bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#7004: 23.2; In fullscreen mode, the echo area takes too much vertica


From: Jan Djärv
Subject: bug#7004: 23.2; In fullscreen mode, the echo area takes too much vertical space
Date: Mon, 13 Sep 2010 20:59:27 +0200
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; sv-SE; rv:1.9.2.9) Gecko/20100825 Thunderbird/3.1.3



Eli Zaretskii skrev 2010-09-13 14.37:
Date: Sat, 11 Sep 2010 09:50:30 +0200
From: Jan Djärv<jan.h.d@swipnet.se>
Cc: "7004@debbugs.gnu.org"<7004@debbugs.gnu.org>

David De La Harpe Golden skrev 2010-09-11 02.10:

has support for displaying only part of a character line, at least at the
bottom edge of a pane [emacs: window] (not sure about the top). It also
supports partial character display at the right/left edge of the pane.

That's right: Emacs does know how to display a partial line at the
bottom of a window (not at the top, though, IIRC).  The question is
why doesn't it happen in the OP's case.

Perhaps that is some unintended side effect of how a frame is
maximized on X (I cannot reproduce the problem on MS-Windows).  What
happens if the frame is enlarged (e.g., by the mouse) instead?

The resizing is constrained to increments of the font size, so it is not possible to resize it manually to a fraction of the font size. If we remove that constraint by editing the source it will show the same behavour, extra pixels are unused at the bottom of the frame.


Windows use code like this all over the place:

/* Return the frame y-position before which window W ends.
     This includes a mode line, if any.  */

#define WINDOW_BOTTOM_EDGE_Y(W) \
    (((WINDOW_MENU_BAR_P (W) || WINDOW_TOOL_BAR_P (W)) \
      ? 0 : FRAME_INTERNAL_BORDER_WIDTH (WINDOW_XFRAME (W))) \
     + WINDOW_BOTTOM_EDGE_LINE (W) * WINDOW_FRAME_LINE_HEIGHT (W))


i.e. pixels = lines * font height.

No, your conclusion is incorrect.  See the comment above this macro:
this is the Y pixel coordinate _before_ which the window ends.  If the
last line is only partially visible, the this macro will return a
value that is beyond the actual window display area.

IOW, the fact that Emacs counts pixels in increments of the frame's
default font size does not contradict the ability of displaying
partially visible lines at the window bottom.  When I maximize a frame
on Windows, that is what I get: the last line is only partially
visible.  Why doesn't this happen for the OP on X?

I know it can dispay partial lines, info does that on its first page, for example, since the title is in a larger font.

But I don't know of any function that sizes a window by pixels. All the resizing code does is to calculate rows and columns from the pixel sizes and the call change_frame_size. That in turn resizes windows, but just based on lines and columns, not pixels AFAIK.

I see that W32 does that also, so how can it be different?

        Jan D.






reply via email to

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