在 Windows XP 上保存 Emacs 窗口大小

Shc*_*ova 4 windows emacs

最近我买了装有 Windows XP 的笔记本电脑。我真的很想开始在它上面使用 emacs,但有一个问题 - 当我启动 emacs 时,它只是不适合我的屏幕垂直。因此,每次启动 emacs 时,我都应该从调整其窗口大小开始,这非常尴尬和不便。有没有办法在退出时自动保存并在启动时恢复 emacs 窗口大小?

更新我将代码移至问题答案

Shc*_*ova 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)
Run Code Online (Sandbox Code Playgroud)

在我的 Windows XP 上运行良好
对于快捷方式,可以创建emacs.cmd%system32%文件夹中命名的文件,内容如下:能够在任何地方从 cmd 启动它。C:\path-to-emacs\bin\runemacs.exe %*