4

Недавно я купил ноутбук с Windows XP. Я бы очень хотел начать использовать emacs, но есть одна проблема - когда я запускаю emacs, он просто не помещается вертикально на моем экране. Поэтому каждый раз, когда я запускаю emacs, я должен начинать с изменения размера его окна, что довольно неловко и неудобно. Есть ли способ автоматически сохранять при выходе и восстанавливать при запуске размер окна emacs?

обновить я переместил свой код в ответ на вопрос

4 ответа4

5

Просто вставьте в .emacs этот кусок кода

(defun restore-saved-window-size()
  (unless (load "~/.emacs.d/whsettings" t nil t)
    (setq saved-window-size '(80 30)))
  (nconc default-frame-alist `((width . ,(car saved-window-size))
                   (height . ,(cadr saved-window-size)))))

(restore-saved-window-size)

(defun save-window-size-if-changed (&optional unused)
  (let ((original-window-size  `(,(frame-width) ,(frame-height))))
    (unless (equal original-window-size saved-window-size)
      (with-temp-buffer
        (setq saved-window-size original-window-size) 
        (insert (concat "(setq saved-window-size '"
                        (prin1-to-string saved-window-size) ")"))
        (write-file "~/.emacs.d/whsettings")))))

(add-hook 'window-size-change-functions 'save-window-size-if-changed)

Отлично работает на моей Windows XP
В качестве ярлыка можно создать файл с именем emacs.cmd в папке %system32% со следующим содержимым: C:\ path-to-emacs \bin\runemacs.exe %* чтобы иметь возможность запускать его из cmd везде.

1

Сохраните следующее в файл .reg и импортируйте его в реестр:

REGEDIT4
[HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs]
"Emacs.Geometry"="80x32+100+0"
0

Я использую это в моем .emacs, чтобы исправить размер

(defvar max-width  80)
(defvar max-height 50)
0

Джон Т ответил на вопрос.

Для получения дополнительной информации о том , что читает Emacs в реестре, проверьте MsWindowsRegistry страницу на EmacsWiki.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .