ОК, так что на самом деле я добавил это к моему initfile:
(add-hook 'after-make-frame-functions
(lambda (frame)
(progn
(add-to-list 'default-frame-alist
(cons 'height
(/ (x-display-pixel-height)
(frame-char-height)))
(add-to-list 'default-frame-alist
(cons 'width
(/ (x-display-pixel-width)
(frame-char-width))))))))
и теперь окно имеет тот же размер, как полный экран. Если вы устанавливаете шрифты внутри крюка after-make-frame-functions
, важно, чтобы это было первым в вашем initfile (я думаю, потому что крючки запускаются в обратном порядке), но если вы просто устанавливаете шрифты, это должно работать нормально в любом месте.
Конечно, для максимальной безопасности вы можете поместить это и ваши вещи «набор шрифтов» в ту же defun, причем это произойдет после того, как будут установлены шрифты.
EDIT: Это немного более сильный способ сделать это, если это не сработает.
Это дает мне некоторые проблемы, хотя, действительно, вы, вероятно, захотите вычесть высоту верхней панели с той высоты, которую вы устанавливаете.
(add-hook 'after-make-frame-functions
(lambda (frame)
(progn
(set-frame-height frame
(/ (x-display-pixel-height)
(frame-char-height)))
(set-frame-width frame
(/ (x-display-pixel-width)
(frame-char-width))))))
Я не думаю, что это обязательно ошибка менеджера окон: у меня есть '(set-frame-font pretty)' в моем '' after-make-frame-function' hook ', и если emacs запускается максимально или полностью -screen Я заканчиваю небольшим окном внутри большого кадра, но если emacs запускается в каком-то фрейме, emacs сжимает рамку, чтобы она соответствовала окну. Я не смог найти способ обойти это.('(window-height)' дает то же значение, что и '(frame-height)', поэтому у emacs определенно появилась некоторая неправильная идея о его среде) – quodlibetor