更改Emacs';背景色
我有一个函数,可以将Emacs的颜色主题设置为我自己定义的主题。在该功能中,我执行以下操作:更改Emacs';背景色,emacs,customization,emacs-faces,Emacs,Customization,Emacs Faces,我有一个函数,可以将Emacs的颜色主题设置为我自己定义的主题。在该功能中,我执行以下操作: (set-face-attribute 'default cur-frame :foreground fg-color :background bg-color) 然后,我为默认帧列表、初始帧列表和特殊显示帧列表设置背景色、前景色和光标颜色 所有这些都可以在我的Mac上正常工作。但是,当我在Linux上使用它时,对于所有已经打开的帧来说,它看起来都很好,但是在新创建的帧上,它看起来是这样的: 如果使
(set-face-attribute 'default cur-frame :foreground fg-color :background bg-color)
然后,我为默认帧列表
、初始帧列表
和特殊显示帧列表
设置背景色、前景色和光标颜色
所有这些都可以在我的Mac上正常工作。但是,当我在Linux上使用它时,对于所有已经打开的帧来说,它看起来都很好,但是在新创建的帧上,它看起来是这样的:
如果使用设置背景色
/设置前景色
功能而不是(设置面属性“默认…”
),则新帧不会出现此问题。但是如果我这样做,我必须手动重置每个已经打开的帧的颜色
我在Mac和Ubuntu上都使用Emacs版本23.3
为了澄清,这是我使用的主题文件:
类似的内容应该可以帮助您维护每个操作系统的设置。
设置面部属性
顾名思义,设置面部属性(即字体相关属性),而不是框架属性。使用
(添加到列表“默认帧列表”(背景色为“浅灰色”)
与更改与帧相关的属性类似。似乎最好使用
(custom-set-faces
'(default ... )
'(region ... )
....
)
设置面样式,这样就不会有问题。Emacs在更新的Emacs版本中使用1(或不绘制)Gtk3.0主题背景。使用例如set background color
或default frame alist
更改背景仅在我调整窗口大小之前有效,之后Gtk主题背景再次“闪耀”
我还没有弄清楚如何让emacs始终在Gtk主题背景上绘制,但至少我找到了一种方法,可以更改Gtk主题背景颜色,仅适用于emacs:
因此,这并不能完全解决在切换主题时更改背景颜色的问题,但至少可以消除打开新帧时遇到的黑白对比
1) 至少在我的机器上:)a
C-l
正确地绘制颜色吗?@vpit3833没有。它向下滚动窗口,但没有任何变化。你为什么不使用颜色主题模式呢?@BozhidarBatsov我尝试了所有的主题,我讨厌它们。我所需要的只是几个简单明了的主题,我可以在不同的场合来回切换。所以我决定自己动手。直到最近我才在Linux平台上意识到这个问题,因为我大部分时间都在Mac上工作。还有一些与颜色主题兼容的外部主题,比如-(还有许多其他主题)。emacs 24将有一个内置的主题功能实际上,我已经有了,如果你有兴趣尝试一下,这是我的emacs配置报告,它在名为my-color.el的文件中。问题是,如果我为“默认”使用“设置面属性”,即使我设置了默认帧列表,新帧也会被弄乱。如果没有它,它们会很好,但我必须手动设置每隔一个打开的帧一个接一个。虽然通常不会有那么多的帧,但我仍然希望用一个命令进行更改。这似乎可以正常工作,直到我重新调整窗口大小,之后颜色再次被破坏(emacs 24.4.1)。
(custom-set-faces
'(default ... )
'(region ... )
....
)