gnus: Group Highlighting

 
 2.1.3 Group Highlighting
 ------------------------
 
 Highlighting in the group buffer is controlled by the
 ‘gnus-group-highlight’ variable.  This is an alist with elements that
 look like ‘(FORM . FACE)’.  If FORM evaluates to something non-‘nil’,
 the FACE will be used on the line.
 
    Here’s an example value for this variable that might look nice if the
 background is dark:
 
      (cond (window-system
             (setq custom-background-mode 'light)
             (defface my-group-face-1
               '((t (:foreground "Red" :bold t))) "First group face")
             (defface my-group-face-2
               '((t (:foreground "DarkSeaGreen4" :bold t)))
               "Second group face")
             (defface my-group-face-3
               '((t (:foreground "Green4" :bold t))) "Third group face")
             (defface my-group-face-4
               '((t (:foreground "SteelBlue" :bold t))) "Fourth group face")
             (defface my-group-face-5
               '((t (:foreground "Blue" :bold t))) "Fifth group face")))
 
      (setq gnus-group-highlight
            '(((> unread 200) . my-group-face-1)
              ((and (< level 3) (zerop unread)) . my-group-face-2)
              ((< level 3) . my-group-face-3)
              ((zerop unread) . my-group-face-4)
              (t . my-group-face-5)))
 
    Also SeeFaces and Fonts.
 
    Variables that are dynamically bound when the forms are evaluated
 include:
 
 ‘group’
      The group name.
 ‘unread’
      The number of unread articles in the group.
 ‘method’
      The select method.
 ‘mailp’
      Whether the group is a mail group.
 ‘level’
      The level of the group.
 ‘score’
      The score of the group.
 ‘ticked’
      The number of ticked articles in the group.
 ‘total’
      The total number of articles in the group.  Or rather, MAX-NUMBER
      minus MIN-NUMBER plus one.
 ‘topic’
      When using the topic minor mode, this variable is bound to the
      current topic being inserted.
 
    When the forms are ‘eval’ed, point is at the beginning of the line of
 the group in question, so you can use many of the normal Gnus functions
 for snarfing info on the group.
 
    ‘gnus-group-update-hook’ is called when a group line is changed.  It
 will not be called when ‘gnus-visual’ is ‘nil’.