GNU bug report logs - #14233
24.3; Don't constrain frame size to character multiples

Previous Next

Package: emacs;

Reported by: E Sabof <esabof <at> gmail.com>

Date: Sat, 20 Apr 2013 00:04:02 UTC

Severity: wishlist

Found in version 24.3

Done: martin rudalics <rudalics <at> gmx.at>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: martin rudalics <rudalics <at> gmx.at>
To: Jan Djärv <jan.h.d <at> swipnet.se>
Cc: Eli Zaretskii <eliz <at> gnu.org>, "esabof <at> gmail.com" <esabof <at> gmail.com>, "14233 <at> debbugs.gnu.org" <14233 <at> debbugs.gnu.org>
Subject: bug#14233: 24.3; Don't constrain frame size to character multiples
Date: Tue, 23 Apr 2013 14:33:18 +0200
> We do have macros like FRAME_MENUBAR_HEIGHT and FRAME_TOOLBAR_HEIGHT
> that can be used.  It is better to have that calculation in one place,
> rather than in each port, so this might be a good time to move it.

If someone wants and knows how to do this cleanly, please go for it.
Currently, these macros are a horrible mess as calc_absolute_offset in
window.c demonstrates.

>> When I maximize a frame, that frame may get a new pixel size which is
>> not necessarily a multiple of the frame's character size.  If I now want
>> to resize that frame's windows (and not leave some spare pixels at the
>> bottom of the frame as we do now) I have to communicate the new pixel
>> size of the frame's root window to the window resizing mechanism.  The
>> function that does that is change_frame_size.
>
> That is one occasion where a pixel-function is needed.  But for most calls, pixel precision is not needed.  These are the non-tile/fullscreen/maxmimized cases in X and NS.

I need them for the fullscreen/maximized case on X and NS as well when
the screen estate assigned to Emacs is not a multiple of its character
size.

martin




This bug report was last modified 10 years and 154 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.