永久覆盖Emacs主题的背景色


9

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

(require 'color-theme)
(color-theme-initialize)
(color-theme-billw)
(set-background-color "gray12")

但是,这似乎并没有在启动时更改背景色;我需要set-background-color "gray12"在每个会话开始时在小型缓冲区中手动运行。

有什么帮助吗?我尝试根据的输出创建自己的自定义主题,color-theme-print但这引起了更多的问题,超出了价值。

Answers:


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")))

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值为value only,则不安装帧参数,因为这表示专用的迷你缓冲区帧。


3

将光标(在GNU Emacs措辞中为“ ”)放置在要设置“背景”的位置。最好在没有显示文字的地方。然后输入M-x describe-face

Emacs会告诉您正在查看的巫婆(GNU Emacs可以显示的全部带有“脸”)。最有可能是“默认”。然后在窗口底部,单击“您可以自定义这张脸”。

您现在处于“ 自定义 ”状态。(这是从〜/ .emacs获取/设置值的一种向导)设置所需的背景颜色,然后单击“保存以供将来的会话使用”。

你有它。现在,在〜/ .emacs的底部内部(custom-set-faces ...),这是您的脸部定义。

顺便说一句,颜色主题现在以某种方式内置在GNU Emacs 24中。我的.emacs中有这个:

(custom-set-variables

...stuff...

 '(custom-enabled-themes (quote (tango-dark)))

...stuff...)

2
在这种情况下,您需要执行以下操作:(custom-set-faces `(default ((t (:background "gray13")))))
John J. Camilleri 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.