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: Eli Zaretskii
Subject: bug#7004: 23.2; In fullscreen mode, the echo area takes too much vertical space
Date: Wed, 15 Sep 2010 21:30:31 +0200

> Date: Wed, 15 Sep 2010 09:00:25 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: jan.h.d@swipnet.se, 7004@debbugs.gnu.org
> 
> IIUC Emacs usually [...] rounds the height to the nearest integer
> multiple of the canonical line height instead.

That's not really relevant, since the height includes the tool bar and
the menu bar, whose sizes aren't multiples of the canonical font
height.  So the windows end up with non-integral number of text lines
anyway.

> So let's assume that we want to move this remainder to the frame root
> window instead.  Now coordinates_in_window from window.c has to
> 
>    "Test if the character at column *X, row *Y is within window W.
>     If it is not, return ON_NOTHING;
>     if it is in the window's text area,
>        set *x and *y to its location relative to the upper left corner
>           of the window, and
>        return ON_TEXT;
>     if it is on the window's modeline, return ON_MODE_LINE;
>     ..."
> 
> but the tests it performs is currently based on things like
> 
> WINDOW_BOTTOM_EDGE_Y
> 
> which is defined as
> 
> #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))
> 
> that is, an integer multiple of the canonical line height of the frame
> of W.  So this does not account for the remainder we want to add and the
> result could be that a mouse click in the window text area is recognized
> as a click on the window's modeline or even another window.  Obviously,
> sampling windows for mouse-autoselection might give strange results as
> well.

If all of this is true, then how do we succeed to display partial
lines with the existing ``pixel-challenged'' display engine?  What am
I missing?





reply via email to

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