summaryrefslogtreecommitdiffstats
path: root/.emacs.d/site-lisp/gnus-init.el
blob: 9f085c0ef743d899fae78fa840fb2966dce8618d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
(eval-when-compile
  (require 'gnus)
  (require 'gnus-start)
  (require 'gnus-sum)
  (require 'gnus-art)
  (require 'gnus-msg))

(defvar gnus-tmp-from)

(defvar oni:mail-adresses
  (rx (or "tom@ryuslash.org" "ryuslash@ninthfloor.org"
          "ryuslash@gmail.com" "thomas@aethon.nl" "tom@aethon.nl")))

(defvar gnus-init-subscribed-lists
  #s(hash-table size 5
                data ("gnu-emacs-bug?@" "Emacs bugs"
                      "help-gnu-emacs@gnu.org" "Emacs help"
                      "emacs-devel@gnu.org" "Emacs developers"
                      "@debbugs.gnu.org" "GNU Bug Tracker"
                      "it@aethon.nl" "IT bij Aethon"
                      "iedereen@aethon.nl" "Iedereen bij Aethon"
                      "aur-general@archlinux.org" "AUR Discussion"
                      "guile-user@gnu.org" "Guile Users"
                      "dev@suckless.org" "Suckless")))

(defun gnus-user-format-function-a (headers)
  (let ((to (gnus-extra-header 'To headers)))
    (if (string-match oni:mail-adresses to)
        (if (string-match "," to) "~" "»")
      (if (or (string-match oni:mail-adresses
                            (gnus-extra-header 'Cc headers))
              (string-match oni:mail-adresses
                            (gnus-extra-header 'BCc headers)))
          "~"
        " "))))

(defun gnus-user-format-function-b (headers)
  (let* ((to (gnus-extra-header 'To headers))
         (cc (gnus-extra-header 'Cc headers))
         (group (catch 'newsgroup
                  (maphash (lambda (key val)
                             (when (or (string-match key to)
                                       (string-match key cc))
                               (throw 'newsgroup val)))
                           gnus-init-subscribed-lists))))
    (or (and to group) "")))

(setq gnus-ignored-from-addresses oni:mail-adresses)
(setq message-alternative-emails oni:mail-adresses)
(setq message-dont-reply-to-names oni:mail-adresses)

(defvar gnus-face-5 'font-lock-variable-name-face)
(defvar gnus-face-6 'font-lock-constant-face)

(setq gnus-group-line-format "%P    %(%C%) %B%60=%4y%-2M%S\n")
(setq gnus-summary-line-format
      "%U%R%z%ua%I%(%*%[%5{%-23,23f%}%]%) %s%-115=%6{%21,21ub%}\n")
(setq gnus-select-method '(nntp "news.gmane.org"))
(setq gnus-secondary-select-methods
      '((nnmaildir "gmail"
                   (directory "~/documents/mail/gmail/"))
        (nnmaildir "ninthfloor"
                   (directory "~/documents/mail/ninthfloor/"))
        (nnmaildir "aethon"
                   (directory "~/documents/mail/aethon/"))
        (nnmaildir "ryuslash"
                   (directory "~/documents/mail/ryuslash.org/"))
        (nntp "news.gwene.org")))
(setq gnus-auto-subscribed-groups nil)
(setq gnus-save-newsrc-file nil)
(setq gnus-read-newsrc-file nil)
(setq gnus-article-truncate-lines nil)
;; (setq gnus-parameters
;;       '(("gmail"
;;          (display . all))
;;         ("aethon"
;;          (display . all)
;;         ("arch"
;;          (display . all)))))
(setq gnus-permanently-visible-groups
      (rx (and (or "gmail" "aethon" "ninthfloor" "ryuslash")
               ":inbox")))
;; (setq nntp-marks-is-evil t)
(setq gnus-check-new-newsgroups nil)
(setq gnus-novice-user nil)
(setq gnus-posting-styles
      '((".*"
         (address "tom@ryuslash.org")
         (eval (setq message-sendmail-extra-arguments '("-a" "ryuslash")
                     flyspell-default-dictionary "en")))
        ("gmail:"
         (address "ryuslash@gmail.com")
         (eval (setq message-sendmail-extra-arguments '("-a" "gmail"))))
        ("ninthfloor:"
         (address "ryuslash@ninthfloor.org")
         (eval (setq message-sendmail-extra-arguments '("-a" "ninthfloor"))))
        ("arch:"
         (address "tom.willemsen@archlinux.us")
         (eval (setq message-sendmail-extra-arguments '("-a" "arch"))))
        ("aethon:"
         (name "Tom Willemsen")
         (address "thomas@aethon.nl")
         (signature-file "~/documents/work/aethon/signature_20131209.txt")
         (eval (setq message-sendmail-extra-arguments '("-a" "aethon")
                     flyspell-default-dictionary "nl")))))
(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
;-----[ BBDB ]--------------------------------------------------------
;; (require 'bbdb)
;; (bbdb-initialize 'gnus 'message)
;; (bbdb-insinuate-gnus)
;; (setq bbdb-north-american-phone-numbers-p nil)