|
@@ -142,6 +142,11 @@
|
|
|
|
|
|
(evil-define-key 'normal package-menu-mode-map "q" 'quit-window)
|
|
|
|
|
|
+ (defun evil-passthrough-key (state mode key)
|
|
|
+ "Use the default binding for KEY in MODE, rather than the evil-mode binding, for STATE."
|
|
|
+ (evil-define-key state mode (kbd key) (evil-lookup-key mode (kbd key))))
|
|
|
+
|
|
|
+
|
|
|
:bind (:map evil-normal-state-map
|
|
|
("zs" . hscroll-cursor-left)
|
|
|
("ze" . hscroll-cursor-right)
|
|
@@ -691,6 +696,57 @@
|
|
|
:ensure t
|
|
|
:after yasnippet)
|
|
|
|
|
|
+(use-package gnus
|
|
|
+ :ensure t
|
|
|
+ :init
|
|
|
+ (add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
|
|
|
+ (add-hook 'gnus-startup-hook
|
|
|
+ '(lambda () (loop for mode in (list gnus-article-mode-map gnus-group-mode-map gnus-summary-mode-map)
|
|
|
+ do (loop for key in (list "RET" "G")
|
|
|
+ do (evil-passthrough-key 'motion mode key)))))
|
|
|
+
|
|
|
+ (add-hook 'gnus-startup-hook '(lambda () (gnus-demon-add-handler 'gnus-demon-scan-mail 5 1)))
|
|
|
+ :config
|
|
|
+ (setq gnus-select-method '(nntp "news.gmane.org"))
|
|
|
+ (setq gnus-thread-sort-functions '(gnus-thread-sort-by-most-recent-date gnus-thread-sort-by-most-recent-number))
|
|
|
+
|
|
|
+ (add-to-list 'gnus-secondary-select-methods
|
|
|
+ '(nnimap "gmail"
|
|
|
+ (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:[Gmail]/Trash")
|
|
|
+ (nnmail-expiry-wait 90)))
|
|
|
+ (add-to-list 'gnus-secondary-select-methods
|
|
|
+ '(nnimap "comcast"
|
|
|
+ (nnimap-address "imap.comcast.net")
|
|
|
+ (nnimap-server-port 993)
|
|
|
+ (nnimap-stream ssl)
|
|
|
+ (nnir-search-engine imap)
|
|
|
+ (nnmail-expiry-target "nnimap+comcast:Trash")
|
|
|
+ (nnmail-expiry-wait 90)))
|
|
|
+
|
|
|
+ (eval-after-load 'gnus-topic
|
|
|
+ '(progn
|
|
|
+ (setq gnus-message-archive-group '((format-time-string "sent.%Y")))
|
|
|
+ (setq gnus-topic-topology '(("Gnus" visible)
|
|
|
+ (("misc" visible))
|
|
|
+ (("comcast" visible nil nil))
|
|
|
+ (("gmail" visible nil nil))))
|
|
|
+ (gnus-topic-move-matching ".*comcast.*" "comcast")
|
|
|
+ (gnus-topic-move-matching ".*gmail.*" "gmail")
|
|
|
+ (gnus-topic-move-matching "gwene.*" "feeds")
|
|
|
+ (setq gnus-topic-alist (mapcar 'delete-dups gnus-topic-alist)))))
|
|
|
+
|
|
|
+(use-package gnus-desktop-notify
|
|
|
+ :ensure t
|
|
|
+ :after gnus
|
|
|
+ :config
|
|
|
+ (gnus-desktop-notify-mode))
|
|
|
+
|
|
|
|
|
|
;;;; Optional packages
|
|
|
|
|
@@ -942,6 +998,4 @@
|
|
|
:bind (:map dired-mode-map
|
|
|
("SPC" . nil)))
|
|
|
|
|
|
-
|
|
|
-
|
|
|
(provide 'packages)
|