rougier / mu4e-thread-folding

Functions for folding threads in mu4e headers view
GNU General Public License v3.0
136 stars 12 forks source link

Autoload, default status, input lags #31

Open jaghili opened 9 months ago

jaghili commented 9 months ago

Dear Nicolas,

First, thanks a lot for this library !

I followed the readme file and added the small piece of code in my init but I am facing issues with it :

I pasted my configuration below.

Thanks a lot

;; Add mu4e to the load-path:
(add-to-list 'load-path "/usr/share/emacs/site-lisp/mu4e")
(require 'mu4e)
(setq mu4e-headers-list-mark      '("s" . " ")) ; mailing list
(setq mu4e-headers-personal-mark  '("p" . " ")) ; personal
(setq mu4e-headers-calendar-mark  '("c" . "🗓️")) ; calendar
(setq mu4e-headers-unread-mark    '("u" . "📩 "))
(setq mu4e-headers-draft-mark     '("D" . "🚧 "))
(setq mu4e-headers-flagged-mark   '("F" . "⭐ "))
(setq mu4e-headers-new-mark       '("N" . "🆕 "))
(setq mu4e-headers-passed-mark    '("P" . "↪ "))
(setq mu4e-headers-replied-mark   '("R" . "↩ "))
(setq mu4e-headers-seen-mark      '("S" . " "))
(setq mu4e-headers-trashed-mark   '("T" . "🗑️"))
(setq mu4e-headers-attach-mark    '("a" . "📎 "))
(setq mu4e-headers-encrypted-mark '("x" . "🔑 "))
;; (setq mu4e-headers-signed-mark    '("s" . "🖊 "))

;; mu4e Threads
(require 'mu4e-thread-folding)
(add-to-list 'mu4e-header-info-custom
             '(:empty . (:name "Empty"
                         :shortname ""
                         :function (lambda (msg) "  "))))
(setq mu4e-headers-fields '((:empty         .    2)
                            (:human-date    .   12)
                            (:flags         .    6)
                            (:mailing-list  .   10)
                            (:from          .   22)
                            (:subject       .   nil)))

(define-key mu4e-headers-mode-map (kbd "<tab>")     'mu4e-headers-toggle-at-point)
;; (define-key mu4e-headers-mode-map (kbd "<left>")    'mu4e-headers-fold-at-point)
;; (define-key mu4e-headers-mode-map (kbd "<S-left>")  'mu4e-headers-fold-all)
;; (define-key mu4e-headers-mode-map (kbd "<right>")   'mu4e-headers-unfold-at-point)
;; (define-key mu4e-headers-mode-map (kbd "<S-right>") 'mu4e-headers-unfold-all)

;; Boite
(setq
   user-mail-address "XXXXXX"
   user-full-name  "Joubine Aghili")
(setq mu4e-drafts-folder "XXXXXXXX")
(setq mu4e-sent-folder   "XXXXXXXX")
(setq mu4e-trash-folder  "XXXXXXXX")
(setq mu4e-get-mail-command "mbsync --config XXXXXXXXXXXX")

;; Further customization:
(setq mu4e-html2text-command "w3m -T text/html" ; how to hanfle html-formatted emails
      mu4e-update-interval 300                  ; seconds between each mail retrieval
      mu4e-headers-auto-update t                ; avoid to type `g' to update
      mu4e-view-show-images t                   ; show images in the view buffer
      mu4e-compose-signature-auto-include nil   ; I don't want a message signature
      mu4e-use-fancy-chars t                    ; allow fancy icons for mail threads
      mu4e-confirm-quit nil                     ; Don't ask to quit... just quit
      message-kill-buffer-on-exit t
      mu4e-compose-dont-reply-to-self t
)

;; SMTP settings:
(require 'smtpmail)
(use-package auth-source
  :ensure nil
  :custom
  (auth-sources '("XXXXXXXXXXXXXXXX")))

(setq smtpmail-smtp-user  "XXXXXXXXXXXXXX")
(setq smtpmail-smtp-server  "XXXXXXXXXXXXX") ; host running SMTP server
(setq smtpmail-smtp-service  587)               ; SMTP service port number
(setq smtpmail-stream-type 'starttls)          ; type of SMTP connections to use
(setq send-mail-function 'smtpmail-send-it)    ; should not be modified
(setq smtpmail-debug-verbose t)
(setq smtpmail-debug-info t)
(setq smtpmail-servers-requiring-authorization ".*")
rougier commented 9 months ago

I rewrote the folding code (see https://github.com/rougier/mu4e-thread) and it is now integrated with mu4e such that you don't even have to install it. The new version is much faster because it is done just in time (when you fold or unfold).