2 ;; for debugging see `gnus-verbose' and `nnimap-debug'
7 (defadvice netrc-parse
(around netrc-parse-inline first
(file) activate
)
10 (setq ad-return-value file
)))
12 (unless (functionp 'gnus-browse-imaps-server
)
13 (defun gnus-browse-imaps-server (server)
14 "Browse a mail server in Gnus via IMAP-SSL."
15 (interactive "sServer name: ")
16 (gnus-group-browse-foreign-server
18 `((nnimap-address ,server
)
20 ;;'(nnimap-list-pattern ("INBOX" "mail/*" "Mail/*" "INBOX.*"))
21 (nnimap-expunge-on-close ask
))))))
23 (defun gnus-group-quit! nil
25 (let ((noninteractive t
)) (gnus-group-quit)))
26 (add-hook 'kill-emacs-hook
'gnus-group-quit
!)
28 (defun gnus-group-killed! nil
29 (and (equal (buffer-name) "*Group*")
30 (remove-hook 'kill-buffer-hook
'gnus-group-killed
!) (gnus-group-quit!)))
31 (add-hook 'kill-buffer-hook
'gnus-group-killed
!)
33 (defun gnus-user-format-function-d (headers)
34 (let ((time (gnus-group-timestamp gnus-tmp-group
)))
36 (format-time-string "%b %d %H:%M" time
)
39 (setq gnus-select-method
'(nnnil))
40 (setq gnus-secondary-select-methods nil
)
42 ;; gmane news/mail gateway
43 (add-to-list 'gnus-secondary-select-methods
'(nntp "news.gmane.org"))
46 ;;(add-to-list 'gnus-secondary-select-methods '(nnslashdot "")) ;; FIX
51 (add-to-list 'gnus-secondary-select-methods
53 (nnimap-address ,server
)
55 ((("machine" .
,server
)
57 ("password" .
,pass
))))
59 (nnimap-expunge-on-close ask
)))))
62 ;; simple mail accounts
63 (eval-after-load "mail-source" '(require 'tgnus-pop3
))
64 (add-to-list 'gnus-secondary-select-methods
'(nnml ""))
65 (setq mail-sources nil
)
67 (add-to-list 'mail-sources
68 `(pop :user
,user
:password
,pass
69 :connection ssl
:leave t
70 :server
,server
:port
995)))
73 (setq gnus-posting-styles
75 (name "Victor Hugo Borja")
76 (addres "vicborj@gmail.com"))
77 (".*" (name "Victor Hugo Borja")
78 (address "vic@rubyforge.org"))))
86 ;; (add-to-list 'gnus-options-subscribe '("gmane.*ruby")) ;; I love ruby
87 ;; (add-to-list 'gnus-option-not-subscribe '("microsoft")) ;; aint matters
89 ;; set a fancy *Groups* buffer
90 ;; (setq gnus-group-line-format "%M%S%p%P%5y:%B%(%g%)%l %O\n") ;; default
91 (setq gnus-group-uncollapsed-levels
3
92 gnus-group-line-format
93 "%M\%S\%p\%P\%5y: %(%-40,40c%) %ud\n")
95 ;; group highlight high/low scores
96 ;;(add-to-list 'gnus-group-highlight '((nil) . face))
98 ;; when entering a group go to the highest-scored unread article
99 (setq gnus-auto-select-first
'best
)
101 ;; most read groups get higher scores `gnus(Group Score)'
102 (add-hook 'gnus-summary-exit-hook
'gnus-summary-bubble-group
)
104 ;; fixed group properties (Use `G p' on *Group*) or setq gnus-parameters
106 ;; use topic mode by default
107 (add-hook 'gnus-group-mode-hook
'gnus-topic-mode
)
109 ;; keep track of when a group was last read
110 (add-hook 'gnus-select-group-hook
'gnus-group-set-timestamp
)
114 ;; from [emacswiki: GnusFormatting]
115 (setq gnus-topic-line-format
"%i[ %u&topic-line; ] %v\n")
117 ;; this corresponds to a topic line format of "%n %A"
118 (defun gnus-user-format-function-topic-line (dummy)
119 (let ((topic-face (if (zerop total-number-of-articles
)
120 'gnus-summary-low-ancient
121 'gnus-summary-high-ancient
)))
123 (format "%s %d" name total-number-of-articles
)
128 ;; The Summary Buffer
131 ;; article line format `gnus(Summary Buffer Lines)'
132 ;; (setq gnus-summary-line-format "%U%R%z%I%(%[%4L: %-23,23f%]%) %s\n") ;; def
134 (setq gnus-summary-gather-subject-limit
'fuzzy
)
136 (def-keys gnus-summary-mode-map
"$" 'gnus-summary-mark-as-spam
)
139 (eval-after-load 'nnrss
142 ;; Browse the rss entry URL with C-RET at *Summary buffer
143 (require 'browse-url
)
145 (defun browse-nnrss-url (arg)
147 (let ((url (assq nnrss-url-field
150 (assq (gnus-summary-article-number)
151 gnus-newsgroup-data
))))))
153 (browse-url (cdr url
))
154 (gnus-summary-scroll-up arg
))))
156 (add-hook 'gnus-summary-mode-hook
158 (def-keys gnus-summary-mode-map
159 "H-<return>" 'browse-nnrss-url
;; browse-url-function
160 "M-<return>" (lambda nil
(interactive) ;; konqueror
161 (let ((browse-url-browser-function
163 (call-interactively 'browse-nnrss-url
)))
164 "C-<return>" (lambda nil
(interactive) ;; w3m
165 (let ((browse-url-browser-function
166 (lambda (url &rest ignored
)
168 (w3m-browse-url url t
))))
169 (call-interactively 'browse-nnrss-url
))))))
171 (add-to-list 'nnmail-extra-headers nnrss-url-field
)
173 (add-hook 'gnus-summary-mode-hook
174 (lambda () ;; from http://anirudhs.chaosnet.org/blog/2004.07.13.html
175 (when (string-match "^nnrss:.*" gnus-newsgroup-name
)
176 (make-local-variable 'gnus-show-threads
)
177 (make-local-variable 'gnus-article-sort-functions
)
178 (make-local-variable 'gnus-use-adaptive-scoring
)
179 (make-local-variable 'gnus-use-scoring
)
180 (make-local-variable 'gnus-score-find-score-files-function
)
181 (make-local-variable 'gnus-summary-line-format
)
182 (setq gnus-show-threads nil
)
183 (setq gnus-article-sort-functions
'gnus-article-sort-by-date
)
184 (setq gnus-use-adaptive-scoring nil
)
185 (setq gnus-use-scoring t
)
186 (setq gnus-score-find-score-files-function
'gnus-score-find-single
)
187 (setq gnus-summary-line-format
"%U%R%z%d %I%(%[ %s %]%)\n")