info-gnus-english
[Top][All Lists]
Advanced

[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!




reply via email to

[Prev in Thread] Current Thread [Next in Thread]