www.delorie.com/gnu/docs/emacs/gnus_123.html   search  
 
Buy the book!


Gnus Manual

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3 Customizing Articles

A slew of functions for customizing how the articles are to look like exist. You can call these functions interactively, or you can have them called automatically when you select the articles.

To have them called automatically, you should set the corresponding "treatment" variable. For instance, to have headers hidden, you'd set gnus-treat-hide-headers. Below is a list of variables that can be set, but first we discuss the values these variables can have.

Note: Some values, while valid, make little sense. Check the list below for sensible values.

  1. nil: Don't do this treatment.

  2. t: Do this treatment on all body parts.

  3. head: Do the treatment on the headers.

  4. last: Do this treatment on the last part.

  5. An integer: Do this treatment on all body parts that have a length less than this number.

  6. A list of strings: Do this treatment on all body parts that are in articles that are read in groups that have names that match one of the regexps in the list.

  7. A list where the first element is not a string:

    The list is evaluated recursively. The first element of the list is a predicate. The following predicates are recognized: or, and, not and typep. Here's an example:

     
    (or last
        (typep "text/x-vcard"))
    

You may have noticed that the word part is used here. This refers to the fact that some messages are MIME multipart articles that may be divided into several parts. Articles that are not multiparts are considered to contain just a single part.

Are the treatments applied to all sorts of multipart parts? Yes, if you want to, but by default, only `text/plain' parts are given the treatment. This is controlled by the gnus-article-treat-types variable, which is a list of regular expressions that are matched to the type of the part. This variable is ignored if the value of the controlling variable is a predicate list, as described above.

The following treatment options are available. The easiest way to customize this is to examine the gnus-article-treat customization group. Values in parenthesis are suggested sensible values. Others are possible but those listed are probably sufficient for most people.

gnus-treat-highlight-signature (t, last)
gnus-treat-buttonize (t, integer)
gnus-treat-buttonize-head (head)
gnus-treat-emphasize (t, head, integer)
gnus-treat-fill-article (t, integer)
gnus-treat-strip-cr (t, integer)
gnus-treat-hide-headers (head)
gnus-treat-hide-boring-headers (head)
gnus-treat-hide-signature (t, last)
gnus-treat-hide-citation (t, integer)
gnus-treat-strip-pgp (t, last, integer)
gnus-treat-strip-pem (t, last, integer)
gnus-treat-highlight-headers (head)
gnus-treat-highlight-citation (t, integer)
gnus-treat-highlight-signature (t, last, integer)
gnus-treat-date-ut (head)
gnus-treat-date-local (head)
gnus-treat-date-lapsed (head)
gnus-treat-date-original (head)
gnus-treat-strip-headers-in-body (t, integer)
gnus-treat-strip-trailing-blank-lines (t, last, integer)
gnus-treat-strip-leading-blank-lines (t, integer)
gnus-treat-strip-multiple-blank-lines (t, integer)
gnus-treat-overstrike (t, integer)
gnus-treat-display-xface (head)
gnus-treat-display-smileys (t, integer)
gnus-treat-display-picons (head)
gnus-treat-capitalize-sentences (t, integer)
gnus-treat-fill-long-lines (t, integer)
gnus-treat-play-sounds
gnus-treat-translate

You can, of course, write your own functions to be called from gnus-part-display-hook. The functions are called narrowed to the part, and you can do anything you like, pretty much. There is no information that you have to keep in the buffer--you can change everything.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003