;; -*- emacs-lisp -*-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; $Id: gnus_groupparams.el,v 1.31 2006-11-06 21:02:42 rscholz Exp $
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Gruppen-spezifische Einstellungen
;;
;; Die offizielle Quelle dieser Datei ist
;;   <http://www.zonix.de/projects/emacs/config>
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Group Parameters            (Info-goto-node "(Gnus)Group Parameters")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; Group Parameters sind Einstellungen, die für eine oder mehrere
;; Gruppen gelten.  In Gnus können diese direkt mit `G c' oder `G p'
;; aus dem Summary-Buffer für eine Gruppe eingestellt werden.  Diese
;; Einstellungen werden dann in der ~/.newsrc.eld gespeichert.  Ich
;; bevorzuge es jedoch, diese Einstellungen in der ~/.gnus zu
;; speichern, da so die Einstellungen einfacher von einer
;; Gnus-Installation zu einer anderen übertragen werden können (die
;; ~/.newsrc.eld enthält noch viele weitere Daten, die nicht einfach
;; von einer Gnus-Installation auf eine andere kopiert werden dürfen).

(setq gnus-parameters 
      '(

        ;;;;;;;;;;;;;; Defaults für alle Gruppen
        
        ("some\\.group"
         (gnus-thread-sort-functions 'gnus-thread-sort-by-total-score)
         (gnus-newsgroup-adaptive t)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring t))

        ;;;;;;;;;;;;; Mail

        ("some\\.group"
         (gnus-thread-sort-functions 'gnus-thread-sort-by-date)
         (gnus-newsgroup-adaptive nil)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring nil))
        
        ;; Mails, die aus der Inbox geschrieben werden, sollen in
        ;; einem anderen Ordner gespeichert werden
        ("some\\.group" 
         (gcc-self . "nnimap:INBOX.mail.personal.other"))
        ("some\\.group" ; Verified
         (gcc-self . "nnimap+localhost:INBOX"))
        ("some\\.group"
         (gcc-self . "nnml:mail.personal.other"))

        ;; Mails, die aus dem Spam-Ordner geschrieben werden, sind
        ;; Complaints, die in einen eigenen Ordner gehören
        ("some\\.group"
         (gcc-self . "nnimap:INBOX.mail.provider.spamcop"))
        ("some\\.group"
         (gcc-self . "nnml:mail.provider.spamcop"))
        
        ;; Meine eigenen Mails, die in diesen Ordnern geschrieben
        ;; werden, landen wieder in diesen.  So bleiben die komplette
        ;; Threads erhalten.  Gilt nicht für Listen oder ähnliches, da
        ;; hier die Mail meistens auch an mich zurückgesendet wird.
        ("some\\.group"
         (gcc-self . t))

        ;; News per default 8 Wochen behalten
        ("some\\.group"
         (expiry-wait . 56.0)
         (expire-age  . [(* 56 24 60 60)]) ; nnmaildir
         (total-expire . t))

        ;; Unified Messaging Services ein Jahr aufheben
        ("some\\.group"
         (expiry-wait . 365.0)
         (expire-age  . [(* 365 24 60 60)]) ; nnmaildir
         (total-expire . t))

        ;; Spiegel
        ("some\\.group"
         ;; Nach Datum sortieren
         (gnus-thread-sort-functions '(gnus-thread-sort-by-date))
         ;; Angepasstes Aussehen (Info-goto-node "(Gnus)Summary Buffer Lines")
         (gnus-summary-line-format "%U%R%z%d [%3L]:%( %s %)\n")
         ;; kein Scoring
;;       (gnus-use-adaptive-scoring nil) Buggy?
         (gnus-newsgroup-adaptive nil)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring nil))
        
        ;; Dupes, die von maildrop/procmail aussortiert wurden, eine Woche behalten
        ("some\\.group"
         (expiry-wait . 7.0)
         (expire-age  . [(* 7 24 60 60)]) ; nnmaildir
         (total-expire . t))

        ;; CVS-Nachrichten 4 Wochen behalten
        ("some\\.group"
         (expiry-wait . 28.0)
         (expire-age  . [(* 28 24 60 60)]) ; nnmaildir
         (total-expire . t))

        ;;;;;;;;;;;;; Mailinglisten                                    

        ;; Mailinglisten sollen gescored werden und expired werden.
        ;; Deshalb ist total-expire erforderlich (Info-goto-node "(Gnus)Expiring Mail")

        ;; Default für Listen
        ("some\\.group"
         (expiry-wait . 112.0)
         (expire-age  . [(* 112 24 60 60)]) ; nnmaildir
         (total-expire . t)
         (subscribed . t)
         (gnus-use-scoring t))

        ;; Listen der Uni ein Jahr aufheben und kein Scoring und kein total-expire.
        ("some\\.group"
         (expiry-wait . 365.0)
         (expire-age  . [(* 365 24 60 60)]) ; nnmaildir
         (total-expire . nil)
         (auto-expire . t)
         (gnus-use-scoring nil))

        ;; Security @job
        ("some\\.group"
         (expiry-wait . 365.0)
         (expire-age  . [(* 365 24 60 60)]) ; nnmaildir
         (total-expire . nil)
         (auto-expire . t)
         (gnus-use-scoring nil))
        
        ;; Heimat

        ;; kein Scoring und kein Expire auf diesen Listen
        ("some\\.group"
         (total-expire . nil)
         (auto-expire . nil)
         (gnus-use-scoring nil)
         
         ;; falls in einer Mailingliste kein References-Header
         ;; vorhanden ist, sollten die Threads nach dem Subject-Header
         ;; zusammengesetzt werden  (Info-goto-node "(Gnus)Loose Threads")
         (gnus-summary-thread-gathering-function 'gnus-gather-threads-by-subject)
         (broken-reply-to . t))
         
        ("some\\.group"
         ;; to-adress, to-list, siehe (Info-goto-node "(Gnus)Group Parameters")
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")

         ;; Text, der automatisch von jedem Articel dieser Gruppe entfernt werden soll
         (banner "Some annoying banner...")

        ("some\\.group"
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")

        ;; Jahrgang

        ;; kein Scoring und kein Expire
        ("some\\.group"
         (total-expire . nil)
         (auto-expire . nil)
         (gnus-use-scoring nil)
         (gnus-summary-thread-gathering-function 'gnus-gather-threads-by-subject)
         ;; to-adress, to-list, siehe (Info-goto-node "(Gnus)Group Parameters")
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")
        
        ;; normale Listen
        
        ("some\\.group"
         (total-expire . nil)
         (auto-expire . nil)
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")
         (banner "Some annoying banner...")

         ;; Der Reply-To-Header zeigt auf die Liste - das ist böse (vgl.
         ;; <http://garcon.unicom.com/pw/reply-to-harmful.html>)
         (broken-reply-to . t))

        ("some\\.group"
         (total-expire . nil)
         (auto-expire . nil)
         (broken-reply-to . t)
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")

        ("some\\.group"
         (total-expire . nil)
         (auto-expire . nil)
         (broken-reply-to . t)
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")
        
        ;; TOH
        ("some\\.group"
         (total-expire . nil)
         (auto-expire . nil)
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")

        ("some\\.group"
         (total-expire . nil)
         (auto-expire . nil)
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")

        ("some\\.group"
         (total-expire . nil)
         (auto-expire . nil))
        
        ("some\\.group"
;        (to-address "some-groups@addre.ss")
;        (to-list "some-groups@addre.ss")
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")
         (broken-reply-to . t))

        ("some\\.group"
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")

        ("some\\.group"
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")

        ;; other
        
        ("some\\.group"
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")
         (banner "Some annoying banner...")

        ("some\\.group"
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")
         (banner "Some annoying banner...")

        ("some\\.group"
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")

        ;;;;;;;;;;;;; spezielle Newsgroups
        
        ("some\\.group"
         ;; Nach Datum sortieren
         (gnus-thread-sort-functions '(gnus-thread-sort-by-date))
         (gnus-build-sparse-threads nil)
         (gnus-fetch-old-headers nil)
         (gnus-newsgroup-adaptive nil)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring nil)
         (gcc-self . "nnimap:INBOX.mail.provider.gmane"))

        ("some\\.group"
         ;; Nach Datum sortieren
         (gnus-thread-sort-functions '(gnus-thread-sort-by-date))
         (gnus-build-sparse-threads nil)
         (gnus-fetch-old-headers nil)
         (gnus-newsgroup-adaptive nil)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring nil)
         (gnus-show-threads nil))
        
        ("some\\.group"
;        (to-address "some-groups@addre.ss")
;        (to-list "some-groups@addre.ss")
;        (broken-reply-to . t)
         (banner "Some annoying banner...")
         (gnus-summary-thread-gathering-function 'gnus-gather-threads-by-subject))

        ("some\\.group"
         (gnus-thread-sort-functions '(gnus-thread-sort-by-subject)))

        ("some\\.group"
         (gnus-thread-sort-functions '(gnus-thread-sort-by-date))        
         ;;      (gnus-use-adaptive-scoring nil) Buggy?
         (gnus-newsgroup-adaptive nil)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring nil))

        ("some\\.group"
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")

        ("some\\.group"
         (to-address "some-groups@addre.ss")
         (to-list "some-groups@addre.ss")
        
        ("some\\.group"
         (banner "Some annoying banner...")
         (gnus-thread-sort-functions '(gnus-thread-sort-by-subject))
         (gnus-summary-line-format "%U%R%z%d: %(%[ %s %]%)\n")
         ;; nur das Score-File der Gruppe selbst anwenden
         ;; (Info-goto-node "(Gnus)Score Variables")
         (gnus-score-find-score-files-function 'gnus-score-find-single)
;;       (gnus-use-adaptive-scoring nil) Buggy?
         (gnus-newsgroup-adaptive nil)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring t))

        ;; Mailinglisten mit häufig kaputten References und Mailman-Banner
        ("some\\.group"
         (banner "Some annoying banner...")
         (gnus-summary-thread-gathering-function 'gnus-gather-threads-by-subject))

        ("some\\.group"
         (gnus-show-threads nil)
         (gnus-thread-sort-functions '(gnus-thread-sort-by-date))
         
;;       (gnus-use-adaptive-scoring nil) Buggy?
         (gnus-newsgroup-adaptive nil)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring t))

        ("some\\.group"
         (banner "Some annoying banner...")
        
        ;; Newsticker
        ("some\\.group"
         (gnus-thread-sort-functions '(gnus-thread-sort-by-date)))
        
        ("some\\.group"
         (gnus-summary-line-format "%U%R%z: %uy [%4L] %s\n")
         (gnus-newsgroup-adaptive nil)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring nil))

        ("some\\.group"
         (gnus-summary-thread-gathering-function 'gnus-gather-threads-by-references)
         (gnus-summary-line-format "%U%R%z%uy [%3L] %3{%B%}%(%[ %S %]%)\n")
;;       (gnus-use-adaptive-scoring nil) Buggy?
         (gnus-newsgroup-adaptive nil)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring nil))

        ("some\\.group"
         (gnus-summary-thread-gathering-function 'gnus-gather-threads-by-references)
         (gnus-summary-line-format "%U%R%z%uz [%3L] %3{%B%}%(%-22,22f %[ %S %]%)\n")
;;       (gnus-use-adaptive-scoring nil) Buggy?
         (gnus-newsgroup-adaptive nil)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring nil))
        
        ("some\\.group"
         (gnus-summary-line-format "%U%R%z: %uy [%4L] %s\n")
         (gnus-newsgroup-adaptive nil)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring nil))
        
        ("some\\.group"
         (gnus-use-scoring t))

        ;; RSS
        
        ("some\\.group"
         ((gnus-treat-wash-html t)))
        
        ("some\\.group"
         ;; Nach Subject sortieren
         (gnus-thread-sort-functions '(gnus-thread-sort-by-subject))
         (gnus-build-sparse-threads nil)
         (gnus-fetch-old-headers nil)
         (gnus-newsgroup-adaptive nil)      ;; vgl. <ur8boo0b6.fsf@pille.fhaun.de>
         (gnus-use-scoring nil))
        
        ))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; List-Identifiers              (Info-goto-node "(Gnus)Article Hiding")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; Liste von regulären Ausdrücken, die auf Listenbezeichner matchen.  Diese
;; werden dann von Gnus im Summary- und Article-Buffer ausgeblendet.

(setq gnus-list-identifiers 
      '(
        "heimat123: "
        "heimat123-de: "
        "heimat-dvd: "
        "^ +"                    ; führende Leerzeichen
        "\\[Pilotmgr\\]"
        "\\[Vaio-pcg-c1-general\\]"
        "\\[videodb-devel\\]"
        "\\[Swsusp-devel\\]"
        "\\[ivtv-\\(devel\\|users\\)\\]"
        "\\[weex\\]"
        "\\[sommerfest\\]"
        "\\[leafnode-list\\]"))
;;
;; DIESE DATEI ENTHÄLT AUS DATENSCHUTZGRÜNDEN KEINE PERSONENBEZOGENEN DATEN MEHR!
;;