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

10.9.4 Reading messages

Question 4.1:  When I enter a group, all read messages are gone. How to view them again?
Question 4.2:  How to tell Gnus to show an important message every time I enter a group, even when it's read?
Question 4.3:  How to view the headers of a message?
Question 4.4:  How to view the raw unformatted message?
Question 4.5:  How can I change the headers Gnus displays by default at the top of the article buffer?
Question 4.6:  I'd like Gnus NOT to render HTML-mails but show me the text part if it's available. How to do it?
Question 4.7:  Can I use some other browser than w3 to render my HTML-mails?
Question 4.8:  Is there anything I can do to make poorly formatted mails more readable?
Question 4.9:  Is there a way to automatically ignore posts by specific authors or with specific words in the subject? And can I highlight more interesting ones in some way?
Question 4.10:  How can I disable threading in some (e.g. mail-) groups, or set other variables specific for some groups?
Question 4.11:  Can I highlight messages written by me and follow-ups to those?
Question 4.12:  The number of total messages in a group which Gnus displays in group buffer is by far to high, especially in mail groups. Is this a bug?
Question 4.13:  I don't like the layout of summary and article buffer, how to change it? Perhaps even a three pane display?
Question 4.14:  I don't like the way the Summary buffer looks, how to tweak it?
Question 4.15:  How to split incoming mails in several groups?

Question 4.1:

When I enter a group, all read messages are gone. How to view them again?

Answer:

If you enter the group by saying `RET' in summary buffer with point over the group, only unread and ticked messages are loaded. Say `C-u RET' instead to load all available messages. If you want only the e.g. 300 newest say `C-u 300 RET'

