Move mailing related packages from configuration.org to init.el
This commit is contained in:
parent
f1592e491a
commit
ae782630e5
@ -1,128 +1,3 @@
|
||||
* Mailing
|
||||
|
||||
** Set up whitespace handling in mu4e buffers
|
||||
|
||||
Due to my programming (and maybe a bit of OCD) needs, i set trailing whitespace
|
||||
to have a red background so it stands out *a lot*. However, many emails contain
|
||||
a lot of trailing whitespace which makes them really hard to read in Emacs.
|
||||
|
||||
The below snippet creates a trailing whitespace face specific to mu4e view
|
||||
buffers. The accompanying function will be added to ~mu4e-view-mode-hook~.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(copy-face 'trailing-whitespace 'trailing-whitespace-mu4e)
|
||||
(set-face-attribute 'trailing-whitespace-mu4e nil :background 'unspecified)
|
||||
|
||||
(defun gpolonkai/mu4e-trailing-whitespace-fix ()
|
||||
(set (make-local-variable 'face-remapping-alist)
|
||||
'((trailing-whitespace trailing-whitespace-mu4e))))
|
||||
#+end_src
|
||||
|
||||
** ~mu4e~
|
||||
|
||||
Now that’s out of the way, let’s configure mu4e itself.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package mu4e
|
||||
:after vertico
|
||||
:ensure nil
|
||||
:config
|
||||
(require 'org-mu4e)
|
||||
(setq mu4e-contexts
|
||||
`( ,(make-mu4e-context
|
||||
:name "polonkai.eu"
|
||||
:enter-func (lambda () (mu4e-message "Entering polonkai.eu Context"))
|
||||
:leave-func (lambda () (mu4e-message "Leaving polonkai.eu Context"))
|
||||
:match-func (lambda (msg)
|
||||
(when msg
|
||||
(mu4e-message-contact-field-matches
|
||||
msg
|
||||
:to "gergely@polonkai.eu")))
|
||||
:vars '((user-mail-address . "gergely@polonkai.eu")
|
||||
(mu4e-sent-folder . "/Polonkai/[Gmail].Sent Mail")
|
||||
(mu4e-drafts-folder . "/Polonkai/[Gmail].Drafts")
|
||||
(mu4e-trash-folder . "/Polonkai/[Gmail].Bin")
|
||||
(mu4e-refile-folder . "/Polonkai/[Gmail].Drafts")
|
||||
(message-sendmail-extra-arguments . ("--account=polonkai"))))
|
||||
,(make-mu4e-context
|
||||
:name "Benchmark.games"
|
||||
:enter-func (lambda () (mu4e-message "Entering Benchmark.games Context"))
|
||||
:leave-func (lambda () (mu4e-message "Leaving Benchmark.games Context"))
|
||||
:match-func (lambda (msg)
|
||||
(when msg
|
||||
(or
|
||||
(mu4e-message-contact-field-matches
|
||||
msg
|
||||
:to "gergo@gt2.io")
|
||||
(mu4e-message-contact-field-matches
|
||||
msg
|
||||
:to "gergo@benchmarked.games")
|
||||
(mu4e-message-contact-field-matches
|
||||
msg
|
||||
:to "gergo@benchmark.games"))))
|
||||
:vars '((user-mail-address . "gergely@benchmark.games")
|
||||
(mu4e-sent-folder . "/GT2/[Gmail].Sent Mail")
|
||||
(mu4e-drafts-folder . "/GT2/[Gmail].Drafts")
|
||||
(mu4e-trash-folder . "/GT2/[Gmail].Trash")
|
||||
(mu4e-refile-folder . "/GT2/[Gmail].Drafts")
|
||||
(message-sendmail-extra-arguments . ("--account=gt2"))))
|
||||
,(make-mu4e-context
|
||||
:name "Private"
|
||||
:enter-func (lambda () (mu4e-message "Entering Private Context"))
|
||||
:leave-func (lambda () (mu4e-message "Leaving Private Context"))
|
||||
:match-func (lambda (msg)
|
||||
(when msg
|
||||
(string-match-p "^/Private" (mu4e-message-field msg :maildir))))
|
||||
:vars '((user-mail-address . "me@gergely.polonkai.eu")
|
||||
(mu4e-sent-folder . "/Private/Sent")
|
||||
(mu4e-drafts-folder . "/Private/Drafts")
|
||||
(mu4e-trash-folder . "/Private/Trash")
|
||||
(mu4e-refile-folder . "/Private/Drafts")
|
||||
(message-sendmail-extra-arguments . ("--account=private" "--read-envelope-from")))))
|
||||
org-mu4e-link-query-in-headers-mode nil)
|
||||
:custom
|
||||
(mu4e-context-policy 'pick-first)
|
||||
(mu4e-confirm-quit nil)
|
||||
(mail-user-agent 'sendmail-user-agent)
|
||||
:hook
|
||||
(mu4e-view-mode . gpolonkai/mu4e-trailing-whitespace-fix)
|
||||
:bind
|
||||
(:map gpolonkai/pers-map
|
||||
("m m" . mu4e)
|
||||
("m i" . mu4e~headers-jump-to-maildir)
|
||||
("m c" . mu4e-compose-new)
|
||||
("m s" . mu4e-headers-search)))
|
||||
#+end_src
|
||||
|
||||
** ~sendmail~
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package sendmail
|
||||
:custom
|
||||
(sendmail-program "/usr/bin/msmtp")
|
||||
(message-sendmail-f-is-evil t)
|
||||
(message-sendmail-extra-arguments '("--read-envelope-from"))
|
||||
(send-mail-function 'sendmail-send-it)
|
||||
(message-send-mail-function 'message-send-mail-with-sendmail))
|
||||
#+end_src
|
||||
|
||||
** ~org-msg~ to write messages using Org-mode
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package org-msg
|
||||
:after mu4e
|
||||
:defer t
|
||||
:config
|
||||
(org-msg-mode)
|
||||
:custom
|
||||
(org-msg-supported-mua '((sendmail-user-agent . "mu4e")))
|
||||
(org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil")
|
||||
(org-msg-startup "hidestars indent inlineimages")
|
||||
(org-msg-greeting-fmt "\nHello,\n\n")
|
||||
(org-msg-greeting-fmt-mailto nil)
|
||||
(org-msg-signature "\n\nBest,\n\n,#+begin_signature\n-- *Gergely Polonkai* \\\\\n,#+end_signature"))
|
||||
#+end_src
|
||||
|
||||
* External packages to boost coding productivity
|
||||
|
||||
** ~electric-operator~ to automatically add spaces around operators
|
||||
|
109
init.el
109
init.el
@ -1428,6 +1428,115 @@ order."
|
||||
(:map dired-mode-map
|
||||
("K" . dired-k)))
|
||||
|
||||
;; Mailing
|
||||
|
||||
;; Due to my programming (and maybe a bit of OCD) needs, i set trailing
|
||||
;; whitespace to have a red background so it stands out *a lot*. However, many
|
||||
;; emails contain a lot of trailing whitespace which makes them really hard to
|
||||
;; read in Emacs.
|
||||
;;
|
||||
;; The below snippet creates a trailing whitespace face specific to mu4e view
|
||||
;; buffers. The accompanying function will be added to ~mu4e-view-mode-hook~.
|
||||
|
||||
(copy-face 'trailing-whitespace 'trailing-whitespace-mu4e)
|
||||
(set-face-attribute 'trailing-whitespace-mu4e nil :background 'unspecified)
|
||||
|
||||
(defun gpolonkai/mu4e-trailing-whitespace-fix ()
|
||||
"Change `trailing-whitespace' face for mu4e buffers."
|
||||
(set (make-local-variable 'face-remapping-alist)
|
||||
'((trailing-whitespace trailing-whitespace-mu4e))))
|
||||
|
||||
(use-package mu4e
|
||||
:after vertico
|
||||
:ensure nil
|
||||
:config
|
||||
(require 'org-mu4e)
|
||||
(setq mu4e-contexts
|
||||
`( ,(make-mu4e-context
|
||||
:name "polonkai.eu"
|
||||
:enter-func (lambda () (mu4e-message "Entering polonkai.eu Context"))
|
||||
:leave-func (lambda () (mu4e-message "Leaving polonkai.eu Context"))
|
||||
:match-func (lambda (msg)
|
||||
(when msg
|
||||
(mu4e-message-contact-field-matches
|
||||
msg
|
||||
:to "gergely@polonkai.eu")))
|
||||
:vars '((user-mail-address . "gergely@polonkai.eu")
|
||||
(mu4e-sent-folder . "/Polonkai/[Gmail].Sent Mail")
|
||||
(mu4e-drafts-folder . "/Polonkai/[Gmail].Drafts")
|
||||
(mu4e-trash-folder . "/Polonkai/[Gmail].Bin")
|
||||
(mu4e-refile-folder . "/Polonkai/[Gmail].Drafts")
|
||||
(message-sendmail-extra-arguments . ("--account=polonkai"))))
|
||||
,(make-mu4e-context
|
||||
:name "Benchmark.games"
|
||||
:enter-func (lambda () (mu4e-message "Entering Benchmark.games Context"))
|
||||
:leave-func (lambda () (mu4e-message "Leaving Benchmark.games Context"))
|
||||
:match-func (lambda (msg)
|
||||
(when msg
|
||||
(or
|
||||
(mu4e-message-contact-field-matches
|
||||
msg
|
||||
:to "gergo@gt2.io")
|
||||
(mu4e-message-contact-field-matches
|
||||
msg
|
||||
:to "gergo@benchmarked.games")
|
||||
(mu4e-message-contact-field-matches
|
||||
msg
|
||||
:to "gergo@benchmark.games"))))
|
||||
:vars '((user-mail-address . "gergely@benchmark.games")
|
||||
(mu4e-sent-folder . "/GT2/[Gmail].Sent Mail")
|
||||
(mu4e-drafts-folder . "/GT2/[Gmail].Drafts")
|
||||
(mu4e-trash-folder . "/GT2/[Gmail].Trash")
|
||||
(mu4e-refile-folder . "/GT2/[Gmail].Drafts")
|
||||
(message-sendmail-extra-arguments . ("--account=gt2"))))
|
||||
,(make-mu4e-context
|
||||
:name "Private"
|
||||
:enter-func (lambda () (mu4e-message "Entering Private Context"))
|
||||
:leave-func (lambda () (mu4e-message "Leaving Private Context"))
|
||||
:match-func (lambda (msg)
|
||||
(when msg
|
||||
(string-match-p "^/Private" (mu4e-message-field msg :maildir))))
|
||||
:vars '((user-mail-address . "me@gergely.polonkai.eu")
|
||||
(mu4e-sent-folder . "/Private/Sent")
|
||||
(mu4e-drafts-folder . "/Private/Drafts")
|
||||
(mu4e-trash-folder . "/Private/Trash")
|
||||
(mu4e-refile-folder . "/Private/Drafts")
|
||||
(message-sendmail-extra-arguments . ("--account=private" "--read-envelope-from")))))
|
||||
org-mu4e-link-query-in-headers-mode nil)
|
||||
:custom
|
||||
(mu4e-context-policy 'pick-first)
|
||||
(mu4e-confirm-quit nil)
|
||||
(mail-user-agent 'sendmail-user-agent)
|
||||
:hook
|
||||
(mu4e-view-mode . gpolonkai/mu4e-trailing-whitespace-fix)
|
||||
:bind
|
||||
(:map gpolonkai/pers-map
|
||||
("m m" . mu4e)
|
||||
("m i" . mu4e~headers-jump-to-maildir)
|
||||
("m c" . mu4e-compose-new)
|
||||
("m s" . mu4e-headers-search)))
|
||||
|
||||
(use-package sendmail
|
||||
:custom
|
||||
(sendmail-program "/usr/bin/msmtp")
|
||||
(message-sendmail-f-is-evil t)
|
||||
(message-sendmail-extra-arguments '("--read-envelope-from"))
|
||||
(send-mail-function 'sendmail-send-it)
|
||||
(message-send-mail-function 'message-send-mail-with-sendmail))
|
||||
|
||||
(use-package org-msg
|
||||
:after mu4e
|
||||
:defer t
|
||||
:config
|
||||
(org-msg-mode)
|
||||
:custom
|
||||
(org-msg-supported-mua '((sendmail-user-agent . "mu4e")))
|
||||
(org-msg-options "html-postamble:nil H:5 num:nil ^:{} toc:nil")
|
||||
(org-msg-startup "hidestars indent inlineimages")
|
||||
(org-msg-greeting-fmt "\nHello,\n\n")
|
||||
(org-msg-greeting-fmt-mailto nil)
|
||||
(org-msg-signature "\n\nBest,\n\n,#+begin_signature\n-- *Gergely Polonkai* \\\\\n,#+end_signature"))
|
||||
|
||||
;; I started moving my configuration to this Org file. It’s easier to document this way.
|
||||
(org-babel-load-file (expand-file-name "configuration.org" user-emacs-directory))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user