summaryrefslogtreecommitdiffstats
path: root/.emacs.d/site-lisp/gnus-init.el
blob: 5e6919e0a7a2b22e4ec6e05a55edddf0da190c55 (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
(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")))

(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)))
          "~"
        " "))))

(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\n")
(setq gnus-summary-mode-line-format "Gnus: %G %Z")
(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-permanently-visible-groups
      (rx (and (or "gmail" "aethon" "ninthfloor" "ryuslash")
               ":inbox")))
(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"))))
        ("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"))))))
(add-hook 'gnus-select-group-hook
          (lambda ()
            (cond
             ((string-match "aethon"
                            (gnus-group-real-name gnus-newsgroup-name))
              (ispell-change-dictionary "nl"))
             (t (ispell-change-dictionary "en")))))
(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)