Previous: Group Mode Line Specification, Up: Group Buffer Format [Contents][Index]

#### 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 see Faces 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`.

Previous: Group Mode Line Specification, Up: Group Buffer Format [Contents][Index]