Updated mu4e-contexts to be more stable (in my private config)

This commit is contained in:
Emmet 2023-11-11 15:05:20 -06:00
parent 4db7ebb320
commit cdc2441721
2 changed files with 62 additions and 46 deletions

View file

@ -1204,18 +1204,28 @@ https://github.com/magit/magit/issues/460 (@cpitclaudel)."
;;;------ helpful configuration ------;;; ;;;------ helpful configuration ------;;;
(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.10.7") (add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.10.7")
(require 'mu4e-contrib) (require 'mu4e-contrib)
(setq mu4e-sent-folder "/Sent") (require 'mu4e-actions)
(setq mu4e-drafts-folder "/Drafts") (setq mu4e-sent-folder (lambda (msg) (concat "/" (nth 1 (split-string (mu4e-message-field msg :maildir) "/" )) "/Sent")))
(setq mu4e-trash-folder "/Trash") (setq mu4e-drafts-folder (lambda (msg) (concat "/" (nth 1 (split-string (mu4e-message-field msg :maildir) "/" )) "/Drafts")))
(setq mu4e-trash-folder (lambda (msg) (concat "/" (nth 1 (split-string (mu4e-message-field msg :maildir) "/" )) "/Trash")))
(setq mu4e-refile-folder (lambda (msg) (concat "/" (nth 1 (split-string (mu4e-message-field msg :maildir) "/" )) "/Archive")))
(setq mu4e-index-lazy-check t)
(setq mu4e-index-cleanup t)
(map! :map 'mu4e-main-mode-map :desc "Jump to maildir" :ge "J" #'mu4e-search-maildir) (map! :map 'mu4e-main-mode-map :desc "Jump to maildir" :ge "J" #'mu4e-search-maildir)
(map! :map 'mu4e-main-mode-map :desc "Next line" :ge "j" #'evil-next-visual-line) (map! :map 'mu4e-main-mode-map :desc "Next line" :ge "j" #'evil-next-visual-line)
(map! :map 'mu4e-main-mode-map :desc "Prev line" :ge "k" #'evil-previous-visual-line) (map! :map 'mu4e-main-mode-map :desc "Prev line" :ge "k" #'evil-previous-visual-line)
(map! :map 'mu4e-headers-mode-map :desc "Jump to maildir" :ge "J" #'mu4e-search-maildir) (map! :map 'mu4e-headers-mode-map :desc "Jump to maildir" :ge "J" #'mu4e-search-maildir)
(map! :map 'mu4e-headers-mode-map :desc "Next line" :ge "j" #'evil-next-visual-line) (map! :map 'mu4e-headers-mode-map :desc "Next line" :ge "j" #'evil-next-visual-line)
(map! :map 'mu4e-headers-mode-map :desc "Prev line" :ge "k" #'evil-previous-visual-line) (map! :map 'mu4e-headers-mode-map :desc "Prev line" :ge "k" #'evil-previous-visual-line)
(map! :map 'mu4e-headers-mode-map :desc "Update mail and index" :ge "U" #'mu4e-update-mail-and-index)
(map! :map 'mu4e-headers-mode-map :desc "Compose reply" :ge "r" #'mu4e-compose-reply)
(map! :map 'mu4e-headers-mode-map :desc "Archive message" :ge "e" #'mu4e-headers-mark-for-refile)
(map! :map 'mu4e-view-mode-map :desc "Jump to maildir" :ge "J" #'mu4e-search-maildir) (map! :map 'mu4e-view-mode-map :desc "Jump to maildir" :ge "J" #'mu4e-search-maildir)
(map! :map 'mu4e-view-mode-map :desc "Next line" :ge "j" #'evil-next-visual-line) (map! :map 'mu4e-view-mode-map :desc "Next line" :ge "j" #'evil-next-visual-line)
(map! :map 'mu4e-view-mode-map :desc "Prev line" :ge "k" #'evil-previous-visual-line) (map! :map 'mu4e-view-mode-map :desc "Prev line" :ge "k" #'evil-previous-visual-line)
(map! :map 'mu4e-view-mode-map :desc "Update mail and index" :ge "U" #'mu4e-update-mail-and-index)
(map! :map 'mu4e-view-mode-map :desc "Compose reply" :ge "r" #'mu4e-compose-reply)
(map! :map 'mu4e-headers-mode-map :desc "Archive message" :ge "e" #'mu4e-view-mark-for-refile)
(setq mu4e-headers-fields (setq mu4e-headers-fields
'((:account-stripe . 1) '((:account-stripe . 1)
(:human-date . 12) (:human-date . 12)
@ -1224,26 +1234,24 @@ https://github.com/magit/magit/issues/460 (@cpitclaudel)."
(:from-or-to . 20) (:from-or-to . 20)
(:subject))) (:subject)))
(defun my-make-mu4e-context (context-name address catch-address full-name organization-name signature org-roam-db) ;; TODO fix my make-mu4e-context wrapper
(make-mu4e-context ;;(defun my-make-mu4e-context (context-name address catch-address full-name organization-name signature org-roam-db)
:name context-name ;; (make-mu4e-context
:enter-func (lambda () (mu4e-message (concat "Entering " context-name " context")) ;; :name context-name
(org-roam-switch-db org-roam-db t) ;; :enter-func `(lambda () ,(mu4e-message (concat "Entering " context-name " context"))
(setq user-mail-address address) ;; (org-roam-switch-db org-roam-db t)
(setq user-full-name full-name) ;; ,(setq user-mail-address address)
(setq message-user-organization organization-name) ;; ,(setq user-full-name full-name)
(setq mu4e-maildir (concat "~/.mail/" address)) ;; ,(setq message-user-organization organization-name)
(setq mu4e-drafts-folder (concat "/" user-mail-address "/Drafts")) ;; ,(setq mu4e-maildir (concat "~/.mail/" address))
(setq mu4e-sent-folder (concat "/" user-mail-address "/Sent")) ;; ,(setq mu4e-compose-signature signature)
(setq mu4e-trash-folder (concat "/" user-mail-address "/Trash")) ;; )
(setq mu4e-compose-signature signature) ;; :leave-func `(lambda () ,(mu4e-message (concat "Leaving " context-name " context")))
) ;; ;; we match based on the contact-fields of the message
:leave-func (lambda () (mu4e-message (concat "Leaving " context-name " context"))) ;; :match-func `(lambda (msg)
;; we match based on the contact-fields of the message ;; (when msg
:match-func (lambda (msg) ;; (mu4e-message-contact-field-matches msg
(when msg ;; :to ,catch-address)))))
(mu4e-message-contact-field-matches msg
:to catch-address)))))
(if (file-exists-p "~/.emacs.d/mu4e-private.el") (load! "~/.emacs.d/mu4e-private.el")) (if (file-exists-p "~/.emacs.d/mu4e-private.el") (load! "~/.emacs.d/mu4e-private.el"))
;;(setq mu4e-contexts ;;(setq mu4e-contexts

View file

@ -1425,18 +1425,28 @@ I don't have this active right now since it's kinda weird with pgtk...
;;;------ helpful configuration ------;;; ;;;------ helpful configuration ------;;;
(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.10.7") (add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.10.7")
(require 'mu4e-contrib) (require 'mu4e-contrib)
(setq mu4e-sent-folder "/Sent") (require 'mu4e-actions)
(setq mu4e-drafts-folder "/Drafts") (setq mu4e-sent-folder (lambda (msg) (concat "/" (nth 1 (split-string (mu4e-message-field msg :maildir) "/" )) "/Sent")))
(setq mu4e-trash-folder "/Trash") (setq mu4e-drafts-folder (lambda (msg) (concat "/" (nth 1 (split-string (mu4e-message-field msg :maildir) "/" )) "/Drafts")))
(setq mu4e-trash-folder (lambda (msg) (concat "/" (nth 1 (split-string (mu4e-message-field msg :maildir) "/" )) "/Trash")))
(setq mu4e-refile-folder (lambda (msg) (concat "/" (nth 1 (split-string (mu4e-message-field msg :maildir) "/" )) "/Archive")))
(setq mu4e-index-lazy-check t)
(setq mu4e-index-cleanup t)
(map! :map 'mu4e-main-mode-map :desc "Jump to maildir" :ge "J" #'mu4e-search-maildir) (map! :map 'mu4e-main-mode-map :desc "Jump to maildir" :ge "J" #'mu4e-search-maildir)
(map! :map 'mu4e-main-mode-map :desc "Next line" :ge "j" #'evil-next-visual-line) (map! :map 'mu4e-main-mode-map :desc "Next line" :ge "j" #'evil-next-visual-line)
(map! :map 'mu4e-main-mode-map :desc "Prev line" :ge "k" #'evil-previous-visual-line) (map! :map 'mu4e-main-mode-map :desc "Prev line" :ge "k" #'evil-previous-visual-line)
(map! :map 'mu4e-headers-mode-map :desc "Jump to maildir" :ge "J" #'mu4e-search-maildir) (map! :map 'mu4e-headers-mode-map :desc "Jump to maildir" :ge "J" #'mu4e-search-maildir)
(map! :map 'mu4e-headers-mode-map :desc "Next line" :ge "j" #'evil-next-visual-line) (map! :map 'mu4e-headers-mode-map :desc "Next line" :ge "j" #'evil-next-visual-line)
(map! :map 'mu4e-headers-mode-map :desc "Prev line" :ge "k" #'evil-previous-visual-line) (map! :map 'mu4e-headers-mode-map :desc "Prev line" :ge "k" #'evil-previous-visual-line)
(map! :map 'mu4e-headers-mode-map :desc "Update mail and index" :ge "U" #'mu4e-update-mail-and-index)
(map! :map 'mu4e-headers-mode-map :desc "Compose reply" :ge "r" #'mu4e-compose-reply)
(map! :map 'mu4e-headers-mode-map :desc "Archive message" :ge "e" #'mu4e-headers-mark-for-refile)
(map! :map 'mu4e-view-mode-map :desc "Jump to maildir" :ge "J" #'mu4e-search-maildir) (map! :map 'mu4e-view-mode-map :desc "Jump to maildir" :ge "J" #'mu4e-search-maildir)
(map! :map 'mu4e-view-mode-map :desc "Next line" :ge "j" #'evil-next-visual-line) (map! :map 'mu4e-view-mode-map :desc "Next line" :ge "j" #'evil-next-visual-line)
(map! :map 'mu4e-view-mode-map :desc "Prev line" :ge "k" #'evil-previous-visual-line) (map! :map 'mu4e-view-mode-map :desc "Prev line" :ge "k" #'evil-previous-visual-line)
(map! :map 'mu4e-view-mode-map :desc "Update mail and index" :ge "U" #'mu4e-update-mail-and-index)
(map! :map 'mu4e-view-mode-map :desc "Compose reply" :ge "r" #'mu4e-compose-reply)
(map! :map 'mu4e-headers-mode-map :desc "Archive message" :ge "e" #'mu4e-view-mark-for-refile)
(setq mu4e-headers-fields (setq mu4e-headers-fields
'((:account-stripe . 1) '((:account-stripe . 1)
(:human-date . 12) (:human-date . 12)
@ -1445,26 +1455,24 @@ I don't have this active right now since it's kinda weird with pgtk...
(:from-or-to . 20) (:from-or-to . 20)
(:subject))) (:subject)))
(defun my-make-mu4e-context (context-name address catch-address full-name organization-name signature org-roam-db) ;; TODO fix my make-mu4e-context wrapper
(make-mu4e-context ;;(defun my-make-mu4e-context (context-name address catch-address full-name organization-name signature org-roam-db)
:name context-name ;; (make-mu4e-context
:enter-func (lambda () (mu4e-message (concat "Entering " context-name " context")) ;; :name context-name
(org-roam-switch-db org-roam-db t) ;; :enter-func `(lambda () ,(mu4e-message (concat "Entering " context-name " context"))
(setq user-mail-address address) ;; (org-roam-switch-db org-roam-db t)
(setq user-full-name full-name) ;; ,(setq user-mail-address address)
(setq message-user-organization organization-name) ;; ,(setq user-full-name full-name)
(setq mu4e-maildir (concat "~/.mail/" address)) ;; ,(setq message-user-organization organization-name)
(setq mu4e-drafts-folder (concat "/" user-mail-address "/Drafts")) ;; ,(setq mu4e-maildir (concat "~/.mail/" address))
(setq mu4e-sent-folder (concat "/" user-mail-address "/Sent")) ;; ,(setq mu4e-compose-signature signature)
(setq mu4e-trash-folder (concat "/" user-mail-address "/Trash")) ;; )
(setq mu4e-compose-signature signature) ;; :leave-func `(lambda () ,(mu4e-message (concat "Leaving " context-name " context")))
) ;; ;; we match based on the contact-fields of the message
:leave-func (lambda () (mu4e-message (concat "Leaving " context-name " context"))) ;; :match-func `(lambda (msg)
;; we match based on the contact-fields of the message ;; (when msg
:match-func (lambda (msg) ;; (mu4e-message-contact-field-matches msg
(when msg ;; :to ,catch-address)))))
(mu4e-message-contact-field-matches msg
:to catch-address)))))
(if (file-exists-p "~/.emacs.d/mu4e-private.el") (load! "~/.emacs.d/mu4e-private.el")) (if (file-exists-p "~/.emacs.d/mu4e-private.el") (load! "~/.emacs.d/mu4e-private.el"))
;;(setq mu4e-contexts ;;(setq mu4e-contexts