Loading only unread messages can be annoying if you have threaded view enabled, say

 
(setq gnus-fetch-old-headers 'some)

in ~/.gnus to load enough old articles to prevent teared threads, replace 'some with t to load all articles (Warning: Both settings enlarge the amount of data which is fetched when you enter a group and slow down the process of entering a group).

If you already use Gnus 5.10.0, you can say `/o N' In summary buffer to load the last N messages, this feature is not available in 5.8.8

If you don't want all old messages, but the parent of the message you're just reading, you can say `^', if you want to retrieve the whole thread the message you're just reading belongs to, `A T' is your friend.

Question 4.2:

How to tell Gnus to show an important message every time I enter a group, even when it's read?

Answer:

You can tick important messages. To do this hit `u' while point is in summary buffer over the message. When you want to remove the mark, hit either `d' (this deletes the tick mark and set's unread mark) or `M c' (which deletes all marks for the message).

Question 4.3:

How to view the headers of a message?

Answer:

Say `t' to show all headers, one more `t' hides them again.

Question 4.4:

How to view the raw unformatted message?

Answer:

Say `C-u g' to show the raw message `g' returns to normal view.

Question 4.5:

How can I change the headers Gnus displays by default at the top of the article buffer?

Answer:

The variable gnus-visible-headers controls which headers are shown, its value is a regular expression, header lines which match it are shown. So if you want author, subject, date, and if the header exists, Followup-To and MUA / NUA say this in ~/.gnus:
 
(setq gnus-visible-headers 
      "^\\(From:\\|Subject:\\|Date:\\|Followup-To:\
\\|X-Newsreader:\\|User-Agent:\\|X-Mailer:\\)")

Question 4.6:

I'd like Gnus NOT to render HTML-mails but show me the text part if it's available. How to do it?

Answer:

Say

 
(eval-after-load "mm-decode"
 '(progn 
      (add-to-list 'mm-discouraged-alternatives "text/html")
      (add-to-list 'mm-discouraged-alternatives "text/richtext")))

in ~/.gnus. If you don't want HTML rendered, even if there's no text alternative add

 
(setq mm-automatic-display (remove "text/html" mm-automatic-display))

too.

Question 4.7:

Can I use some other browser than w3 to render my HTML-mails?

Answer:

Only if you use Gnus 5.10.0 or younger. In this case you've got the choice between w3, w3m, links, lynx and html2text, which one is used can be specified in the variable mm-text-html-renderer, so if you want links to render your mail say

 
(setq mm-text-html-renderer 'links)

Question 4.8:

Is there anything I can do to make poorly formatted mails more readable?

Answer:

Gnus offers you several functions to "wash" incoming mail, you can find them if you browse through the menu, item Article->Washing. The most interesting ones are probably "Wrap long lines" ( `W w' ), "Decode ROT13" ( `W r' ) and "Outlook Deuglify" which repairs the dumb quoting used by many users of Microsoft products ( `W Y f' gives you full deuglify. See `W Y C-h' or have a look at the menus for other deuglifications). Outlook deuglify is only available since Gnus 5.10.0.

Question 4.9:

Is there a way to automatically ignore posts by specific authors or with specific words in the subject? And can I highlight more interesting ones in some way?

Answer:

You want Scoring. Scoring means, that you define rules which assign each message an integer value. Depending on the value the message is highlighted in summary buffer (if it's high, say +2000) or automatically marked read (if the value is low, say -800) or some other action happens.

There are basically three ways of setting up rules which assign the scoring-value to messages. The first and easiest way is to set up rules based on the article you are just reading. Say you're reading a message by a guy who always writes nonsense and you want to ignore his messages in the future. Hit `L', to set up a rule which lowers the score. Now Gnus asks you which the criteria for lowering the Score shall be. Hit `?' twice to see all possibilities, we want `a' which means the author (the from header). Now Gnus wants to know which kind of matching we want. Hit either `e' for an exact match or `s' for substring-match and delete afterwards everything but the name to score down all authors with the given name no matter which email address is used. Now you need to tell Gnus when to apply the rule and how long it should last, hit e.g. `p' to apply the rule now and let it last forever. If you want to raise the score instead of lowering it say `I' instead of `L'.

You can also set up rules by hand. To do this say `V f' in summary buffer. Then you are asked for the name of the score file, it's name.of.group.SCORE for rules valid in only one group or all.Score for rules valid in all groups. See the Gnus manual for the exact syntax, basically it's one big list whose elements are lists again. the first element of those lists is the header to score on, then one more list with what to match, which score to assign, when to expire the rule and how to do the matching. If you find me very interesting, you could e.g. add the following to your all.Score:

 
(("references" ("hschmi22.userfqdn.rz-online.de" 500 nil s))
 ("message-id" ("hschmi22.userfqdn.rz-online.de" 999 nil s)))

This would add 999 to the score of messages written by me and 500 to the score of messages which are a (possibly indirect) answer to a message written by me. Of course nobody with a sane mind would do this :-)

The third alternative is adaptive scoring. This means Gnus watches you and tries to find out what you find interesting and what annoying and sets up rules which reflect this. Adaptive scoring can be a huge help when reading high traffic groups. If you want to activate adaptive scoring say

 
(setq gnus-use-adaptive-scoring t)

in ~/.gnus.

Question 4.10:

How can I disable threading in some (e.g. mail-) groups, or set other variables specific for some groups?

Answer:

While in group buffer move point over the group and hit `G c', this opens a buffer where you can set options for the group. At the bottom of the buffer you'll find an item that allows you to set variables locally for the group. To disable threading enter gnus-show-threads as name of variable and nil as value. Hit button done at the top of the buffer when you're ready.

Question 4.11:

Can I highlight messages written by me and follow-ups to those?

Answer:

Stop those "Can I ..." questions, the answer is always yes in Gnus Country :-). It's a three step process: First we make faces (specifications of how summary-line shall look like) for those postings, then we'll give them some special score and finally we'll tell Gnus to use the new faces. You can find detailed instructions on how to do it on my.gnus.org

Question 4.12:

The number of total messages in a group which Gnus displays in group buffer is by far to high, especially in mail groups. Is this a bug?

Answer:

No, that's a matter of design of Gnus, fixing this would mean reimplementation of major parts of Gnus' back ends. Gnus thinks "highest-article-number - lowest-article-number = total-number-of-articles". This works OK for Usenet groups, but if you delete and move many messages in mail groups, this fails. To cure the symptom, enter the group via `C-u RET' (this makes Gnus get all messages), then hit `M P b' to mark all messages and then say `B m name.of.group' to move all messages to the group they have been in before, they get new message numbers in this process and the count is right again (until you delete and move your mail to other groups again).

Question 4.13:

I don't like the layout of summary and article buffer, how to change it? Perhaps even a three pane display?

Answer:

You can control the windows configuration by calling the function gnus-add-configuration. The syntax is a bit complicated but explained very well in the manual node "Window Layout". Some popular examples:

Instead 25% summary 75% article buffer 35% summary and 65% article (the 1.0 for article means "take the remaining space"):

 
(gnus-add-configuration 
 '(article (vertical 1.0
		     (summary .35 point)
		     (article 1.0))))

A three pane layout, Group buffer on the left, summary buffer top-right, article buffer bottom-right:

 
(gnus-add-configuration
 '(article
   (horizontal 1.0
	       (vertical 25
			 (group 1.0))
	       (vertical 1.0
			 (summary 0.25 point)
			 (article 1.0)))))
(gnus-add-configuration
 '(summary
   (horizontal 1.0
	       (vertical 25
			 (group 1.0))
	       (vertical 1.0
			 (summary 1.0 point)))))	      

Question 4.14:

I don't like the way the Summary buffer looks, how to tweak it?

Answer:

You've got to play around with the variable gnus-summary-line-format. It's value is a string of symbols which stand for things like author, date, subject etc. A list of the available specifiers can be found in the manual node "Summary Buffer Lines" and the often forgotten node "Formatting Variables" and it's sub-nodes. There you'll find useful things like positioning the cursor and tabulators which allow you a summary in table form, but sadly hard tabulators are broken in 5.8.8.

Since 5.10.0, Gnus offers you some very nice new specifiers, e.g. %B which draws a thread-tree and %&user-date which gives you a date where the details are dependent of the articles age. Here's an example which uses both:

 
(setq gnus-summary-line-format 
      ":%U%R %B %s %-60=|%4L |%-20,20f |%&user-date; \n")

resulting in:

 
:O     Re: [Richard Stallman] rfc2047.el          |  13 |Lars Magne Ingebrigt |Sat 23:06
:O     Re: Revival of the ding-patches list       |  13 |Lars Magne Ingebrigt |Sat 23:12
:R  >  Re: Find correct list of articles for a gro|  25 |Lars Magne Ingebrigt |Sat 23:16
:O  \->  ...                                      |  21 |Kai Grossjohann      | 0:01
:R  >  Re: Cry for help: deuglify.el - moving stuf|  28 |Lars Magne Ingebrigt |Sat 23:34
:O  \->  ...                                      | 115 |Raymond Scholz       | 1:24
:O    \->  ...                                    |  19 |Lars Magne Ingebrigt |15:33
:O     Slow mailing list                          |  13 |Lars Magne Ingebrigt |Sat 23:49
:O     Re: `@' mark not documented                |  13 |Lars Magne Ingebrigt |Sat 23:50
:R  >  Re: Gnus still doesn't count messages prope|  23 |Lars Magne Ingebrigt |Sat 23:57
:O  \->  ...                                      |  18 |Kai Grossjohann      | 0:35
:O    \->  ...                                    |  13 |Lars Magne Ingebrigt | 0:56

Question 4.15:

How to split incoming mails in several groups?

Answer:

Gnus offers two possibilities for splitting mail, the easy nnmail-split-methods and the more powerful Fancy Mail Splitting. I'll only talk about the first one, refer to the manual, node "Fancy Mail Splitting" for the latter.

The value of nnmail-split-methods is a list, each element is a list which stands for a splitting rule. Each rule has the form "group where matching articles should go to", "regular expression which has to be matched", the first rule which matches wins. The last rule must always be a general rule (regular expression .*) which denotes where articles should go which don't match any other rule. If the folder doesn't exist yet, it will be created as soon as an article lands there. By default the mail will be send to all groups whose rules match. If you don't want that (you probably don't want), say

 
(setq nnmail-crosspost nil)

in ~/.gnus.

An example might be better than thousand words, so here's my nnmail-split-methods. Note that I send duplicates in a special group and that the default group is spam, since I filter all mails out which are from some list I'm subscribed to or which are addressed directly to me before. Those rules kill about 80% of the Spam which reaches me (Email addresses are changed to prevent spammers from using them):

 
(setq nnmail-split-methods
  '(("duplicates" "^Gnus-Warning:.*duplicate")
    ("XEmacs-NT" "^\\(To:\\|CC:\\).*localpart@xemacs.bla.*")
    ("Gnus-Tut" "^\\(To:\\|CC:\\).*localpart@socha.bla.*")
    ("tcsh" "^\\(To:\\|CC:\\).*localpart@mx.gw.bla.*")
    ("BAfH" "^\\(To:\\|CC:\\).*localpart@.*uni-muenchen.bla.*")
    ("Hamster-src"
     "^\\(CC:\\|To:\\).*hamster-sourcen@yahoogroups.\\(de\\|com\\).*")
    ("Tagesschau" "^From: tagesschau $")
    ("Replies" "^\\(CC:\\|To:\\).*localpart@Frank-Schmitt.bla.*")
    ("EK"
     "^From:.*\\(localpart@privateprovider.bla\\|localpart@workplace.bla\\).*")
    ("Spam"
     "^Content-Type:.*\\(ks_c_5601-1987\\|EUC-KR\\|big5\\|iso-2022-jp\\).*")
    ("Spam"
     "^Subject:.*\\(This really work\\|XINGA\\|ADV:\\|XXX\\|adult\\|sex\\).*")
    ("Spam"
     "^Subject:.*\\(\=\?ks_c_5601-1987\?\\|\=\?euc-kr\?\\|\=\?big5\?\\).*")
    ("Spam" "^X-Mailer:\\(.*BulkMailer.*\\|.*MIME::Lite.*\\|\\)")
    ("Spam"
     "^X-Mailer:\\(.*CyberCreek Avalanche\\|.*http\:\/\/GetResponse\.com\\)")
    ("Spam"
     "^From:.*\\(verizon\.net\\|prontomail\.com\\|money\\|ConsumerDirect\\).*")
    ("Spam" "^Delivered-To: GMX delivery to spamtrap@gmx.bla$")
    ("Spam" "^Received: from link2buy.com")
    ("Spam" "^CC: .*azzrael@t-online.bla")
    ("Spam" "^X-Mailer-Version: 1.50 BETA")
    ("Uni" "^\\(CC:\\|To:\\).*localpart@uni-koblenz.bla.*")
    ("Inbox"
     "^\\(CC:\\|To:\\).*\\(my\ name\\|address@one.bla\\|adress@two.bla\\)")
    ("Spam" "")))


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

This document was generated on October, 20 2003 using texi2html