Мой emacs (в Windows) всегда запускается с установленным размером, который довольно невелик, и если я его изменяю, он не «запоминается» при следующем запуске.
Я играл со следующим:
(set-frame-position (selected-frame) 200 2) ; pixels x y from upper left
(set-frame-size (selected-frame) 110 58) ; rows and columns w h
что полностью работает, когда я выполняю его в рабочем буфере. Я помещаю его в свой .emacs, и хотя теперь, когда я запускаю программу, я вижу, что фрейм временно установлен на этот размер, к моменту загрузки *scratch* он снова возвращается к маленькому значению по умолчанию.
Может ли кто-нибудь помочь мне исправить приведенный выше код, чтобы он «застревал» при запуске?





Вы пробовали это: emacs -geometry 110x58 + 200 + 2 &
Найдено по адресу:
Вот что я использую в своем ~/.emacs:
(add-to-list 'default-frame-alist '(left . 0))
(add-to-list 'default-frame-alist '(top . 0))
(add-to-list 'default-frame-alist '(height . 50))
(add-to-list 'default-frame-alist '(width . 155))
Я отказался от этой проблемы некоторое время назад, используя ваш код, наконец, исправил ее :)
немного аккуратнее: (setq default-frame-alist '( (left . 0) (top . 0) (height . 65) (width . 100) ))
Для emacs на windows я обычно помещаю его в реестр.
HKCU\Software\GNU\Emacs\
Emacs.Geometry REG_SZ "245x74"
(Это сохраняет локальные настройки машины из моего файла .emacs, которым я делюсь со многими другими машинами ...)
(setq initial-frame-alist '(
(top . 40) (left . 10)
(width . 128) (height . 68)
)
)
Между Emacs 19 и 21 у меня был отлично работающий .emacs, который делал именно то, что вы ищете, различая default-frame и initial-frame:
(setq default-frame-alist '((foreground-color . "LightGray")
(background-color . "Black")
(cursor-color . "Medium Sea Green")
(width . 80)
(height . 36)
(menu-bar-lines . 1)
(vertical-scroll-bars . right)))
и
(setq initial-frame-alist
(cons '(width . 96)
(cons '(height . 72)
(cons '(menu-bar-lines . 1)
initial-frame-alist))))
Увы, когда я «обновился» до Emacs 23.2, все вышеперечисленное уже не полностью. Emacs - это не моя карьера. Я использую его как инструмент, поэтому не могу уделять слишком много времени тому, чтобы понять, почему. Поэтому я просто решил проблему, добавив к ярлыку Emacs Windows XP "-geometry 96x72". Итак, цель ярлыка теперь выглядит:
C:\emacs-23.2\bin\runemacs.exe -geometry 96x72
Ни одно из опубликованных ранее решений не могло решить мою проблему с изменением размера, поэтому я подумал, что поделюсь дополнительным решением: при запуске Emacs 23 использует определенный шрифт перед переключением на пользовательский; как следствие, если этот шрифт большой, Emacs также уменьшает размер окна, чтобы он поместился на экране. Затем применяется пользовательский шрифт, и окно может казаться меньше, чем желает пользователь. Таким образом, добавление следующего в мой ~ / .Xresource решило проблему:
Emacs.font: -*-fixed-*-*-*-*-8-*-*-*-*-*-*-*
Emacs.pane.menubar.*.fontList: 8x16
Emacs.menu*.fontList: -*-fixed-*-*-*-*-8-*-*-*-*-*-*-*
Emacs.dialog*.fontList: -*-fixed-*-*-*-*-8-*-*-*-*-*-*-*
Это заставляет Emacs использовать мелкий шрифт во время запуска, чтобы его окно не было слишком большим и не обрезалось. Конечно, вы можете захотеть настроить нужный шрифт здесь или в файле инициализации Emacs.
См. Также этот предыдущий вопрос: Как мне установить размер окна emacs?