summaryrefslogtreecommitdiff
path: root/.gnus
blob: ec3b023ae3b704a08c610a4a72beb5497c746744 (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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
;; user-full-name: from /etc/passwd, chfn(1).
;; user-mail-address: from EMAIL variable, ~/.profile & ~/.xsessionrc.

;; In ~/.authinfo.gpg:
;;      machine imap.gmail.com login LOGIN password PASSWORD port 993
;;      machine smtp.gmail.com login LOGIN password PASSWORD port 587
;;      machine irc.freenode.net login LOGIN password PASSWORD

(setq gnus-select-method
      '(nnimap "gmail"
               (nnimap-address "imap.gmail.com")
               (nnimap-server-port 993)
               (nniamp-stream ssl)
               (nnmail-expiry-target "nnimap+gmail:[Gmail]/Trash")
               (nnmail-expiry-wait immediate))
      gnus-secondary-select-methods
      '((nntp "archive.lwn.net"))
      gnus-summary-line-format "%U%R [%-16,16&user-date;]%I%[%-23,23f%] %s\n"
      gnus-treat-display-smileys nil
      gnus-user-date-format-alist '(((gnus-seconds-today)
                                     . "%H:%M")
                                    ((+ 86400 (gnus-seconds-today))
                                     . "Yesterday %H:%M")
                                    (604800
                                     . "%a %H:%M")
                                    ((gnus-seconds-month)
                                     . "%a %d")
                                    ((gnus-seconds-year)
                                     . "%b %d")
                                    (t
                                     . "%F")))

(setq smtpmail-smtp-server "smtp.gmail.com"
      smtpmail-smtp-service 587)

;; Key bindings:
;;
;; When browsing group buffer:
;;
;; L            list all groups
;; RET          view unread mail in group
;; C-u RET      view all mail in group
;; g            refresh
;;
;; When browsing summary buffer:
;;
;; B m          move message to group
;; / N          fetch new
;; M-g          refresh (expire, move, fetch new, show unread)
;; C-u M-g      refresh (expire, move, fetch new, show all)
;; C-u g        show raw, undecoded message source; g to decode
;; T h          collapse (hide) thread
;; T s          expand (show) thread
;; r            reply
;; R            reply (quoting)
;; S w          reply-all
;; S W          reply-all (quoting)
;; C-c C-f      forward
;; d            mark read
;; M-u          clear marks (≡ mark unread)
;; E            expire
;; #            mark for next action
;; M-#, M P u   unmark for next action
;;
;;      In draft summary buffer:
;;
;;      D e     edit draft
;;
;; Both:
;;
;; m            compose
;;
;; When reading article:
;;
;; o            save attachment at point
;;
;; When composing:
;; C-c C-c      send
;; C-c C-a      attach
;; C-c C-f s    change the subject (append "was:")
;;
;; FAQ:
;;
;; - how to see *all mails*, not just unread?
;;      - C-u RET
;;
;; - how to delete mail?
;;      - E to mark as expired
;;      - C-u M-g to refresh
;;
;; - how to list most-recent mails on top?
;;      - cf. gnus-thread-sort-functions
;;
;; - how to close a mail without going back to the group list?
;;      - = to make summary full-screen
;;
;; - how to get contact completion?
;;      - by installing a MELPA plugin (bbdb); bleh
;;      - something something ecomplete?
;;
;; - how to refresh?
;;      - summary buffer:
;;          - / N (fetch new)
;;          - M-g (expire, move, fetch & redisplay)
;;      - group buffer: g
;;
;; - what do all those letters mean?
;;   (info gnus Marking Articles)
;;      - O     old ≡ read during previous session
;;      - R     just read
;;      - r     manually marked as read
;;      - A     answered
;;      - E     expirable
;;      - G     cancelled (e.g. moved somewhere else)
;;      - .     unseen
;;
;; - how to subscribe to mailing lists?
;;      - to browse an NNTP server, either
;;          - hit B in the group buffer, then nntp *some server*
;;          - or add (nntp "*some server*") to gnus-secondary-methods
;;      - over the list: u
;;
;; TODOs:
;;
;; - gnus-summary-line-format (📎 for attachments)
;;
;; - how to archive mailing list locally?
;;
;; - describe-key is mostly useless in article mode:
;;   > X runs the command gnus-article-read-summary-keys
;;
;; - detect possibly missing attachments from keywords