我想set-face-attribute
根据当前主题的背景是浅色还是深色来为前景选择两种颜色之一。
预期的行为是,如果我从浅色背景主题切换到深色背景主题,前景会自动更改,反之亦然。
这是一个用例:
我自定义stripe-hl-line
如下:
(set-face-attribute 'stripe-hl-line nil
:overline "gray"
:underline "gray"
:foreground "dodger blue")
但是我想根据主题是浅色还是深色来更改前景。这样,我不必担心在每个主题中自定义该面孔。
这通常是在主题定义中完成的。
—
wasamasa 2015年
尽管它可能会变得复杂,但似乎您可以在
—
丹
color
此处使用该库。您可能可以获得背景脸的rgb或hex值,确定“暗”的某个阈值,然后相应地设置前景。
@wasamasa是的。但是对于某些面孔,我不在乎它们的颜色是特定于主题的。我用想要自定义的示例面孔更新了我的问题。
—
Kaushal Modi 2015年
@Dan什么是重新评估背景十六进制的合适钩子?
—
Kaushal Modi 2015年
这是可以使用的逻辑((换面换脸'(((((背景暗)):前景“ White”)(t:前景“黑色”)):group'x-mode-faces)......由于如果要使用现有的面,则可以将中间的2行添加到现有的defface表单中。
—
Madhavan,2015年