From 32b07003fb7b424e3d6d6c0599969183eebf9522 Mon Sep 17 00:00:00 2001 From: TEC Date: Mon, 5 Apr 2021 02:59:57 +0800 Subject: [PATCH] Mu4e: start using thread folding package It does what it says on the tin, and mu4e doesn't (currently) do this. --- modules/email/mu4e/config.el | 29 +++++++++++++++++++++++++++++ modules/email/mu4e/packages.el | 3 +++ 2 files changed, 32 insertions(+) diff --git a/modules/email/mu4e/config.el b/modules/email/mu4e/config.el index 1b80bbc69..6a316c518 100644 --- a/modules/email/mu4e/config.el +++ b/modules/email/mu4e/config.el @@ -214,6 +214,35 @@ (advice-add 'mu4e~start :around #'+mu4e-lock-start) (advice-add 'mu4e-quit :after #'+mu4e-lock-file-delete-maybe)) +(use-package! mu4e-thread-folding + :after mu4e + :config + (setq mu4e-thread-folding-root-folded-prefix-string (propertize "▶ " 'face 'shadow) + mu4e-thread-folding-root-unfolded-prefix-string (propertize "▼ " 'face 'shadow)) + (custom-set-faces! + '(mu4e-thread-folding-root-unfolded-face :weight bold :slant italic :inherit hl-line :extend t) + '(mu4e-thread-folding-child-face :inherit hl-line :extend t)) + (map! :map mu4e-headers-mode-map + :ne "" #'mu4e-headers-toggle-at-point + :ne "" #'mu4e-headers-fold-at-point + :ne "" #'mu4e-headers-fold-all + :ne "" #'mu4e-headers-unfold-at-point + :ne "" #'mu4e-headers-unfold-all) + + (when (featurep! :editor evil) + (defadvice! +mu4e-thread-folding-move-to-column-1-a (&rest _) + "Move the point to column 1. +When using evil, having the cursor at column 0 causes issues, +so we make sure that it's put a column 1 so everything works nicely." + :before #'mu4e-headers-toggle-at-point + :before #'mu4e-headers-fold-at-point + :before #'mu4e-headers-unfold-at-point + :before #'mu4e-headers-view-message + :before #'mu4e-compose-reply + :before #'mu4e-compose-forward + (unless (= (current-column) 1) + (move-to-column 1 t))))) + (unless (featurep! +org) (after! mu4e (defun org-msg-mode (&optional _) diff --git a/modules/email/mu4e/packages.el b/modules/email/mu4e/packages.el index e4ff3e8b4..f5da7da87 100644 --- a/modules/email/mu4e/packages.el +++ b/modules/email/mu4e/packages.el @@ -5,3 +5,6 @@ (package! org-msg :pin "89e746c0a864031eef940758230bc7263a6f2289")) (package! mu4e-alert :pin "91f0657c5b245a9de57aa38391221fb5d141d9bd") + +(package! mu4e-thread-folding :recipe (:host github :repo "rougier/mu4e-thread-folding") + :pin "56bb25a1addba4c6ed79c4e5d1a580d80cc698f2")