如何为gnus-group-topic emacs24自定义face?

时间:2013-04-08 01:40:39

标签: emacs emacs24 emacs-faces gnus

我正在尝试在gnus-group-mode中设置主题名称的颜色。我已经尝试查找面部名称,因此我可以设置颜色属性,但是我将默认或ascii字符作为面部名称,具体取决于我正在查找的主题字母。

查看gnus的源代码我想出了这个函数。但是,在阅读文档的面部分后,我不确定如何为一个函数分配一个面(如果这是正确的做事方式)。

(defun gnus-group-topic-name ()
 "The name of the topic on the current line."
 (let ((topic (get-text-property (point-at-bol) 'gnus-topic)))
    (and topic (symbol-name topic))))

1 个答案:

答案 0 :(得分:1)

似乎没有为开箱即用的主题定义面孔。来自http://www.emacswiki.org/emacs/GnusFormatting的这个小片段尝试解决这个问题,并为空和非空主题引入了单独的面:

(setq gnus-topic-line-format "%i[ %u&topic-line; ] %v\n")

;; this corresponds to a topic line format of "%n %A"
(defun gnus-user-format-function-topic-line (dummy)
  (let ((topic-face (if (zerop total-number-of-articles)
                        'my-gnus-topic-empty-face
                      'my-gnus-topic-face)))
    (propertize
     (format "%s %d" name total-number-of-articles)
     'face topic-face)))

该页面还指出,您必须将my-gnus-topic-empty-facemy-gnus-topic-face替换为适当的面孔,或者创建自己的面孔。