aboutsummaryrefslogtreecommitdiff
path: root/emacs
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <msabate@suse.com>2016-11-23 16:19:06 +0100
committerMiquel Sabaté Solà <msabate@suse.com>2016-11-23 16:19:06 +0100
commitcacceb69100ea84d0dccc873df1ff6f16df066c2 (patch)
tree55c61994c74f70d1aaa758e3c23ff5b3a47a432c /emacs
parent893fed9cfaaee85b27be247df3cbd21badc4b3b5 (diff)
downloaddotfiles-cacceb69100ea84d0dccc873df1ff6f16df066c2.tar.gz
dotfiles-cacceb69100ea84d0dccc873df1ff6f16df066c2.zip
emacs: more improvements in the mu4e config
Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
Diffstat (limited to 'emacs')
-rw-r--r--emacs/settings/init-lang.el10
-rw-r--r--emacs/settings/init-mu4e.el72
2 files changed, 39 insertions, 43 deletions
diff --git a/emacs/settings/init-lang.el b/emacs/settings/init-lang.el
index e53b969..3b2445d 100644
--- a/emacs/settings/init-lang.el
+++ b/emacs/settings/init-lang.el
@@ -31,9 +31,13 @@
(add-hook 'text-mode-hook (lambda () (flyspell-mode 1)))
;; Emacs Lisp mode
-(add-hook 'emacs-lisp-mode-hook 'eldoc-mode)
-(add-hook 'emacs-lisp-mode-hook 'warnings-mode-hook)
-(add-hook 'emacs-lisp-mode-hook #'rainbow-delimiters-mode)
+(add-hook 'emacs-lisp-mode-hook
+ (lambda ()
+ (eldoc-mode 1)
+ (warnings-mode-hook)
+ (rainbow-delimiters-mode 1)
+ ; https://github.com/jhenahan/emacs.d/blob/master/emacs-init.org#emacs-lisp
+ (setq mode-name "ξ")))
;; C-common (it includes languages with a similar syntax of C).
(add-hook 'c-mode-common-hook 'warnings-mode-hook)
diff --git a/emacs/settings/init-mu4e.el b/emacs/settings/init-mu4e.el
index bf4c515..7c70146 100644
--- a/emacs/settings/init-mu4e.el
+++ b/emacs/settings/init-mu4e.el
@@ -32,27 +32,18 @@
mu4e-maildir (expand-file-name "~/.mail")
starttls-use-gnutls t)
- (defun mssola-gmail-smtp ()
- (require 'smtpmail)
-
- (setq smtpmail-starttls-credentials
- '(("smtp.gmail.com" 587 nil nil))
- smtpmail-auth-credentials
- (expand-file-name "~/.authinfo.gpg")
- smtpmail-default-smtp-server "smtp.gmail.com"
- smtpmail-smtp-server "smtp.gmail.com"
- smtpmail-smtp-service 587))
+ (defun mssola-smtp (server port)
+ "Set SMTP variables depending on the given SERVER and PORT."
- (defun mssola-suse-smtp ()
(require 'smtpmail)
(setq smtpmail-starttls-credentials
- '(("smtp.novell.com" 25 nil nil))
+ '((server port nil nil))
smtpmail-auth-credentials
(expand-file-name "~/.authinfo.gpg")
- smtpmail-default-smtp-server "smtp.novell.com"
- smtpmail-smtp-server "smtp.novell.com"
- smtpmail-smtp-service 25))
+ smtpmail-default-smtp-server server
+ smtpmail-smtp-server server
+ smtpmail-smtp-service port))
;; Define the different accounts that I'm using. This is only available since
;; mu 0.9.16.
@@ -79,13 +70,12 @@
:name "gmail"
:enter-func (lambda ()
(mu4e-message "Switching to gmail.com")
- (mssola-gmail-smtp))
+ (mssola-smtp "smtp.gmail.com" 587))
:match-func (lambda (msg)
(when msg
(mu4e-message-maildir-matches msg "^/gmail")))
:vars '(
(user-mail-address . "mikisabate@gmail.com")
- (user-full-name . "Miquel Sabaté Solà")
(mu4e-reply-to-address . "mikisabate@gmail.com")
(mu4e-drafts-folder . "/gmail/Drafts")
(mu4e-sent-folder . "/gmail/Sent")
@@ -97,13 +87,12 @@
:name "comsuse"
:enter-func (lambda ()
(mu4e-message "Switching to suse.com")
- (mssola-suse-smtp))
+ (mssola-smtp "smtp.novell.com" 25))
:match-func (lambda (msg)
(when msg
(mu4e-message-maildir-matches msg "^/susecom")))
:vars `(
(user-mail-address . "msabate@suse.com")
- (user-full-name . "Miquel Sabaté Solà")
(mu4e-reply-to-address . "msabate@suse.com")
(mu4e-drafts-folder . "/susecom/Drafts")
(mu4e-sent-folder . "/susecom/Sent")
@@ -115,13 +104,12 @@
:name "desuse"
:enter-func (lambda ()
(mu4e-message "Switching to suse.de")
- (mssola-suse-smtp))
+ (mssola-smtp "imap.suse.de" 587))
:match-func (lambda (msg)
(when msg
(mu4e-message-maildir-matches msg "^/susede")))
:vars `(
(user-mail-address . "msabate@suse.de")
- (user-full-name . "Miquel Sabaté Solà")
(mu4e-reply-to-address . "msabate@suse.de")
(mu4e-drafts-folder . "/susede/Drafts")
(mu4e-sent-folder . "/susede/Sent")
@@ -175,15 +163,6 @@
mu4e-headers-include-related t
mu4e-headers-auto-update t)
- ;; Setting up shortcuts that can be composed with mu4e commands. For
- ;; example, in this setup, pressin `ji` will jump to the inbox, and `ma`
- ;; will move an email to the `All Mail` folder.
- (setq mu4e-maildir-shortcuts
- '( ("/INBOX" . ?i)
- ("/Sent" . ?s)
- ("/Trash" . ?t)
- ("/Drafts" . ?d)))
-
;; The headers to show in the headers list a pair of a field and its width,
;; with `nil' meaning 'unlimited' (better only use that for the last field.
;; These are the defaults:
@@ -221,19 +200,32 @@
(add-to-list 'mu4e-view-actions
'("xViewXWidget" . my-mu4e-action-view-with-xwidget) t)
- ; Spell check and format=flowed
- (add-hook 'mu4e-compose-mode-hook
- (lambda ()
- "My settings for message composition."
- (set-fill-column 80)
- (use-hard-newlines t 'guess)
- (flyspell-mode)))
+ ;; Addings hooks for composing and viewing messages.
+ (defun mssola-compose-mode ()
+ "My settings for message composition."
+
+ ; If we are composing an email from scratch, it's more convenient to be in
+ ; insert mode. Otherwise start with normal mode.
+ (with-eval-after-load 'evil
+ (if mu4e-compose-parent-message
+ (evil-set-initial-state 'mu4e-compose-mode 'normal)
+ (evil-set-initial-state 'mu4e-compose-mode 'insert)))
+
+ ; I want to write my messages inside of 80 characters, but receivers will
+ ; get a format=flow'ed version of it.
+ (set-fill-column 80)
+ (use-hard-newlines t 'guess)
+
+ ; Spellz
+ (flyspell-mode))
+
+ (add-hook 'mu4e-compose-mode-hook 'mssola-compose-mode)
+
+ ; I want to read messages in the format that the sender used.
(add-hook 'mu4e-view-mode-hook (lambda () (visual-line-mode 1)))
- ; Enter insert mode automatically when writing a new email.
- (with-eval-after-load 'evil
- (evil-set-initial-state 'mu4e-compose-mode 'insert))
+ ;; Helper packages.
; Desktop notifications
(use-package mu4e-alert