[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Are there any "advanced" tutorial on GNUS scoring?
From: |
Oleksandr Gavenko |
Subject: |
Re: Are there any "advanced" tutorial on GNUS scoring? |
Date: |
Sun, 31 Mar 2013 22:10:36 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) |
On 2013-03-31, Adam Sjøgren wrote:
> Oleksandr Gavenko <gavenkoa@gmail.com> writes:
>
>> Today I make my fifth attempt to configure GNUS scoring. And again I
>> fail to do this.
>
> The easiest way to get help is often:
>
> * Describe what you want to happen
> * Describe what you did
> * Describe what you expected to happen
> * Describe what happened instead
>
> I only use scoring as a rudimentary "kill file" myself (using only two
> levels: not shown at all and shown as already read), but if you provide
> some details, maybe somebody can help you.
>
> Complaining about the documentation in general terms is unlikely to
> result in any specific improvements :-)
>
OK! I like predictable behaviour and look for a way to read massive lists.
So default settings for adaptive scoring take me unwanted result.
================================================================
I set (in .emacs instead of .gnus.el):
(setq
gnus-show-threads t
gnus-thread-sort-functions '(gnus-thread-sort-by-date
gnus-thread-sort-by-total-score)
)
(setq
gnus-use-scoring t
gnus-save-score t
gnus-score-expiry-days 60
;; gnus-decay-scores t
gnus-score-decay-constant 3
)
(setq gnus-score-interactive-default-score 100)
(setq gnus-use-adaptive-scoring t)
;; I use 100 for replay to me and 200 for essential mails, and -50 for bad
mails.
(setq gnus-default-adaptive-score-alist
'(
(gnus-unread-mark)
(gnus-ticked-mark (followup 100))
(gnus-dormant-mark (followup 100))
;; (gnus-read-mark (followup -50))
;; (gnus-catchup-mark (subject -50))
(gnus-del-mark (followup -50))
(gnus-killed-mark (followup -50))
(gnus-kill-file-mark (from -9999))
))
;; Increase the score for followups to a sent article.
(eval-after-load 'gnus-score
'(progn
;; (add-hook 'message-sent-hook 'gnus-score-followup-article)
(add-hook 'message-sent-hook 'gnus-score-followup-thread)
))
(defun my-gnus-thread-score-function (&rest scores)
"If any followup have positive score assign greater available
score to thread, else assign lesser available score."
(let ( (max (apply 'max scores)) (min (apply 'min scores)) )
(if (< 0 max) max min)))
(setq gnus-thread-score-function #'my-gnus-thread-score-function)
and (in ~/.gnus/scores/all.SCORE):
(("from"
("Oleksandr Gavenko" 200 nil s))
("from"
("gavenkoa" 200 nil s))
("references"
("@gavenkoa.example.com" 100)
("@desktop.home.int" 100))
(mark-and-expunge -20)
(thread-mark-and-expunge -20))
================================================================
My goal:
*1*) kill trolls forever (by 'L' command I can do this permanently).
*2*) kill followups to trolls forever - DON"T KNOW HOW.
*3*) Show interesting or important person message anyway (by 'I' command or
by editing 'V e' score file I can do this permanently).
*4*) Show followups to my message anyway. Seems that this do job:
(add-hook 'message-sent-hook 'gnus-score-followup-thread)
*5*) After killing threads (by 'k' or 'C-M-k') expunge any followups to
killed messages forever - DON"T KNOW HOW. I try:
(setq gnus-use-adaptive-scoring t)
(setq gnus-default-adaptive-score-alist
(gnus-del-mark (followup -50))
(gnus-killed-mark (followup -50)))
but sometimes this not work. I read RSDN and SQLRU forum thought NNTP
gateway. Seems that underlie server software mess with article IDs. Do I
need '(thread -50)' instead of '(followup -50)'?
I like less typing. So try to exploit adaptive scoring which can convert 'r'
and 'K' marks into scores:
(setq gnus-default-adaptive-score-alist
(gnus-del-mark (followup -50))
(gnus-killed-mark (followup -50)))
when I leave group.
================================================================
Summary of questions:
* How to kill followups to trolls forever?
* If threads usually constructed fine by GNUS but (followup -50) do job bad
do I need use (thread -50)? Is "thread" new addition to GNUS (I don't
remember it when read GNUS manual from Emacs 22)?
--
Best regards!