永久覆盖 Emacs 主题的背景颜色

Joh*_*eri 9 emacs color-theme

我想使用 Emacs 主题billw,但背景颜色不同。我的.emacs文件中有以下内容:

(require 'color-theme)
(color-theme-initialize)
(color-theme-billw)
(set-background-color "gray12")
Run Code Online (Sandbox Code Playgroud)

然而,这似乎并没有改变启动时的背景颜色;我需要set-background-color "gray12"在每个会话开始时在迷你缓冲区中手动运行。

有什么帮助吗?我尝试根据 的输出创建我自己的自定义主题,color-theme-print但这导致了更多的问题......

dki*_*kim 5

color-theme-billw函数内部使用该color-theme-install-frame-params函数来更改帧参数。所以你可以用同样的方式改变帧参数,如下所示:

(require 'color-theme)
(color-theme-initialize)
(color-theme-billw)
(color-theme-install-frame-params
  '((background-color . "gray12")))
Run Code Online (Sandbox Code Playgroud)

C-hfcolor-theme-install-frame-params

(color-theme-install-frame-params PARAMS)

使用 alist 更改框架参数PARAMETERS

如果color-theme-is-global是非零,则使用 修改所有帧modify-frame-parameters并将PARAMETERS附加到default-frame-alist. 的值initial-frame-alist未修改。如果color-theme-is-global为 nil,则仅修改选定的帧。如果color-theme-is-cumulative为 nil,则从 中恢复帧参数color-theme-original-frame-alist

如果当前帧参数具有minibuffer值为的参数only,则不会安装帧参数,因为这表示专用的微型缓冲区帧。