桌面保存和主题系统之间的交互一直很奇怪。我尝试设置自定义主题时发现某些元素与主题值不匹配。背景颜色或光标颜色等元素保留了以前的值。
.emacs.desktop
最后,我在我的档案里找到了一段摘录:
;; Global section:
(setq (foreground-color . "#93a1a1") (background-color . "#002b36")
(mouse-color . "black") (border-color . "black") (screen-gamma) (line-spacing)
(left-fringe . 10) (right-fringe . 11) (alpha) (menu-bar-lines . 1)
(tool-bar-lines . 0) (title) (fullscreen) (icon-type) (auto-raise) (auto-lower)
(cursor-type . box) (scroll-bar-width . 17) (horizontal-scroll-bars . t)
(display-type . color) (background-mode . dark) (cursor-color . "#fdf6e3")
有什么方法可以让它不这样做吗?我喜欢桌面功能,因为它可以保留我打开的文件和窗口位置,但我不希望它保留所有样式信息。我四处寻找并尝试设置desktop-globals-to-save
和其他变量,但似乎没有任何效果。
答案1
只需点击此按钮。您需要更新frameset-filter-alist
您不想保存的内容。例如:
(push '(foreground-color . :never) frameset-filter-alist)
(push '(background-color . :never) frameset-filter-alist)
(push '(font . :never) frameset-filter-alist)
(push '(cursor-color . :never) frameset-filter-alist)
(push '(background-mode . :never) frameset-filter-alist)
(push '(ns-appearance . :never) frameset-filter-alist)
(push '(background-mode . :never) frameset-filter-alist)
答案2
这个要点对我有用:
(desktop-save-mode)
(add-to-list 'desktop-globals-to-save 'custom-enabled-themes)
(defun desktop-load-theme () "load custom theme" (interactive)
(dolist (th custom-enabled-themes) (load-theme th)))
(add-hook 'desktop-after-read-hook 'desktop-load-theme)
但它不会阻止桌面保存模式将主题保存在 .desktop 文件中,而是在加载桌面后恢复主题。对我来说,这是一件好事。
答案3
打开.desktop
文件,颜色主题配置保存在框架字段中,这可以通过设置desktop-restore-frames
为来避免nil
。
有关详细信息,请参阅desktop-restore-frames
文档:
当非零时,保存并恢复框架和窗口配置。
完整配置:
(custom-set-variables
'(desktop-save t)
'(desktop-restore-frames nil)
'(desktop-path (list "~/.emacs.d/"))
'(desktop-dirname "~/.emacs.d/"))
(desktop-save-mode 1)