diff --git a/.emacs.d/lisp/init-exwm.el b/.emacs.d/lisp/init-exwm.el index ce3f2d79..26d60060 100644 --- a/.emacs.d/lisp/init-exwm.el +++ b/.emacs.d/lisp/init-exwm.el @@ -96,7 +96,10 @@ (exwm-input-set-key (kbd "s-A") #'emms))) (when (or (fboundp 'mu4e) (delq nil (mapcar (lambda (path) (string-match "/mu4e/\\|/mu4e$" path)) load-path))) - (exwm-input-set-key (kbd "s-m") #'ambrevar/mu4e-headers)) + (if (not (fboundp 'helm-mu4e-switch)) + (exwm-input-set-key (kbd "s-m") #'ambrevar/mu4e-headers) + (exwm-input-set-key (kbd "s-m") #'helm-mu4e-switch) + (exwm-input-set-key (kbd "s-M") #'helm-mu4e-switch-other-window))) (exwm-input-set-key (kbd "s-n") #'ambrevar/elfeed-switch-back) ; "n" for "news" (exwm-input-set-key (kbd "s-e") #'ambrevar/eww-switch-back) (exwm-input-set-key (kbd "s-E") #'eww) diff --git a/.emacs.d/lisp/init-mu4e.el b/.emacs.d/lisp/init-mu4e.el index a45fdbc0..eb16322b 100644 --- a/.emacs.d/lisp/init-mu4e.el +++ b/.emacs.d/lisp/init-mu4e.el @@ -352,6 +352,18 @@ If MSG is nil, use message at point." (interactive) (kill-new (mu4e-message-field (or msg (mu4e-message-at-point)) :message-id))) +(when (require 'patch-helm nil 'noerror) + (helm-defswitcher + "mu4e" + (lambda (b) + (with-current-buffer b + (or + (derived-mode-p 'mu4e-headers-mode) + (derived-mode-p 'mu4e-view-mode) + (when (require 'mu4e-conversation nil 'noerror) + (mu4e-conversation--buffer-p b))))) + ambrevar/mu4e-headers)) + (require 'patch-mu4e-account) (load "~/personal/mail/mu4e.el" t)