You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dotfiles/gnus.el

133 lines
4.8 KiB

3 years ago
(setq user-full-name "Rostyslav Hnatyshyn"
user-mail-address "rostyslav.hnatyshyn@gmail.com")
(setq message-send-mail-function 'smtpmail-send-it
smtpmail-default-smtp-server "smtp.gmail.com"
smtpmail-smtp-service 587
smtpmail-local-domain "homepc")
(require 'nnir)
(setq gnus-save-newsrc-file nil)
(setq gnus-use-dribble-file nil)
;; Please note mail folders in `gnus-select-method' have NO prefix like "nnimap+hotmail:" or "nnimap+gmail:"
;; Read feeds/atom through gwene
(setq gnus-select-method '(nntp "news.gwene.org"))
;; ask encryption password once
(setq epa-file-cache-passphrase-for-symmetric-encryption t)
;; @see http://gnus.org/manual/gnus_397.html
(add-to-list 'gnus-secondary-select-methods
'(nnimap "gmail-rosty"
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)
(nnir-search-engine imap)
; @see http://www.gnu.org/software/emacs/manual/html_node/gnus/Expiring-Mail.html
;; press 'E' to expire email
(nnmail-expiry-target "nnimap+gmail-rosty:[Gmail]/Trash")
(nnmail-expiry-wait 90)))
(add-to-list 'gnus-secondary-select-methods
'(nnimap "gmail-throwaway"
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)
(nnir-search-engine imap)
(nnmail-expiry-target "nnimap+gmail-throwaway:[Gmail]/Trash")
(nnmail-expiry-wait 90)))
(add-to-list 'gnus-secondary-select-methods
'(nnimap "gmail-asu"
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)
(nnir-search-engine imap)
(nnmail-expiry-target "nnimap+gmail-asu:[Gmail]/Trash")
(nnmail-expiry-wait 90)))
(setq gnus-thread-sort-functions
'(gnus-thread-sort-by-most-recent-date
(not gnus-thread-sort-by-number)))
;; {{ press "o" to view all groups
(defun my-gnus-group-list-subscribed-groups ()
"List all subscribed groups with or without un-read messages"
(interactive)
(gnus-group-list-all-groups 5))
(define-key gnus-group-mode-map
;; list all the subscribed groups even they contain zero un-read messages
(kbd "o") 'my-gnus-group-list-subscribed-groups)
;; }}
;; Fetch only part of the article if we can.
;; I saw this in someone's .gnus
(setq gnus-read-active-file 'some)
;; open attachment
(eval-after-load 'mailcap
'(progn
(cond
;; on macOS, maybe change mailcap-mime-data?
((eq system-type 'darwin))
;; on Windows, maybe change mailcap-mime-data?
((eq system-type 'windows-nt))
(t
;; Linux, read ~/.mailcap
(mailcap-parse-mailcaps)))))
;; Tree view for groups.
(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
;; Threads! I hate reading un-threaded email -- especially mailing
;; lists. This helps a ton!
(setq gnus-summary-thread-gathering-function 'gnus-gather-threads-by-subject)
;; Also, I prefer to see only the top level message. If a message has
;; several replies or is part of a thread, only show the first message.
;; `gnus-thread-ignore-subject' will ignore the subject and
;; look at 'In-Reply-To:' and 'References:' headers.
(setq gnus-thread-hide-subtree t)
(setq gnus-thread-ignore-subject t)
;; http://www.gnu.org/software/emacs/manual/html_node/gnus/_005b9_002e2_005d.html
(setq gnus-use-correct-string-widths nil)
(eval-after-load 'gnus-topic
'(progn
(setq gnus-message-archive-group '((format-time-string "sent.%Y")))
(setq gnus-topic-topology '(("Gnus" visible)
(("gmail-rosty" visible nil nil))
(("gmail-asu" visible nil nil))
(("gmail-throwaway" visible nil nil))))
(setq gnus-topic-alist '(("gmail-rosty"
"nnimap+gmail-rosty:INBOX"
"nnimap+gmail-rosty:[Gmail]/Sent Mail"
"nnimap+gmail-rosty:[Gmail]/Drafts"
"nnimap+gmail-rosty:[Gmail]/Important")
("gmail-throwaway"
"nnimap+gmail-throwaway:INBOX"
"nnimap+gmail-throwaway:[Gmail]/Sent Mail"
"nnimap+gmail-throwaway:[Gmail]/Drafts"
"nnimap+gmail-throwaway:[Gmail]/Important")
("gmail-asu"
"nnimap+gmail-asu:INBOX"
"nnimap+gmail-asu:[Gmail]/Sent Mail"
"nnimap+gmail-asu:[Gmail]/Drafts"
"nnimap+gmail-asu:[Gmail]/Important")
("Gnus")))))
(setq gnus-posting-styles
'(("gmail-rosty"
(address "Rostyslav Hnatyshyn <rostyslav.hnatyshyn@gmail.com>")
("X-Message-SMTP-Method" "smtp smtp.gmail.com 587 rostyslav.hnatyshyn@gmail.com"))
("gmail-asu"
(address "Rostyslav Hnatyshyn<rhnatysh@asu.edu>")
("X-Message-SMTP-Method" "smtp smtp.gmail.com 587 rhnatysh@asu.edu"))
("gmail-throwaway"
(address "Frosty Snowman <throwawayfrosty@gmail.com>")
("X-Message-SMTP-Method" "smtp smtp.gmail.com 587 throwawayfrosty@gmail.com"))))