有没有办法获得光标的当前颜色?

时间:2015-12-29 20:52:17

标签: emacs

有没有办法在Emacs中获取光标的当前颜色?

我只能找到

(set-cursor-color "white") 

但没有“get-cursor-color”。

它似乎也不是一张脸:

(face-attribute 'cursor :foreground)
; => undefined

我认为它是一个“更高”级别的绑定(因为它也可以将其设置为执行Emacs的参数)。

但我仍想暂时改变光标颜色;只有我知道如何改变它。

鉴于用户可能在此期间更改主题,它必须是真正的“当前”光标颜色。

2 个答案:

答案 0 :(得分:3)

这确实是一张脸。但是,不是foreground而是background,即

(face-attribute 'cursor :background)
; => "black"

答案 1 :(得分:2)

不同帧的光标颜色可能不同。要检查给定帧,可以检查帧参数cursor-color。它相当于face :background的{​​{1}}属性。

对于选定的框架:

cursor

对于任何框架(frame-parameter nil 'cursor-color)

FRAME

请参阅Elisp手册,节点Font and Color Parameters