I have the following in my .emacs
file:
(when window-system
(set-frame-position (selected-frame) 0 0)
(set-frame-size (selected-frame) 91 63))
The value of 63 is supposed to make my initial frame take up the full vertical height of my screen.
However, the result is not actually a frame of 91x63. Instead, I get a frame of only 51. Likewise, increasing 63 to 70 doesn't get me a taller frame either. Initially, I see the frame popup with the full screen height, but then it shrinks down to a much smaller size. I believe this may be related to the fact that I have a configured font face and font size and the frame size is taking effect before the font size is set. So when the frame size is initially set, the frame is too large to fit on the screen so the size is shrunk and then later the font face and size are set, but now there is enough room to grow the frame. Do I need to some how control the order of these settings? If so, how do I do that? Currently, I have the font face and size set in the custom-set-faces
block. Is there a better way to change the frame size so that it happens after the font face is set?
By the way, this code came from the Emacs wiki on Frame Size.
This is under Ubuntu Linux, and I'm using the PPA for Emacs 24. I am not using any Xresources.
For reference, here's my custom-set-faces
block:
(custom-set-faces
'(default ((t (:inherit nil
:stipple nil
:background "white"
:foreground "black"
:inverse-video nil
:box nil
:strike-through nil
:overline nil
:underline nil
:slant normal
:weight normal
:height 95
:width normal
:foundry "unknown"
:family "DejaVu Sans Mono")))))
emacs -q --xrm="Emacs.menuBar: 0" --xrm="Emacs.toolBar: 0" --xrm="Emacs.font: Inconsolata-16" --geometry=91x63
and see if it works. This would mean your hypothesis is correct and can be circumvented. Ofcourse replace Inconsolata with your default font.~\.Xresources
file one per line. It should work.emacs --font="DejaVu Sans Mono-12"
.