Subject: bug#14233: 24.3; Don't constrain frame size to character multiples

From: martin rudalics <[email-masked]>
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