我在写一个插件,希望让里面的某个 face 继承只继承另一个 face 的 background
,其他的则继承 parent(这种情况下似乎不能用 inherit
了)。
我目前的做法是让新 face 的属性是通过当前 face 的颜色来计算得到。例如
`((t (:inherit 'mode-line
:background ,(face-background 'mode-line-inactive))))
但是切换了 theme 后,这个 face 不会同步更新,还停留在老的样子。此时颜色看上去就不对头。(如果是 inherit
的话,可以实时更新但是必须全部继承)
一般这种情况是怎么解决的?我现在能想到的是给 load-theme
加 advice
,但是太丑了,有没有更优雅的解决方案?