FAQ 4-9

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 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 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.el.