有没有一种方法可以获取光标的当前颜色?

4
有没有办法在Emacs中获取光标的当前颜色?
我只能找到
(set-cursor-color "white") 

但没有“get-cursor-color”命令。

它似乎也不是一个面:

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

我认为这是一种“更高级”的绑定方式(因为它还可以作为执行Emacs的参数设置)。
但是我仍然希望能够暂时更改光标颜色,只有当我知道如何将其改回来时才能这么做。
考虑到用户可能在此期间更改主题,因此必须使用真正的“当前”光标颜色。
2个回答

3

这确实是一个人脸。但它不是一个 前景 而是一个 背景,也就是说,

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

2

光标颜色可以针对不同的框架进行设置。要检查给定框架的光标颜色,您可以检查框架参数cursor-color。它相当于面cursor的属性:background

对于选定的框架:

(frame-parameter nil 'cursor-color)

对于任何框架FRAME

(frame-parameter FRAME 'cursor-color)

请参考Elisp手册,第“字体和颜色参数”章节。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接